728x90
반응형
오버피팅이라는 것이 있었다
오른쪽처럼 그래프를 구불구불하게 만드는것
어떤 케이스에서는 정확도가 100이겠지만 다른 곳에서는..
어떤 케이스에서는 0.99 정확도인데 다른 테스트 데이터에서는 정확도 낮다
지금까지 보지못한 케이스이기 때문
실전에서 사용하기 어렵다 -> 문제
레이어가 많아 질수록 정확도를 에러율이 떨어진다
학습이 잘되는 것처럼 보임
그런데
실제 데이터로 한걸 보면 에러율이 좀 높아진다
높아지는 저 부분이 오버피팅 된다고 할 수 있겠다
오버피팅의 해결법
더 많은 학습데이터와
regularization
w에 너무 큰 값을 주지 말자
dropout이 뭘까
2014년도에 나온 생각임
neural network을 끊어서 몇개의 노드를 죽이자는 이야기
왜 되는 걸까
랜덤하게 노드들을 쉬게 하는 것이다
그리고 마지막에는 노드를 다 총동원해서 예측하게 함
그러면 더 잘될 수도 있다고..(난 왜 그런지 잘 이해가 안감)
상당히 잘된다고 한다
구현을 할때 L1을 만들기 전에 dropout으로 먼저 보내고 여기서 나온걸 그다음 레이어로 보낸다
보통 0.5를 기준으로 자른다
주의할 점이 있다면
학습하는 동안에만 dropout을 쓴다 (70프로의노드)
실전에서는 모두를 불러와야한다(100프로의 노드)
마지막으로..
앙상블을 시킨다는 의미
training set 을 여러개 만들고 나서 나중에 합침
2%에서 4,5%까지 성능향상이 된다
728x90
반응형