사이트맵  |  Contact Us
 
홈 > SAS Tech & Tip > SAS Programming
[SAS 프로그래밍] Regularization [이론] 2019.10.27
강지선 117 1
http://www.mysas.co.kr/sas_tiptech/a_question.asp?b_no=11205&cmd=content&bd_no=5

이번 시간에는 과적합(overfitting)을 피하는 방법 중 하나인 정규화(regularization)을 알아보도록 하겠습니다.

 

먼저 과적합을 간단하게 정리하겠습니다. 많은 모수를 이용하여 적합하는 머신러닝 모형에서 가장 크게 신경 써야 할 부분입니다. 과적합은 학습 데이터에서는 높은 정확도를 보이지만 테스트 데이터에서 성능이 떨어지는 현상으로 관찰됩니다.

 


 

위 그림처럼 관찰된 데이터에 과도하게 적합되는 현상을 과적합으로 볼 수 있습니다.

 

과적합을 줄일 수 있는 방법은 여러가지가 있지만 가장 흔히 사용하는 방법이 정규화 방법입니다. 정규화는 모형에 하나의 텀을 추가해주면서 적합선이 지나치게 적합되는 것을 방지하는 역할을 해줍니다. 정규화에서도 가장 많이 사용하는 세 가지 방법을 소개하고 다음 시간부터 SAS를 통해 구현해보도록 하겠습니다.

 

다중회귀는 비용함수인 MSE를 최소화하는 방향으로 학습되게 됩니다. 따라서 

로 정의하겠습니다. 비용함수에 추가적인 제약 조건을 주는 세가지 방법입니다.

  

 

1. Lasso

라쏘는 L1-norm을 사용한 방법입니다. 다음 식으로 나타낼 수 있습니다.

람다는 제약조건의 강도를 조절해 줄 수 있습니다. 람다가 커질수록 앞 첫번째 텀보다 두번째 텀에 영향력이 더 크기 때문에 L1-norm을 작게 만드는 것이 우선순위가 됩니다. 반대로 람다 작을수록 MSE를 작게 만드는 것에 더 비중을 두게 됩니다.

 

 

2. Ridge

릿지는 L2-Norm을 추가하게 됩니다. 릿지는 라쏘와 다르게 L2-norm을 사용합니다.

 

 

라쏘와 릿지의 차이점은 다음 그림으로 확인할 수 있습니다.

 

L1-Norm인 라쏘는 모서리에서 만나기 때문에 정확한 0이 될 수 있습니다. 따라서 라쏘는 차원 축소의 효과가 있을 수 있습니다. 모형 적합에 유의한 변수가 별로 없다고 예상되면 릿지보다는 라쏘를 사용하는 것이 좋을 수 있습니다. 하지만 gradient descent 방법을 사용하여 학습시키는 경우 라쏘는 미분이 불가능하기 때문에 주의해야 합니다.

(그림 출처 : R. Tibshirani. Regression shrinkage and selection via the lasso. Journal of the Royal Statistical Society. Series B. Methodological, 58(1):267–288, 1996.)

 

 

3. Elastic Net

엘라스틱 넷은 라쏘와 릿지의 절충 방법입니다.

 

 

 

다음 시간부터는 위 세 가지 방법을 SAS로 구현해보도록 하겠습니다. 

 

감사합니다.

 

 

 

 
 
휴대폰 번호
휴대폰 인증번호
 

 더 이상 글이 존재하지 않습니다.

 [SAS 프로그래밍] Histogram Overlay