들어가기 전 기계학습의 진짜진짜 간단한 구성 요소부터 알아봅시다
알고 있다면 넘겨도 무관
더보기
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$이 실제로 구현된 값이다.