모델이 과적 합을 시작한 것을 아는 방법은 무엇입니까?


12

다음 발췌문이 내 질문이 무엇인지에 대한 통찰력을 제공하기를 바랍니다. 이들은 http://neuralnetworksanddeeplearning.com/chap3.html 에서 온 것입니다.

학습은 점차 느려집니다. 마지막으로, 약 280 년경에 분류 정확도는 거의 개선되지 않습니다. 후기 신기원은 신기원 280에서 정확도 값 근처에서 작은 확률 론적 변동을 볼뿐입니다. 이전 데이터와 대조적으로 훈련 데이터와 관련된 비용이 계속해서 하락합니다. 우리가 그 비용을 보면, 우리 모델은 여전히 ​​"더 나은"것으로 보인다. 그러나 테스트 정확도 결과는 개선이 환상이라는 것을 보여줍니다. Fermi가 싫어 한 모델과 마찬가지로, epoch 280 이후에 우리의 네트워크는 더 이상 테스트 데이터를 일반화하지 않습니다. 따라서 유용한 학습이 아닙니다. 우리는 네트워크가 시대 280 이상으로 과적 합하거나 과도하게 훈련되고 있다고 말합니다.

우리는 신경망을 훈련하고 있으며 (교육 데이터에 대한) 비용은 epoch 400까지 떨어지고 있지만 epoch 280 이후 분류 정확도는 정적 인 (몇 가지 확률 적 변동을 제외하고) 점점 높아지고 있습니다.

우리는 테스트 데이터 비용이 약 15 시경까지 개선된다는 것을 알 수 있지만, 그 후에는 교육 데이터 비용이 계속 나아지더라도 실제로 악화되기 시작합니다. 이것은 우리 모델이 지나치게 적합하다는 또 다른 신호입니다. 그래도 퍼즐을 제기하는데, 이것은 에포크 15 또는 에포크 280을 과적 합이 학습을 지배하게 될 시점으로 간주해야 하는가? 실제적인 관점에서 우리가 실제로 관심을 갖는 것은 테스트 데이터의 분류 정확도를 향상시키는 것입니다. 반면 테스트 데이터의 비용은 분류 정확도를 대리하기위한 것이 아닙니다. 따라서 epoch 280을 신경망에서 과잉 적합이 학습을 지배하는 지점으로 간주하는 것이 가장 합리적입니다.

훈련 데이터와 비교 한 테스트 데이터의 분류 정확도와는 대조적으로, 이제 훈련 비용 대비 테스트 데이터에 비용을 부과하고 있습니다.

그런 다음이 책은 왜 280이 오버 피팅이 시작된 올바른시기인지 설명합니다. 그것이 내가 가진 문제입니다. 나는 이것에 머리를 감쌀 수 없다.

우리는 비용을 최소화하기 위해 모델을 요구하고 있으며 따라서 비용은 올바르게 분류하기 위해 자체 강도를 측정하는 데 사용되는 지표입니다. 280을 오버 피팅이 시작된 올바른시기로 간주하는 경우 특정 테스트 데이터에서 더 나은 분류 자이지만 편견이 낮은 의사 결정을 내리는 경향이있는 편향된 모델을 만들지 않았습니까? 테스트 데이터에 표시된 결과에서


모델이 테스트 세트를 인식하지 못합니다 . 보이지 않는 데이터의 프록시 역할을합니다. 따라서 대표 분포에서 비롯된 경우 초과 분포가 발생하는시기를 결정하는 데 사용할 수 있습니다. 원하는 경우 다른 홀드 아웃 세트를 작성하고이 가정이 적용되는지 확인할 수 있습니다.
Emre

'신뢰도가 낮은 의사 결정'이란 무엇을 의미합니까?
메뚜기

