Анализ качества обучения нейронной сети | Глубокое обучение на Python
Оцениваем качество обучения нейронной сети с помощью проверочной и тестовой выборок. Страница курса – http://www.asozykin.ru/courses/nnpython
Практическая работа для самостоятельного выполнения “Распознавание рукописных цифр из набора данных MNIST на Keras” – http://www.asozykin.ru/courses/nnpython-lab1
Проблема переобучения – нейронная сеть учится распознавать особенности конкретного набора данных, на котором проводится обучение, а не общие закономерности. При переобучении нейронная сеть часто выдает ошибки на объектах, которые она не видела в процессе обучения.
Чтобы избавится от переобучения, необходимо проверять работу нейронной сети на данных, которые она не видела в процессе обучения.
Для обучения нейронной сети нужны 3 набора данных:
1. Обучающая выборка (training set) – набор данных, который используется для обучения сети.
2. Проверочная выборка (validation set) – набор данных, который используется в процессе обучения для оценки качества обучения.
3. Тестовая выборка (test set) – набор данных, который используется для оценки качества работы сети после завершения обучения.
Keras предоставляет возможность использования проверочной и тестовой выборок.
Проверочную выборку можно указать в методе model.fit (параметры validation_data или validation_split).
Для тестирования модели на тестовой выборке используется метод model.evaluate.
Полный текст программы из лекции – https://github.com/sozykin/dlpython_course/blob/master/src/mnist.py
При реализации проекта используются средства поддержки, выделенные в качестве гранта на основании конкурса, проведенного Общероссийской общественно-государственной просветительской организации «Российское общество «Знание».
Мой канал с краткими и понятными объяснениями сложных тем в ИТ и компьютерных науках:
https://goo.gl/kW93MA
Последние сообщения
127 полезных и бесплатных онлайн академий
24.04.2019
Ресурсы для objective-C программистов
21.03.2018