Overfitting
1) 개요
Overfitting (과적합)
발생 이유 - 훈련 데이터가 부족하거나 실제(테스트) 데이터에는 존재하지만 훈련 데이터에 없을 경우 - 모델 파라미터가 너무 많을 경우 Overfitting (과대적합) 1) 개요 - 훈련 데이터에서는 잘 동
sjpyo.tistory.com
2) Regularization
Regularization
Bias-Variance Trade-off 1) 개요 - 아래의 이미지를 통해 bias와 variance의 직관적인 이해를 할 수 있다. 2) Bias (편향) - high bias, low variance일 경우, 모델이 단순하여 underfitting을 초래하고 train,..
sjpyo.tistory.com
Dropout

1) 개요
- overfitting을 피하기 위해 사용
- network 상의 모든 neuron을 학습하는 것이 아니라 일부 neuron을 dropout하고 학습을 수행
- 데이터의 수가 적거나 layer가 깊지 않다면 사용하는 것을 자제
2) ensemble의 voting 효과
- 무작위로 dropout하여 학습을 시켜 voting 효과를 얻을 수 있다.
Ensemble (Voting, Bagging, Boosting)
Model Ensemble - 여러 모델들을 함께 사용하여 성능을 올린다. - 앙상블 기법에는 voting, bagging, boosting, stacking 등이 있다. Voting 1) 개요 - 다른 종류의 모델들의 예측값을 합쳐 최종 결과를 도출해내..
sjpyo.tistory.com
3) co-adaptation 예방
- neuron간의 weight나 bias가 특정 neuron의 큰 값에 의해 학습 속도가 느려지거나 성능저하 방지
4) 크기 조정

- train set에서는 각 neuron을 p의 확률로 사용
- test set에서는 각 neuron이 존재할 확률 p를 가중치 w와 곱해서 존재할 확률이 0일 경우 동작하지 않는다.
- 일반적으로 tf.keras.layers.Dropout(rate = 0.5)를 가장 많이 사용
5) 수학적 이해

- dropout을 적용하는 것은 bernoulli random variable을 곱해주는 것으로 수식은 다음과 같다.
- p는 존재할 확률로 평균이 p, 분산은 p(1-p)인 변수
rtj∼Bernoulli(p)
˜yt=rt⋅yt
zt+1i=wt+1i˜yt+bt+1i
- f : activation function
yt+1i=f(zt+1i)
6) Max-norm Regularization
- dropout은 기존의 regularization 방법인 L1, L2 등을 사용하면 결과가 좋다.
- Max-norm을 사용하면 특히 좋은 결과가 나오며 높은 learning_rate를 사용할 수 있어 학습을 빠르게 할 수 있음

Max-norm
hidden layer의 weight를 특정 상수 c 보다 작게 해주는 방법
DropConnect

1) 개요
- Dropout은 neuron을 생략하지만 DropConnect는 일부 weight와의 선형결합을 생략하여 neuron은 존재함
2) 수학적 이해
- normal network inner product
Si(I)=n∑j=1wijIj,i=1,2,...,k
- Dropout inner product
Si(I)=n∑j=1wijpjIj,i=1,2,...,k
- DropConnect inner product
Si(I)=n∑j=1δijwijIj,i=1,2,...,k
3) dropout과의 성능비교
- 눈에 띌 만큼 성능향상이 있진 않지만 그래도 효과적인 것으로 보임

참고
pod3275.github.io/paper/2019/05/31/Dropout.html
m.blog.naver.com/laonple/220827359158
deepestdocs.readthedocs.io/en/latest/004_deep_learning_part_2/0042/