Regularization
- 모델의 일반화 오류를 줄여 과적합을 방지하는 기법을 총칭
+ 머신러닝 특히 회귀분석에서 매우 많이 쓰인다.
+ 딥러닝 또한 과적합을 방지하기 위해 regularization 기법을 사용함
1. L1, L2 regularization
- 머신러닝에서 가장 일반적인 regularization 기법
- Loss 뒤에 weight에 대한 패널티 텀을 부여
2. Dropout
- Forward-pass시 랜덤하게 뉴런의 연결을 끊어버리는 방법
+ 끊어진 길로는 정보(gradient)가 흐르지 않음
+ 간단한 구현 : 뉴런의 결과값에 0을 곱하면 됨
+ 보통 0.5의 확률로 dropout을 적용
- 장점 : Dropout은 앙상블의 근사(approximation)적인 방법
* 앙상블 : 여러개의 모델을 혼합해서 일반화 에러를 줄임 (여러 모델이 예측한 결과값을 투표를 통해 최종 결과값을 선정)
+ 딥러닝은 학습이 오래 걸리기 때문에 앙상블은 비효율적
+ Dropout에서 뉴런을 끊는 작업은 하나의 네트워크를 매우 많은 서브 네트워크로 만드는 작업과 유사하다.
- 테스트 단계 : 학습단계에서는 뉴런을 제거하는 방법을 사용하지만, 테스트 단계는 다른 방법을 사용
+ 서브 네트워크를 전부 테스트해서 투표하는 방식은 너무 오래 걸리기 때문이다.
+ 대신 모든 뉴런을 활성화 시키고 각 뉴런의 결과값에 확률 p를 곱함 -> 모든 서브 네트워크가 예측한 결과들의 기대값
반응형
'Machine Learning & Deep Learning' 카테고리의 다른 글
[Chapter1] Types of Machine Learning (0) | 2018.09.17 |
---|---|
04. 배치정규화 (Batch Normalization) (0) | 2017.08.03 |
03. 초기화 (0) | 2017.08.03 |
01. 활성함수(activation function) - Sigmoid, ReLU (0) | 2017.08.03 |
00. 뉴럴 네트워크 (0) | 2017.08.03 |