이번 장에서는 몇가지 고전적이지만 중요한 선형 방법을 소개한다.
기본 형식
f(x)=w1x1+w2x2+⋯+wdxd+b f(x)=wTx+b 선형 모델은 형식이 매우 간단하고 모델을 만들기 쉽지만, 머신러닝의 중요한 기본 사상을 담고 있다.
수많은 강력한 성능을 가진 비선형 모델들은 선형 모델을 기반으로 하여 층을 쌓아 올리거나 고차원으로 투영하여 만들기 때문이다.
선형 모델의 w는 예측에 있어서 각 속성의 중요성을 직관적으로 드러내는데, 이를 해석력이 뛰어나다고 표현한다.
선형 회귀
선형 회귀는 데이터를 선형으로 예측하는 것을 목표로 하는 모델이다. 여기서
데이터 세트:D={(x1,y1),(x2,y2),...,(xm,ym)}; xi,yi∈R
로 정의한다.
먼저 입력 속성이 하나뿐인 가장 간단한 상황을 고려해보자. 선형 회귀는 다음과 같은 함수를 학습한다.
f(xi)=wxi+b을 통해 f(xi)≃yi을 얻는다. 위 식에서 w와 b는 f(x)와 y를 어떻게 측정하느냐에 따라 달렸다. 이전 장에서 소개했듯이, 평균 제곱 오차를 사용할 수 있다.
(w,b)=(w,b)argmini=1∑m(f(xi)−yi)2=(w,b)argmini=1∑m(yi−wxi−b)2
이를 만족하는 w, b는
∂w∂E(w,b)∂b∂E(w,b)=2(wi=1∑mxi2−i=1∑m(yi−b)xi),=2(mb−i=1∑m(yi−wxi)), 으로부터 좌항을 0으로 만들어
w=∑i=1mxi2−m1(∑i=1mxi)2∑i=1myi(xi−xˉ),b=m1i=1∑m(yi−wxi), 인 w, b를 찾는 다는 의미다. (여기서 xˉ=m1∑i=1mxi이다)
이러한 방식을 최소제곱법이라고 부른다.
선형 회귀에서 최소제곱법은 샘플과 유클리드 거리의 합이 최소가 되는 직선을 찾는 것을 목표로 한다.
일반적으로는 d개의 속성을 가진 샘플 데이터 세트 D에 대해 학습시키는 것인데, 이 경우
f(xi)=wTxi+b을 통해f(xi)∼yi을 얻는다. 이를 다항 선형 회귀라 하고 비슷하게 최소제곱법을 이용하여 w와 b를 추정할 수 있다. 다음처럼 정의하자.
그러면,
w^∗=argw^min(y−Xw^)⊤(y−Xw^) 이고, 오차는 다음처럼 정의된다.
Ew^=(y−Xw^)T(y−Xw^) 여기서 최적의 w,b 행렬은 다음의 식을 이용해야 한다.
∂w^∂Ew^=2XT(Xw^−y) 위 식이 단순히 0이 되도록 설정하면 최적 해의 닫힌 해를 구할 수 있다. 하지만 역행렬을 계산해야 하므로 단일 변수일 때보다 많이 복잡하다.
XTX가 full-rank matrix이거나 positive definite matrix일 때 위 식을 0으로 만들어 다음과 같이 계산할 수 있다.
w^∗=(XTX)−1XTy
정사각 행렬인 경우 full-rank matrix가 존재한다는 말은 역행렬이 존재한다는 의미이다. 또한 full-rank인 경우여야 피처간 종속성이 사라지기 때문에 학습에 중요한 역할을 할 수 있다.
정치 행렬인 경우여야 space에서 아래로 볼록한 형상이 된다.
[정치행렬인 경우여야 f’’(x) > 0인 아래로 볼록한 ...