본문 바로가기
프로젝트(진행중)/머신러닝 한 걸음씩

EP 02. 과적합과 정규화

by 일말고프로젝트 2021. 7. 26.

 

개념을 죽 정리해보다 이게 학부때 날 그렇게 괴롭혔던 라쏘, 릿지였다는 걸 알고 새삼 교수님께 죄송했다... 선형방법론의 그 어려운 수식을 푸는 느낌으로 공부해볼 일은 아니지만 꽤나 머신러닝에서 이해가 안돼 애를 먹고 있는 파트이기 때문에 정리해보려 한다. 

흑..

0. 과적합이 뭘까?

 

- 기계 학습(machine learning)에서 학습 데이터를 과하게 학습(overfitting)하는 것을 뜻함

- 학습데이터에 대해서는 오차가 감소하지만 실제 데이터에 대해서는 오차가 증가(위키)

1. 왜 알아야 할까?

 

- 과적합은 강력한 머신러닝의 숙명의 숙명과도 같은 것

- 전체 데이터를 학습 할 수 없는 이상 항상 염두해 두어야 함

- 개념이 뭔지 알고, 증상이 뭔지 알아야 어떤 치료를 할 지 알 수 있기 때문

 

2. 왜 일어날까?

 

- 학습 데이터가 실제 데이터의 부분집합이 때문에 모든 특성을 반영하지 않음

- 고려하는 변수(Feature)가 너무 많아서(차원의 저주가 발생해 이상치가 모델에 끼치는 영향이 비정상적으로 커짐)

- 모델이 너무 복잡함

 

3. 어떻게 해결할까?

 

Feature 수 제한하기

- 정규화

- 검증(Validation)

 

4. 정규화는 어떻게 할까?

 

- 라쏘(LASSO) a.k.a L1 페널티

기존의 MSE의 최소가 되게하는 가중치와 편향을 찾는 것에 더해 가중치들의 절댓값의 합이 최소가 되게 하는 개념이다.

(무시무시한 수식을 볼 수 있지만, 지금 공부할 단계는 아닌 듯하다. 필요하면 https://sosoeasy.tistory.com/389)

이는 가중치의 모든 원소가 0이 되거나 0에 가깝게 되도록 하게 만든다.

 

라쏘의 장점은 두 가지다.

첫 번째는 제약 조건을 통해 일반화된 모형을 찾는 것, 두 번째는 필요없는 가중치들이 0이 되어서 모델 해석력이 좋아지는 것이다. 반대로 변수 선택이 불가능하고, 크기가 큰 변수를 우선적으로 줄이는 경향이 있다.

 

- 릿지(Ridge) a.k.a. L2 페널티

MSE에 가중치의 제곱의 합을 더해 최소를 찾는 개념이다. (이것 또한 무시무시한 수식을 보고 싶다면 여기https://rk1993.tistory.com/entry/Ridge-regression%EC%99%80-Lasso-regression-%EC%89%BD%EA%B2%8C-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0)

 

릿지의 장점은 변수를 선택할 수 있다는 점(변수들이 지워지지 않으니)이다. 변수 특성이 전체적으로 비슷하다면 릿지를 선택하는 게 좋다고 알려져 있다. 변수가 없어지진 않고 0에 가까워질 뿐이니까!

 

 

댓글