인공지능(AI)

신경망에서 과대적합을 방지하기 위한 방법

sysman 2020. 11. 6. 11:32

 

 

훈련데이터 더모음

네트워크 용량 감소 (unit(퍼셉트론) 수 조절)

가중치 규제 (L1, L2)

드롭아웃 추가

 

Dropout : 가중치가 적은 불필요한 퍼셉트론은 사용하지 않게 제한들 두는 옵션

 

regularization : 정규화이지만 보통 일반화라고 볼 수 있다. 모델 복잡도에 대해 정규화는 overfitting을 방지하고 Generalization(일반화) 성능을 높이는 데 도움을 준다. (방법 : L1, L2, Dropout, Early stooping 등이 있음)

overfitting된 그래프

 

정규화 과정을 거치면 smooth한 그래프가 나올 수 있다.

regularizer L1 : 실제값과 예측값을 뺀 loss가 음수가 나올 수 있다. 이를 보완하기 위해 절대값을 사용함

regularizer L2 : 또 다른 방법은 실제값과 예측값을 뺀값을 제곱을 하면 음수를 보완할 수 있다.

L1과 L2의 차이점 

L2 의 loss는 오차의 제곱을 하므로 loss률이 더 크게 영향을 받는다. 오히려 L1에 비해 상대적으로 더 민감하게 반응한다.

 

 

 

스타트업 경우

이미 만들어진 모델(w,b)가 최적화되 모델을 먼저 구하고 그모델에 나의 데이터를 넣어서 검증해봄

어느정도 나오면 튜닝 변수 몇개가 공개되어 있어 또 그것으로 수정

예측, 분류하는 정제 할 수있음.

한계가 오면, 다른 모델을 찾아서 검증하고 찾음

'인공지능(AI)' 카테고리의 다른 글

노트북에 tensorflow with keras 설치  (0) 2020.12.05
CNN  (0) 2020.11.06
overfitting  (0) 2020.11.06
성능지표  (0) 2020.11.05
keras  (0) 2020.11.05