@Grasshopper 모델이 4 가지 클래스 {A, B, C, D} 중 하나를 예측하려고한다고 가정하자. 테스트 데이터 레이블은 순서대로 (A, B, C, D)입니다. 이제 어떤 경우에는 모형이 (예측에 따라 레이블을 지정할 것) ((0.28, 0.24, 0.24, 0.24) (A), (0.24,0.28,0.24,0.24) (B), (0.24,0.24, 0.28,0.24) (C), (0.24,0.24,0.24,0.28) (D)) 그리고 다른 모델에서는 ((1,0,0,0) (A), (0,1,0,0) (B), (0.24,0.26,0.25,0.25) (B), (0,0,0,1) (D)). 낮은 신뢰로 의미하는 것은 첫 번째 사례입니다. 분류 정확도가 첫 번째 인스턴스에서 100 %이며, 아직 비용이 높은 유의하시기 바랍니다
니틴 Siwach

@Grasshopper 간단히 말해서. 모델의 첫 번째 인스턴스는 280 에포크 이후에 생성되며 (질문을 참조하십시오) 모델의 두 번째 인스턴스는 15 에포크 후에 생성됩니다. 이제이 책은 epoch 280을 오버 피팅이 시작된 것으로 제안합니다. 나는 그것을 삼키기가 어렵다는 것을 알았습니다. 당신이 제공 할 수있는 어떤 도움이나 생각이라도 대단히 감사합니다.
Nitin Siwach

답변:


6

학생이 이력서를 바탕으로 면접을 시작할 것인지 예측하고 싶다고 가정 해 봅시다.

이제 이력서 10,000 개와 그 결과로 모델을 학습한다고 가정합니다.

다음으로, 원래 데이터 세트에서 모델을 시험해보고 99 % 정확도로 결과를 예측합니다.

그러나 지금 나쁜 소식이 온다.

이력서에 대한 새로운 ( "보이지 않는") 데이터 세트에서 모델을 실행하면 정확도가 50 %에 불과합니다.

우리의 모델은 훈련 데이터에서 보이지 않는 데이터로 잘 일반화되지 않습니다.

이것은 과적 합이라고하며 기계 학습 및 데이터 과학에서 일반적인 문제입니다.

과적 합 V / s 과적 합

우리는 반대 문제를보고, 과소 합을 통해 과적 합을 더 잘 이해할 수 있습니다.

언더 피팅은 모델이 너무 단순하거나 기능이 너무 적거나 너무 많이 정규화되어 데이터 세트에서 학습하는 데 융통성이없는 경우에 발생합니다.

간단한 학습자들은 예측에있어 편차가 적지 만 잘못된 결과에 대한 편견이 더 많습니다 (Bias-Variance Tradeoff 참조).

반면에 복잡한 학습자는 예측에 더 많은 차이가있는 경향이 있습니다.

바이어스와 분산은 머신 러닝에서 예측 오류의 형태입니다.

일반적으로 우리는 치우침으로 인한 오차를 줄일 수 있지만 결과적으로 편차로 인한 오차를 증가시킬 수 있습니다.

너무 단순한 (높은 편향)과 너무 복잡한 (높은 분산) 사이의 절충은 통계 및 기계 학습의 핵심 개념이며 모든 감독 학습 알고리즘에 영향을줍니다.


2

내가 어려운 방법을 배운 것은 학습 곡선을 그리는 것입니다. 기계 학습 코드를 작성하는 것만 큼 재미 있지는 않지만 시각적으로 무슨 일이 일어나고 있는지 이해하는 것이 필수적입니다.

경험적으로, 열차 정확도가 계속 향상되는 동안 유효성 검사 정확도가 향상되지 않거나 심지어 악화되기 시작할 때 과잉 피팅이 발생합니다.

과도한 피팅을 피하는 가장 간단한 솔루션은 조기 중지 (물건이 나빠지면 교육을 중단하는 것)입니다. 물론 가장 간단한 솔루션은 비용이 발생합니다. 최상의 솔루션은 아닙니다. 정규화와 드롭 아웃은 피팅을 놓고 싸우는 좋은 도구이지만 다른 문제입니다. :)

그것이 도움이되기를 바랍니다.


2

