Если я правильно понимаю определение точности, точность (% точек данных, классифицированных правильно) будет меньше, чем, скажем, MSE (среднеквадратическая ошибка). Вот почему вы видите, что ваш loss
быстро растет, а точность колеблется.
Интуитивно, это в основном означает, что некоторая часть примеров классифицируется случайным образом , что вызывает колебания, поскольку число правильных случайных догадок всегда колеблется (представьте точность, когда монета всегда должна возвращать «головы»). В основном чувствительность к шуму (когда классификация дает случайный результат) - это общее определение переоснащения (см. Википедию):
В статистике и машинном обучении одной из наиболее распространенных задач является подгонка «модели» к набору обучающих данных, чтобы иметь возможность делать надежные прогнозы на основе необученных данных. При переоснащении статистическая модель описывает случайную ошибку или шум вместо базовой зависимости
Еще одним свидетельством переоснащения является то, что ваша потеря увеличивается, потеря измеряется более точно, она более чувствительна к шумному прогнозу, если она не подавлена сигмоидами / порогами (что, по-видимому, относится к самой потере). Интуитивно понятно, что вы можете представить себе ситуацию, когда сеть слишком уверена в выходных данных (когда она ошибочна), поэтому в случае случайной ошибочной классификации она дает значение, значительно превышающее пороговое значение.
Что касается вашего случая, ваша модель не правильно регламентирована, возможные причины:
- недостаточно данных, слишком много места
- заказ
- нет / неправильно масштабирование / нормализация
- скорость обучения: слишком велика, поэтому SGD прыгает слишком далеко и пропускает область вблизи локальных минимумов. Это было бы крайним случаем «недостаточной подгонки» (нечувствительности к самим данным), но могло бы генерировать (своего рода) «низкочастотный» шум на выходе путем скремблирования данных с входа - вопреки интуитивной перестройке, это было бы как всегда угадывать головы при предсказании монеты. Как указал @JanKukacka, достижение минимума в области «слишком близко» может привести к переобучению, поэтому, если слишком мал, он будет чувствителен к «высокочастотному» шуму в ваших данных. должна быть где-то посередине.ααα
Возможные решения:
- получить больше данных (или искусственно расширить набор существующих)
- играть с гиперпараметрами (например, увеличить / уменьшить емкость или срок регуляризации)
- регуляризация : попробуй бросить, рано остановить и т. д.