Моя модель машинного обучения в значительной степени соответствует обучающим данным, но все же довольно хорошо работает с тестовыми данными. При использовании подхода нейронной сети каждая итерация немного увеличивает точность набора тестов, но значительно увеличивает точность набора поездов (переопределение).
Проблема хорошо демонстрируется при использовании пространства с архитектурой CNN, в которойЯ получаю следующие результаты
ITER LOSS P R F TF
0 29.305 0.733 0.342 0.466 0.525
1 10.410 0.811 0.443 0.573 0.650
2 4.361 0.722 0.548 0.623 0.757
3 2.265 0.764 0.563 0.648 0.811
4 1.449 0.748 0.613 0.674 0.877
TF - это оценка f1 для данных о поезде.
Оценка по тестам продолжает улучшаться, в то время как расхождение с набором поездов просто увеличивается до точки, где вНа 20-й итерации модель почти идеально работает с данными поезда, в то время как точность теста никогда не снижается, чтобы оправдать раннюю остановку.
Я пробовал число вариантов регуляризации, включая варьирующиеся отсев, снижение веса, L2, но ни один не кажетсячтобы не запоминать части обучающих данных и все хуже работать на тестовом наборе.
Проблема не уникальна для spacy и для подхода, которому я следовал, это также происходит с scikit и моделями с меньшим количеством параметров.
Набор данных в ханd - это небольшой набор данных из менее чем 2000 примеров, который является задачей классификации текста по нескольким меткам. Некоторые метки имеют менее 100 примеров, но при проверке того, где происходит наложение, все метки, кажется, затрагиваются одинаково.
Думаю, мой главный вопрос заключается в том, стоит ли мне беспокоиться о том, что модель запоминает обучающий набор данных так долгопоскольку он хорошо работает с тестовыми данными, а также с тем, есть ли другие вещи, которые я не учел, чтобы решить эту проблему запоминания, как я ее вижу.