Note

모델 과적합을 막는 방법 본문

Machine Learning

모델 과적합을 막는 방법

알 수 없는 사용자 2021. 9. 8. 01:23
728x90

1. 데이터 양 증가

학습하고자 하는 모델 데이터 양이 적을수록, 학습 데이터의 특정 패턴이나 노이즈까지 쉽게 학습되므로 과적합 발생 확률이 증가한다.

즉, 데이터 양이 많을수록 학습 데이터의 일반적인 특성을 학습할 수 있으며, 과적합 확률이 줄어든다.

이미지 데이터는 데이터 증식을 많이 사용한다.

여기서 데이터 증식이란, 기존 학습시킬 데이터를 변형하거나 노이즈를 추가하여 학습 데이터의 양을 늘리는 것을 말한다.

 

2. 모델 복잡도 조절

회귀분석에서 독립 변수가 많을수록 모델의 설명력은 좋아질 수 있지만 과적합이 발생할 수 있다. 독립 변수간 다중 공산성이나 차원의 저주가 발생할 수 있기 때문이다.

이를 해결하기 위해 차원 축소를 실행하여 모델의 복잡도를 줄인다.

인공신경망에서는 은닉층의 갯수나 파라미터의 수로 결정된다. 이를 조절하여 모델의 복잡도를 줄여서 과적합을 방지할 수 있다.

 

3. 가중치 규제

규제 선형회귀와 비슷한 맥락으로 인공 신경망에도 규제가 존재한다.

L1 규제 : 가중치 w들의 절댓값 합계를 비용 함수에 추가한다. ( L1 norm )

L2 규제 : 모든 가중치 w들의 제곱합을 비용함수에 추가한다. ( L2 norm )

규제를 통해 과적합을 방지할 수 있다.

 

4. 드롭아웃 ( Dropout )

출처 : 딥 러닝을 이용한 자연어 처리 입문 ( 위키독스 )

드롭아웃은 설정한 비율에 따라서 신경망 사용을 조절하는 것이다.

주로 신경망 학습에 사용하고, 예측시에는 사용하지 않는 것이 일반적이다.

인공 신경망이 특정 뉴런 또는 특정 조합에 의존하는 것을 방지하고 랜덤 선택으로 뉴런들을 사용하지 않으므로 서로 다른 인공 신경망 앙상블을 사용하는 것 같은 효과를 내어 과적합을 방지한다.

'Machine Learning' 카테고리의 다른 글

json 파일  (0) 2021.09.15
Gradient Vanishing & Exploding  (0) 2021.09.15
데이터 전처리  (0) 2021.05.10
교차 검증  (0) 2021.05.07
학습 / 테스트 데이터  (0) 2021.05.06
Comments