반응형
오버피팅이란 것은 무엇인가?
머신러닝은 학습에 의핸 판단을 하는것입니다. 그래서 학습을 위한 데이타들이 필요하고 이 데이타를 기반으로 판단하게 되는데,
이 학습데이타에 너무 딱 맞게 모델을 설계하게 되면, 학습 데이타 이외의 실제 데이타에서 나쁜 결과가 나오게 됩니다.
오버피팅을 줄이는 방법~
1. 트레이닝 데이타를 많이 가지는것.
2. feature의 개수를 줄이는 방법
3. Regularization
Regularization 은 일반화 시키자는 것.
데이타들을 트레이닝 할때 모델을 결정하는 선들이 구불어지게 되는데,
이 구부러지는 것들을 좀 펼쳐서 처리하는 방법입니다.
L = loss
i = training set
\lambda = regularization strength
0 이면 일반화 하지 않겠다.
1 이면 매우 강하게 하겠다.
0.001 크게 중요하진 않아..
l2reg = 0.001 * tf.reduce_sum(tf.square(W))
layer가 깊을 수록 overfitting 가능성이 커집니다.
이유는 layer 가 깊을수로 변수들이 추가되고 해당 변수들에 가중치가 커지게 되면서 유연성이 떨어지게 됩니다.
'머신러닝 & 텐서플로 & 파이썬' 카테고리의 다른 글
tensorboard: 학습 모니터 (0) | 2018.01.26 |
---|---|
데이타 프로세싱(data processing) (0) | 2018.01.25 |
머신러닝 스터디를 위한 youtube 강의 (0) | 2018.01.23 |
텐서플로우 동작 확인 (0) | 2017.11.23 |
텐서 플로우 설치 (0) | 2017.11.23 |