선형 회귀의 파라미터 추정

다음 데이터를 살펴보자.

위 그림에 파란 점으로 표시한 데이터는 $y = ax + b$ 의 형태로 분포한 것으로 보인다. 따라서 그렇게 모형을 정해보자.

다음 단계는 $a, b$ 를 추정하는 것이다. 그런데 어떻게하면 데이터만 주고 $a, b$를 자동으로 찾도록 프로그래밍 할 수 있을까?

앞서 Tom Mitchell 의 머신러닝 정의에서, 머신 러닝은 데이터가 주어졌을 때 성능 기준 $P$를 최적화하도록 동작한다고 했다. 머신 러닝의 최적화 소프트웨어들은 최적화 목표 (optimization objectives) 를 정한 뒤 그 값이 최소화 되도록 모델의 파라미터 (이 예에서는 $a, b$)를 찾는다. 이들 소프트웨어들은 보통 값을 "최소화"를 하도록 동작한다. 만약 최대화가 필요한 경우라면 최적화 목표 함수가 $g$라 할 때, $-g$를 최소화하는 방식으로 파라미터를 찾으면 된다.

보통 선형 회귀는 $x$ 대한 모델이 내놓은 예측값을 $\hat{y}$, 데이터에 있는 실제 값을 $y$라 할 때 최적화 목표 $(y-\hat{y})^2$을 사용해 파라미터를 추정한다. 보다 정확하게 표현하기 위해 주어진 데이터가 $(x_1, y_1)$, $(x_2, y_2)$, $\cdots$, $(x_n, y_n)$이라 하자. 선형회귀는 다음 식을 최소화 하는 $a, b$를 찾는다.

\[ \sum_{i=0}^{i=n}(y_i - \hat{y_i})^2 \]

그리고 이 식을 SSE (Sum of Sqaured Error) 라고 부른다.

왜 많은 가능한 방법중에 SSE를 사용할까? 여기서는 그 이유중 직관적으로 받아들이기 쉽고 중요한 몇가지 이유를 살펴보자.

Last change: 2024-01-13