과적합 문제 해결, Generalize our Models

2022. 1. 8. 20:52공부한 내용/머신러닝 이론

1.  Generalization 의미

: 테스트 데이터에 대한 에러를 최소화하는 모델을 찾는 것

-모델의 복잡도를 적당히 늘렸을 때 테스트 데이터에 대한 에러가 최소화되는 지점 = generalize error 최소화하는 지점

 

 

2. Generalization Error 줄이는 방법

-좋은 Generelization 모델 찾기 = 테스트 데이터에 대한 좋은 성능을 보이는 모델 찾기

-트레이닝 데이터에 대해 지나치게 좋은 성능을 보인다고 해서 무조건 좋은 모델이 아님

-> 테스트 데이터를 잘 맞추게끔 일종의 제약 조건을 두는 것이 필요

 

1) 데이터 크기 늘리기

-파라미터 개수는 고정인 상태에서 데이터의 개수를 늘리면 과적합의 문제 해결 가능

 

2) Penalizing the Model Complexity

: 모델이 복잡해질수록 패널티를 추가

모델의 복잡도에 해당하는 식을 손실 함수에 추가

-> 전체 손실 함수를 작게 만들기 위해서는 모델의 복잡도가 어느정도 작을 수밖에 없음 

-Regularization parameter: 어느정도의 패널티를 줄 것인지 패널티 항에 곱하는 상수

 

(1) Lasso regression (L1-Reg)

-모델의 파라미터들의 절대값의 합을 패널티 항으로 추가

-중요한 특성은 살아남고 중요하지 않는 특성에 대한 파라미터 값은 0으로 조정됨

-미분해서 0이 되는 지점을 찾기 어려움 (첨점이 존재)

-> Numerical solution 주로 사용

 

(2) Ridge regression (L2-Reg)

-모델의 파라미터들의 제곱의 합을 패널티 항으로 추가

-Analytic solution, Numerical solution 다 사용 가능

 

(3) Regularization parameter

-값이 점점 커질수록, 모델 파라미터 개수는 고정이지만 모델의 복잡도는 점점 작아짐