인용 한 출처에 따르면 "테스트 데이터의 비용은 분류 정확도를위한 대리에 지나지 않습니다." 왜 프록시를 사용해야하는지, 왜 정확성을 직접 사용하지 않겠습니까? 답은 가중치와 바이어스에 대한 비용 함수를 최소화해야한다는 것입니다. 따라서 가중치와 바이어스의 차별화 기능이어야합니다. 정확도는 차별화 가능한 기능이 아니므로 직접 사용할 수 없습니다. 그러나 궁극적으로 정확성에 관심이 있기 때문에 위에서 설명한 것처럼 (... 분류 정확도는 처음에는 100 %이지만 비용은 더 높습니다 ...) 테스트 정확도에 따라 과적 합을 결정합니다. 세트.


0

과적 합의 의미와 그것이 모델의 정확도에 어떤 영향을 미치는지 이해하려면 편차-분산 상충 관계를 이해해야합니다.

과적 합과 과적 합은 편향-분산 문제와 직접 관련된 두 가지 다른 문제입니다. 세 가지 요인 사이의 관계와 이러한 요인이 편향-분산 (과적 합-과적 합) 문제와 어떻게 연결되어 있는지 이해하는 것이 항상 중요합니다.

1- 모델의 크기. 매개 변수 수

2- 훈련에 사용할 수있는 데이터의 양. 훈련 샘플 수.

3- 반복 횟수. 훈련 반복.

다른 요인을 보지 않고 과적 합 또는 과적 합 문제에 이러한 요소를 직접 연결하면 항상 잘못된 결론을 내릴 수 있습니다.

과적 합과 과적 합 문제를 피하기 위해 수학 방정식을 사용하여 이러한 요소를 이해하고 주제를 연결하는 것은 어려운 작업이며, 작업에 의존하는 것이 아니라 사람들은 간단한 방법을 사용하여 과적 합을 발견하고 피합니다. 쉬운 방법은 데이터를 교육, 검증 및 테스트의 세 부분으로 나누는 것입니다. 테스트를 건드리지 마십시오. 훈련 세트를 사용하여 네트워크를 훈련하고 유효성 검사 세트를 사용하여 각 반복 또는 여러 반복 후에 네트워크를 테스트하십시오. 이론적으로 유효성 검사 세트의 오류는 첫 번째 N 반복에 대해 점차 감소한 다음 매우 적은 반복에 대해 안정적으로 증가한 후 증가하기 시작합니다. 오류가 증가하기 시작하면 네트워크가 훈련 데이터를 과도하게 맞추기 시작하고 훈련 과정을 중단해야합니다.

참고 : N 값은 위에 나열된 세 가지 요소와 매우 관련이 있습니다. 데모 훈련을 설정하고 다른 모델, 훈련 데이터로 테스트하는 것이 항상 좋습니다. 모형이 클수록 (훈련 데이터가 적을수록 N이 작습니다.) 모형이 작을수록 훈련 데이터가 많을수록 N이 커집니다. 참고 : 적합하지 않은 소형 모델을 사용할 때는주의하십시오.


"이론적으로 유효성 검사 세트의 오류가 첫 번째 N 반복에 대해 점차 감소한 다음 매우 적은 반복에 대해 안정된 다음 증가하기 시작한다는 것을 알 수 있습니다." 여기서 오류가 무엇을 의미합니까? 그것은 내가 질문에서 제기 한 문제입니다. 내가 오류의 척도로 분류 정확도를 수강하면이 오류의 측정 및 280 등의 비용을 가지고가는 경우에 대답은 15
니틴 Siwach

위의 설명에서 수정 사항을 참고하십시오. 초과 피팅이 시작된 시점에 대한 답변은 오류를 측정하는 데 비용이
걸리면 획 15이고

유효성 검사 세트의 오류
Bashar Haddad 1

그 오류의 척도는? (100-분류 정확도) 또는 비용. 분류 정확도와 관련된 유효성 검사 세트의 오류를 이해합니다. 그러나 정확히 내가 묻는 것입니다. 왜 비용이 들지 않습니까? 원래의 질문에 메뚜기에 대한 응답으로 만든 전 주석을 참조하시기 바랍니다
니틴 Siwach에게
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.