본문 바로가기
CS/머신러닝

선형 회귀 - 최소제곱법

by jaehoonChoi 2022. 11. 27.

회귀에서 대표적인 손실함수에는 오차제곱평균(MSE)이 있습니다.

$$ y=\frac{\sum_{i=1}^{N}(y_i-\widehat{y_i})^2}{N} $$

회귀(regression) 의 최적화 방법 중 최소제곱법에 대해 알아보겠습니다.

최소제곱법(lest square method)은 주로 단순 선형 회귀(모델이 일차함수)인 경우 활용됩니다.

단순 선형 회귀에서 MSE는 이차함수가 됩니다. 이 때 우리가 구할 것은 예측모델 \(y=ax+b\) 에서

\(a\)와 \(b\) 값입니다. MSE함수를 \(f\)라고 하면, 계수가 양수인 이차함수에서 최솟값을 가지므로

$$ \frac{\partial f}{\partial a}=0 ,  \frac{\partial f}{\partial b}=0 $$

가 성립합니다. 

\( f=\frac{1}{N}\sum (y_i-(ax_i+b))^2 \)  이라 하면, 

$$  \frac{\partial f}{\partial a} = \frac{2}{N}\sum (a{x_i}^2+bx_i-2x_iy_i) = 0  $$ 

$$ \frac{\partial f}{\partial b} = \frac{2}{N}\sum (b+ax_i-y_i) = 0 $$

 

가 성립하므로,

$$ a^*=\frac{\sum (x-\overline{x})(y-\overline{y})}{\sum (x-\overline{x})^2} ,  b^*=\overline{y}-a^*\overline{x}   $$  

임을 알 수 있습니다.

최소제곱법은 한번에 정확한 값을 구할 수 있지만 그 값을 유도하기 까지 과정이 복잡합니다.

복잡한 함수의 경우 경사하강법이라는 방법을 통해 손실함수를 최소화하는 방향으로

파라미터를 업데이트해줄 수 있습니다. 

 

 

'CS > 머신러닝' 카테고리의 다른 글

혼자 공부하는 머신러닝 + 딥러닝 - Ch1  (0) 2023.01.04
로지스틱 회귀  (0) 2022.12.20
선형 회귀 - 경사 하강법  (0) 2022.12.02
회귀와 분류  (0) 2022.11.26
머신 러닝과 딥러닝  (0) 2022.11.26

댓글