1 소개
회귀 분석 과정을 다음 세 단계로 간단하게 정리할 수 있습니다.- 훈련 데이터 세트 (x, y)를 준비합니다. 여기서 x는 독립 변수, y는 종속 변수입니다.
- 훈련 데이터 세트를 표현할 수 있는 모델을 만들고 가장 근접한 결과를 보여 주는 파라미터를 찾습니다.
- 새로운 데이터의 x값이 주어질 때 앞에서 얻은 모델을 사용하여 y값을 예측합니다.
이 문서를 작성하면서 사용하는 주요 용어들은 다음과 같습니다.
- hypothesis - 모델을 나타내는 함수 식
- feature - 독립 변수 x의 개별 요소
- cost function - 훈련 데이터 세트의 종속 변수 y와 모델의 예측값의 차이를 나타내는 함수 식
2 일변량 선형 회귀
2.1 Hypothesis와 cost function
훈련 데이터의 feature가 한 개일 때 hypothesis는 다음과 같이 표현할 수 있습니다.hθ(x)=θ0+θ1x1
위의 식에서 x는 데이터의 feature들이고 θ는 찾고자 하는 파라미터들입니다. x0=1라고 하면 위의 식을 다음과 같은 형태로 표현할 수 있습니다.
hθ(x)=xT⋅θ
x=(x0,x1),θ=(θ0,θ1)
데이터의 개수가 m일 때 cost function은 다음과 같이 표현할 수 있습니다. y는 데이터의 결과값이고 (i)는 i번째 데이터임을 의미합니다.
J(θ)=12m∑mi=1(hθ(x(i))−y(i))2
hypothesis를 대입하여 위 식을 전개하면 cost function은 각각의 파라미터에 대하여 아래로 볼록한 2차 함수가 됩니다.
J(θ)=12m∑mi=1(θ20+θ21x(i)21+y(i)2+2θ0θ1x(i)1−2θ1x(i)1y(i)−2y(i)θ0)
이 cost function이 최소값을 가지도록 하는 파라미터 θ를 찾는 방법은 3 다변량 선형 회귀 단원에서 다루겠습니다.
3 다변량 선형 회귀
3.1 Hypothesis와 cost function
훈련 데이터의 feature가 n개일 때 hypothesis는 다음과 같이 표현할 수 있습니다. x는 데이터의 feature들이고 θ는 찾고자 하는 파라미터들입니다.hθ(x)=θ0+θ1x1+θ2x2+⋯+θnxn
데이터의 개수가 m일 때 cost function은 다음과 같이 표현할 수 있습니다. y는 데이터의 결과값이고 (i)는 i번째 데이터임을 의미합니다.
J(θ)=12m∑mi=1(hθ(x(i))−y(i))2
3.2 Gradient descent
cost function의 편미분을 사용하여 cost를 최소화하는 파라미터 θ를 찾을 수 있습니다. 다음은 gradient descent 방식을 나타내는 알고리즘입니다.repeat{θj:=θj−α∂J(θ)∂θj}
∂J(θ)∂θj=1m∑mi=1(hθ(x(i))−y(i))xj(i)
위의 식에서 α는 학습률(learning rate)입니다.
3.3 방정식의 해
아래로 볼록한 함수의 경우 기울기가 0일 때 최소값을 가지므로 다음 방정식을 풀어서 cost를 최소가 되게 하는 θ를 구할 수도 있습니다.∂J(θ)∂θj=1m∑mi=1(hθ(x(i))−y(i))xj(i)=0
위 방정식을 θ에 대해서 풀면 아래의 결과를 얻습니다.
θ=(XT⋅X)−1⋅XT⋅y
여기서 X와 y는 다음과 같습니다.
X=[x(1)0x(1)1x(1)2⋯x(2)0x(2)1x(2)2⋯x(3)0x(3)1x(3)2⋯⋮⋮⋮⋱],y=[y(1)y(2)y(3)⋮]
하지만 이 방식은 몇 가지 단점을 가지고 있습니다.
- 행렬 XT⋅X에 대한 역행렬이 존재하지 않을 수도 있습니다.
- n이 커짐에 따라 계산 비용이 gradient descent 방식보다 빠른 속도로 증가합니다.
Written with StackEdit.
댓글 없음:
댓글 쓰기