새소식

Data theory/데이터마이닝

[데이터마이닝] 선형회귀분석

  • -

들어가기 전 기계학습의 진짜진짜 간단한 구성 요소부터 알아봅시다

알고 있다면 넘겨도 무관

더보기

Input x (in 다변량 데이터, 독립변수/예측변수/입력변수...)

Output y (in 다변량 데이터, 종속변수/반응변수/출력변수...)

Target function f:x->y (ideal function)

Hypothesis g:x->y (machine learning model)

기계학습의 목표! g = f로 만드는 것

 

기계학습 성능 향상을 위한 조건

(1) 많은 데이터 (2) 질적으로 좋은 데이터 (3) 올바른 머신러닝 알고리즘 선택 (4) 속성과 파라미터의 선택

 

1. 선형회귀모델(Linear Regression Model)

모델: $h_\theta(x) = \theta_0+\theta_1x$

모수: $\theta_0(y절편),\; \theta_1(기울기)$

비용 함수: $J(\theta_0,\theta-1)=\frac{1}{2m}\sum_{i=1}^{m}(h_\theta(x^{(i)})-y^{(i)})^2$

목표: 비용함수를 최소화하는 $\theta_0, \theta_1$를 찾는 것!

 

모수 추정 방법

(1) 경사하강법(Gradient Descent Algorithm)

알고리즘은 아래와 같으며 $\theta$값이 변하지 않을 때까지 아래 과정을 반복한다.

$$\theta_j = \theta_i - \alpha\frac{\partial }{\partial \theta_i}J(\theta_0,\theta_1)$$

이때 $\alpha=$learning rate, 임의로 지정

더보기

$\alpha$가 큰 경우: 오버슈팅

$\alpha$가 작은 경우: 많은 시도가 필요함, global이 아닌 local로 수렴할 가능성

 

용어 설명

회귀분석: 대표적인 지도학습 알고리즘. 관측된 데이터를 통해 독립변수와 종속변수 사이의 숨어있는 관계를 추정하는 것

선형 회귀: $y=f(x)$에서 입력 $x$에 대응하는 실수 $y$와 추정치 $f(x)$의 오차를 측정, 이 오차를 최소화하는 방향으로 함수의 모수를 최적화하는 일

가설: 데이터에 숨겨진 관계를 표현, 독립변수에 대해 종속 변수가 어떤 값을 가질지 예측하는 함수 (좋은 가설은 오차가 작은 가설)

레이블: 데이터에 제시된 목표값

특징: 관찰되는 현상에서 측정할 수 있는 개별적인 속성

 

선형회귀모델

정의: 출력변수 $Y$를 $X$들의 선형결합으로 표현한 모델

$$Y=\beta_0+\beta_1X_1+\beta_2X_2+...+\beta_pX_p$$

$$단순선형회귀분석: Y=\beta_0+\beta_1X$$

$y=\beta_0+\beta_1x+ \varepsilon$에서 $\beta_0+\beta_1x$는 $x$로부터 설명되는 부분이며 $\varepsilon$은 설명되지 않는 부분이다.

이때 $\varepsilon$은 확률오차이며 $\varepsilon_i$~$N(0,\sigma^2)$ (for all $i=1,2...,n$)이라는 가정을 해야 한다.

위 가정에 의하여 다음 식이 성립한다.

$$E(Y_i)=E(\beta_0+\beta_1X_i)+E(\varepsilon)=\beta_0+\beta_1X_i$$

$$V(Y_i)=V(\beta_0+\beta_1X_i)+V(\varepsilon)=\sigma^2$$

$$Y_i\sim N(\beta_0+\beta_1X_i,\sigma^2), i=1,2,...n$$

 

2. 파라미터 추정

$d_i$를 함수와 관측값 사이의 거리라고 하면 다음이 성립한다.

$$d_1+d_2+...+d_n=0$$ $$d_i^2+d_2^2+...+d_n^2 \geq 0$$ $$d_1=Y_1-E(Y_1)=Y_1-(\beta_0+\beta_1X_1)$$

$$\sum_{i=1}^{n}d_i^2=\sum_{i=1}^{n}\left\{Y_i-(\beta_0+\beta_1X_i)\right\}^2 $$ $$min_{\beta_0,\beta_1} \sum_{i=1}^{n}\left\{Y_i-(\beta_0+\beta_1X_i)\right\}^2$$

이때 $\left\{Y_i-(\beta_0+\beta_1X_i)\right\}^2$는 비용함수(Cost function)라고 한다.

파라미터 추정을 위해 비용함수를 편미분한다.

$$\frac{\partial C(\beta_0,\beta_1)}{\partial \beta_0}=-2\sum_{i=1}^{n}Y_i-(\beta_0+\beta_1X_i)=0$$

$$\frac{\partial C(\beta_0,\beta_1)}{\partial \beta_1}=-2\sum_{i=1}^{n}Y_i-(\beta_0+\beta_1X_i)X_i=0$$

$$\hat\beta_0=\overline{Y}=\hat\beta_1\overline X$$

$$\hat\beta_1=\frac{\sum_{i=1}^{n}(X_i-\overline X)(Y_i-\overline Y)}{\sum_{i=1}^{n}(X_i-\overline X)^2}$$

$$\therefore f(X)=\hat Y=\hat\beta_0+\hat\beta_1X$$

위 알고리즘을 따라 모수를 추정한다.

잔차 $e$는 확률오차 $\varepsilon$이 실제로 구현된 값이다.

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.