본문 바로가기

Machine Learning & Deep Learning

03. 정규화 (Regularization)

Regularization

- 모델의 일반화 오류를 줄여 과적합을 방지하는 기법을 총칭

+ 머신러닝 특히 회귀분석에서 매우 많이 쓰인다.

+ 딥러닝 또한 과적합을 방지하기 위해 regularization 기법을 사용함

 

1. L1, L2 regularization

- 머신러닝에서 가장 일반적인 regularization 기법

- Loss 뒤에 weight에 대한 패널티 텀을 부여

 

 

 

2. Dropout

- Forward-pass시 랜덤하게 뉴런의 연결을 끊어버리는 방법

+ 끊어진 길로는 정보(gradient)가 흐르지 않음

+ 간단한 구현 : 뉴런의 결과값에 0을 곱하면 됨

+ 보통 0.5의 확률로 dropout을 적용

 

- 장점 : Dropout은 앙상블의 근사(approximation)적인 방법

* 앙상블 : 여러개의 모델을 혼합해서 일반화 에러를 줄임 (여러 모델이 예측한 결과값을 투표를 통해 최종 결과값을 선정)

+ 딥러닝은 학습이 오래 걸리기 때문에 앙상블은 비효율적

+ Dropout에서 뉴런을 끊는 작업은 하나의 네트워크를 매우 많은 서브 네트워크로 만드는 작업과 유사하다.

 

- 테스트 단계 : 학습단계에서는 뉴런을 제거하는 방법을 사용하지만, 테스트 단계는 다른 방법을 사용

+ 서브 네트워크를 전부 테스트해서 투표하는 방식은 너무 오래 걸리기 때문이다.

+ 대신 모든 뉴런을 활성화 시키고 각 뉴런의 결과값에 확률 p를 곱함 -> 모든 서브 네트워크가 예측한 결과들의 기대값

 

 

 

반응형