2021. 7. 11. 16:41ㆍMachine Learning/General
이전 글에서 머신러닝이 무엇이고, 어떻게 분류할 수 있는지에 대해 알아보았습니다.
이번 글에서는 머신러닝 모델의 학습을 어떻게 수학적으로 나타낼 수 있는지 알아보겠습니다.
우리가 예측하기를 원하는 종속변수$Y$$Y$와 pp개의 다른 설명변수 X1X1, X2X2,... , XpXp가 관찰된다고 해보겠습니다. YY와 X=(X1, X2, ..., Xp)X=(X1, X2, ..., Xp) 사이에 어떤 상관관계가 있다고 가정하면, 다음과 같은 일반적인 형태로 나타낼 수 있습니다.
Y=f(X)+ϵY=f(X)+ϵ 여기서 ff는 X1, ..., XpX1, ..., Xp에 대한 알려지지 않은 어떤 고정 함수이고, ϵϵ은 랜덤 오 차 항으로 측정되지 않는 변수들을 포함할 수 있습니다. 오 차 항은 XX와 독립적이며, 평균은 0이라고 가정합니다.
우리가 예측모델을 만들게 되면 ˆY=ˆf(X)^Y=^f(X)의 결과 값을 도출할 수 있습니다. 우리가 모델을 학습할 때, 정답 값에 해당하는 YY와 YY의 추정치인 ˆ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))로 일정하게 표현할 수 있음을 의미합니다. 또한 두 텀 사이에서 한쪽이 작아지면 한쪽이 커지고 한쪽이 커지면 한쪽이 작아지는 절충 관계Trade−offTrade−off가 생기게 됩니다.