[general] 2. 모델 학습Howcanwetrainamodel?Howcanwetrainamodel?

2021. 7. 11. 16:41Machine Learning/General

이전 글에서 머신러닝이 무엇이고, 어떻게 분류할 수 있는지에 대해 알아보았습니다.

이번 글에서는 머신러닝 모델의 학습을 어떻게 수학적으로 나타낼 수 있는지 알아보겠습니다.


우리가 예측하기를 원하는 종속변수$Y$$Y$pp개의 다른 설명변수 X1X1, X2X2,... , XpXp가 관찰된다고 해보겠습니다. YYX=(X1, X2, ..., Xp)X=(X1, X2, ..., Xp) 사이에 어떤 상관관계가 있다고 가정하면, 다음과 같은 일반적인 형태로 나타낼 수 있습니다.

Y=f(X)+ϵY=f(X)+ϵ 여기서 ffX1, ..., XpX1, ..., Xp에 대한 알려지지 않은 어떤 고정 함수이고, ϵϵ은 랜덤 오 차 항으로 측정되지 않는 변수들을 포함할 수 있습니다. 오 차 항은 XX와 독립적이며, 평균은 0이라고 가정합니다.

우리가 예측모델을 만들게 되면 ˆY=ˆf(X)^Y=^f(X)의 결과 값을 도출할 수 있습니다. 우리가 모델을 학습할 때, 정답 값에 해당하는 YYYY의 추정치인 ˆY^Y과의 차이를 줄이는 방향으로 학습을 진행하게 됩니다. 즉 다음과 같은 식을 최적화 하면서 학습을 진행하게 됩니다.

E(YˆY)2=E[f(X)+ϵˆf(X)]2=E[f(X)ˆf(X)]2+Var(ϵ)    (1)E(Y^Y)2=E[f(X)+ϵ^f(X)]2=E[f(X)^f(X)]2+Var(ϵ)    (1)

(1)(1) 식에서 ˆf(X)^f(X)은 모델의 추정치를 나타내므로, 모델을 잘 학습시킨다면, 가장 오른쪽 식의 왼쪽 텀termterm은 축소시킬 수 있을 것입니다. 따라서 E[f(X)ˆf(X)]2E[f(X)^f(X)]2를 축소 가능한 오차reducibleerrorreducibleerror라고 합니다. 반대로, Var(ϵ)Var(ϵ)은 측정되지 않는 변수들의 분산에 해당하므로, 모델이 학습을 진행하더라도 줄일 수 없습니다. 따라서 Var(ϵ)Var(ϵ)을 축소 불가능 오차irreducibleerrorirreducibleerror라고 합니다.

또한 (1)(1) 식은 다음과 같이 쓸 수 있습니다.

E(YˆY)2=E[f(X)+ϵˆf(X)]2=E[(f(X)ˆf(X))2]+Var(ϵ)=Bias[ˆf(x)]+Var(ˆf(x))+Var(ϵ)E(Y^Y)2=E[f(X)+ϵ^f(X)]2=E[(f(X)^f(X))2]+Var(ϵ)=Bias[^f(x)]+Var(^f(x))+Var(ϵ) 여기서 Bias[ˆf(x)]Bias[^f(x)](E[ˆf(x)]f(x))2(E[^f(x)]f(x))2, Var(ˆf(x))Var(^f(x))E[(ˆf(x)E[ˆf(x)])2]E[(^f(x)E[^f(x)])2]를 나타냅니다.

즉 축소 가능한 오차를 Bias[ˆf(x)]+Var(ˆf(x))Bias[^f(x)]+Var(^f(x))로 일정하게 표현할 수 있음을 의미합니다. 또한 두 텀 사이에서 한쪽이 작아지면 한쪽이 커지고 한쪽이 커지면 한쪽이 작아지는 절충 관계TradeoffTradeoff가 생기게 됩니다.