티스토리 뷰

728x90
반응형

머신러닝으로 학습된 모델 성능 평가

머신러닝 알고리즘을 통해 모델은 학습 데이터에 대한 오차를 감소시켜 나간다. 하지만 사용자가 원하는 모델은 임의의 독립변수 값에 대해 적절한 종속 변수 값을 추정하는 모델이다. , 일반화 오차(generalization error)가 적은 모델은 원하는 것이다. 따라서 학습된 모델의 일반화 오차를 평가하기 위해서는 학습에 사용되지 않은 임의의 테스트 데이터를 선택해야만 한다.


과적합(overfitting)과 과소적합(underfitting)

과적합은 모델이 학습데이터 추정에 초점이 맞추어져 일반적인 데이터에 대해서는 적절한 추정을 하지 못하는 상황이며, 과소적합학습이 제대로 되지 않아 모델의 성능이 떨어지는 상황이다. 과소적합의 경우 학습 데이터의 양을 늘려서 충분히 학습을 시켜주면 된다. 머신러닝, 딥러닝에서는 주로 과적합을 해결하는 것을 중점적으로 다룬다.

대개 학습을 시킬수록 학습 데이터에 대한 오차뿐만 아니라 일반화오차 또한 감소한다. 하지만 학습데이터에 대해 지나치게 많이 학습하여 모델을 복잡하게 만들면 학습 데이터에 대한 오차는 감소하지만 일반화 데이터에 대해서는 오히려 오차가 증가하는 양상을 보인다. 따라서 일반화 오차가 가장 작아지는 최적의 지점까지만 모델의 복잡도를 증가시켜야 한다.

비슷한 이야기로 다중회귀분석에서는 너무 많은 독립변수를 사용했을 때, 곡선회귀분석에서는 너무 높은 차원의 변수를 사용했을 때 모델의 복잡도가 증가하여 일반화 오차가 증가한다.

이러한 과적합을 해결하기 위해서 독립변수의 개수를 제한하거나 정규화를 통해 회귀계수에 제약을 가해야 한다.


정규화의 방법 중에는 ridge regressionlasso regression이 있다.

ridge regression오차의 제곱의 합과 회귀계수의 제곱의 합을 더한 값을 최소화하도록 회귀계수를 추정하는 것이다. 이때 회귀계수의 제곱의 합에는 λ가 계수로 붙어 회귀계수에 대한 제약의 세기를 조절할 수 있다. 값이 커질수록 회귀계수의 크기가 작아진다. 비록 오차의 제곱의 합은 기존의 최소제곱법에서보다는 더 커질 수 있지만 회귀계수를 적절하게 조절하여 과적합을 예방할 수 있어 일반화 성능을 높일 수 있다.

lasso regressionridge regression과 비슷하나 오차의 제곱의 합의 절반과 회귀계수의 절대값의 합을 더한 값을 최소화하도록 회귀계수를 추정하는 것이다. 이 방법 역시 회귀계수를 억제하여 과적합을 막을 수 있다.


두 방식에는 차이점이 있다. ridge regression의 경우 회귀계수가 행렬식의 형태로 바로 도출되는 반면 lasso regression의 회귀계수는 수식으로 일반화되지 않는다. 따라서 반복적인 계산을 통해 구해내야만 한다. 또한 ridge regression에서는 λ 값이 조절되어 회귀계수가 점점 줄어들다 0이 되어도 다시 0이 아닌 값을 가질 수 있는 반면 lasso regression은 회귀계수가 한번 0이 되면 더 이상 0이 아닌 값을 갖지 못한다. 따라서 λ값이 커질수록 lasso regression의 회귀계수 중 0의 값을 갖는 계수들이 많아지고 이를 희소 모델(sparse model)이라고 한다. 독립변수가 선택되는 작용을 하는 것이다.

회귀계수 측면에서 보면 최적 조합 선택은 일부 회귀계수를 0으로 만들고, ridge regression은 회귀계수를 전체적으로 하향 조절하며, lasso regression은 회귀계수를 전체적으로 햐향 조절하면서 일부는 0으로 만든다.

lasso regressionλ에 따라 ridge regression과 달리 특정 회귀계수를 영구히 0으로 만드는 이유는 회귀계수에 대한 그래프에서 lasso regression의 식에 대해 존재가능한 회귀계수의 영역이 뾰족한 꼭짓점을 가지며 이 꼭짓점과 오차의 제곱의 합의 등곡선이 교차하기 때문이다. 즉 한 축 위에서 만나며 이는 어떠한 회귀계수가 0이 되어야함을 의미한다. 반면 lasso regression의 경우 회귀계수 영역이 상대적으로 둥근 형태를 가져서 축 위에서 등곡선과 접하지 않을 수 있기 때문에 0이 되었다가도 다시 0이 아닌 값을 가질 수 있게 된다.


lasso regression(L1)ridge regression(L2)을 포함하는 Lqnorm regularization오차의 제곱의 합에 회귀계수의 절대값의 q제곱의 합을 더한 값을 최적화하는 회귀계수를 구하는 정규화 방법이다. 이때 q값은 회귀계수들을 축으로 하는 그래프 상에서 가능한 회귀계수 영역의 모양을 결정하는 데 q값이 클수록 둥근 모양이 되고 q값이 작을수록 뾰족한 모양이 된다. 영역의 모양이 뾰족할 때 오차의 제곱의 합의 등곡선과 축에서 만날 수 있어 변수 선택 기능을 가지게 된다. 이러한 q 값의 기준은 1이 되며 lasso regression(1>)ridge regression(1<)과 달리 변수 선택 기능을 가지게 되는 것이 이런 연유에서 비롯된다.

어떠한 경우 lasso regressionridge regression의 페널티 항을 비율을 조절하여 모두 사용하기도 한다. 이를 elastic net이라고 한다.


회귀 분석의 확률적 해석

회귀식의 종속변수 추정값을 평균으로 하는 정규분포의 우도함수 값을 최대화하기 위해서는 결국 오차의 제곱의 합을 최소화해야 한다는 결론을 내리게 된다. 최우도 추정을 통해 회귀계수 또한 최소제곱법에서 구한 회귀계수와 동일한 값을 얻게 된다.

 

 

 

728x90
반응형
반응형
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/06   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
글 보관함