Что такое «ошибка на обучающем множестве» и «ошибка на тестовом множестве», используемые в статьях по глубокому обучению?

Вопрос или проблема

Я часто слышал термины “ошибка обучения” и “ошибка теста” в контексте классификации, но не уверен, что понимаю, что они означают. В этой статье пишется:

  • Ошибка обучения: Мы получаем ее, вычисляя ошибку классификации модели на тех же данных, на которых модель обучалась (как в приведенном выше примере).

Но что такое “ошибка классификации модели”? Это $100\% – \text{train_accuracy}$ или это потеря? Мне это не ясно, боюсь.

Редактирование: В статье Глубокое остаточное обучение для распознавания изображений на странице 8 в рисунке 6 приведены графики ошибок обучения и теста, а в таблице 6 – конкретные значения для них. Как их получить при обучении, например, ResNet?

Ошибка обучения – это просто ошибка, которая возникает во время обучения модели, т.е. набор данных неправильно обработан во время предварительной обработки или отбора признаков. С другой стороны, тестовые ошибки немного отличаются, такие как переобучение модели и недообучение и т.д.

Для оценки модели (чтобы понять, насколько хорошо она работает) обычно выделяют одну часть данных (часто выбираемую случайным образом), которая НЕ используется для обучения модели (поэтому вы делите данные на обучающие и тестовые данные).

Вы используете обучающие данные для обучения некоторой модели. Обычно модели обучаются (или оцениваются) на основе оптимизации некоторой функции (например, “потери”). В линейной регрессии, например, минимизируется сумма квадратов остатков. В логистической регрессии оптимизируется функция максимального правдоподобия.

Чтобы получить отзывы о том, насколько хорошо работает ваша (теперь обученная) модель, вы можете получить различные “метрики”. В регрессии, например, можно обратиться к средней абсолютной ошибке (MAE) или средней квадратической ошибке (MSE). В классификации вы обычно проверяете, насколько хорошо ваша модель справляется с классификацией. Таким образом, вы получаете некоторую “ошибку классификации” (насколько хорошо модель работает), что не то же самое, что изучать функцию потерь.

Поскольку большинство моделей смогут более или менее точно делать прогнозы на данных, которые модель видела во время обучения, использование обучающих данных для оценки модели – не лучшая идея! Чтобы понять, насколько хорошо работает ваша модель на “новых” данных, не виденных моделью во время обучения, используйте тестовый набор, чтобы сделать прогноз и получить ошибку классификации.

Вместо (или дополнительно к) использования тестового набора для проверки модели, вы также можете использовать кросс-валидацию. Смотрите “Введение в статистическое обучение” (глава 5.1 для получения более подробной информации).

.

Ответ или решение

В контексте глубокого обучения и машинного обучения в целом, термины "ошибка на обучающей выборке" и "ошибка на тестовой выборке" имеют ключевое значение для оценки производительности моделей. Давайте рассмотрим их более подробно.

Обучающая ошибка (Training Error)

Обучающая ошибка представляет собой ошибку, возникающую при оценке модели на том же наборе данных, который использовался для ее обучения. Обычно это разница между истинными значениями и предсказаниями модели на обучающем наборе. В контексте классификации, обучающая ошибка может быть выражена как $100\% – \text{train_accuracy}$, где train_accuracy — это доля правильных классификаций на обучающем наборе данных. Важный момент: низкая обучающая ошибка может указывать на то, что модель хорошо изучила предоставленные данные, но при этом она не обязательно хорошо обобщается на новые, невидимые данные.

Тестовая ошибка (Test Error)

Тестовая ошибка характеризует ошибку, которую модель делает на новом, ранее невиданном наборе данных, тестовой выборке. Это важно для оценки того, как модель будет работать в условиях реального мира. Поведение модели на тестовой выборке предоставляет больше информации о ее обобщающей способности. Если тестовая ошибка значительно выше, чем обучающая, это может свидетельствовать о переизбыточной настройке (overfitting), когда модель слишком "запомнила" обучающие данные и не способна адаптироваться к новым данным.

Подсчет ошибок в контексте ResNet

Возвращаясь к примеру с тренеровкой ResNet, ошибки можно получить следующим образом:

  1. Разделение данных: Перед началом тренировки разделите имеющийся набор данных на обучающую и тестовую выборки.

  2. Обучение модели: Используйте обучающую выборку для тренировки модели ResNet, оптимизируя функцию потерь, например, кросс-энтропию для классификации.

  3. Оценка на обучающем наборе: Рассчитайте точность (train_accuracy) и, следовательно, обучающую ошибку как $100\% – \text{train_accuracy}$.

  4. Оценка на тестовом наборе: Примените обученную модель к тестовой выборке и рассчитайте аналогичные метрики для получения тестовой ошибки.

  5. Анализ результатов: Если необходима дополнительная точность, используйте кросс-валидацию для более стабильной оценки производительности модели.

Важность ошибок для разработки моделей

Измерение обучающей и тестовой ошибок — это критический компонент цикла разработки моделей машинного обучения. Оно позволяет определить, ведет ли увеличение сложности модели к улучшению или ухудшению производительности, помогает выявить возможные ошибки тренировки, такие как переобучение или недообучение, и обеспечивает более надежную оценку способности модели обобщать.

Таким образом, понимание и точное измерение обучающей и тестовой ошибок имеет огромное значение для создания качественных, эффективно работающих моделей глубокого обучения.

Оцените материал
Добавить комментарий

Капча загружается...