Что такое оценка модели?

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

Сегодня я упомяну два популярных подхода к оценке моделей:

  1. Тестирование на выносливость
  2. Перекрестная проверка

1. Тестирование удержания

Предположим, у меня есть набор данных, и я хочу использовать подходы машинного обучения. Если вы используете весь свой набор данных, для тестирования вашей модели не останется данных, следовательно, это не очень хорошая идея, но в предыдущих статьях я упоминал, что чем больше данных, тем лучше результаты обучения, так что мы должны делать? Мы должны разделить наш набор данных на обучение и тестирование и использовать большую часть данных для обучения. Например, это может быть 80% для обучения и 20% для тестирования (оценки). Так что я в основном ДЕРЖУ данные для тестирования :) Это была общая идея, лежащая в основе тестирования на выдержке, давайте обсудим ее немного подробнее.

Этапы проверки на выносливость

  1. Разделите набор данных на две части (процентное разделение может варьироваться)

2. Обучите модель на обучающем наборе данных

3. Протестируйте модель на тестовом наборе данных.

4. Чтобы получить модель, которая может лучше обобщать неизвестный набор данных, обучите окончательную модель на полном наборе данных.

Примечание. На этом шаге я сделал предположение о фиксированном гиперпараметре. Гиперпараметры — это параметры, которые НЕ извлекаются из данных. Например; скорость обучения, лямбда-выражения в регуляризации…

Перекрестная проверка

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

  1. Разделите набор данных на K дизъюнктных наборов одинакового размера.
  2. Обучите модель для каждого эксперимента, оцените модель и рассчитайте предполагаемый риск (убыток) для каждого эксперимента.
  3. Рассчитайте среднюю оценку риска.

Каково оптимальное значение К?

Обычно на практике выбирают K = 5 или K = 10, но мы также можем найти оптимальное значение K с настройкой гиперпараметров, о которой я расскажу далее.

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

Пока мы не знаем, мы дали фиксированное число параметров, но, конечно, мы можем найти оптимальные гиперпараметры для каждой модели путем настройки гиперпараметров.

Настройка гиперпараметров

  1. Поиск по сетке

→ 1. Выберите набор значений для каждого гиперпараметра в векторе гиперпараметров.

→ 2. Все комбинации значений-кандидатов для отдельных гиперпараметров являются кандидатами.

→ 3. Количество кандидатов является произведением количества значений отдельных гиперпараметров, поэтому количество гиперпараметров часто является экспоненциальным.

2.Случайный поиск

→ 1. Для каждого гиперпараметра в векторе гиперпараметров выберите диапазон значений.
→ 2. Кандидаты создаются случайным образом путем равномерного выбора каждого отдельного гиперпараметра из его диапазона

Результаты обычно немного лучше, чем поиск по сетке.

Выше приведена иллюстрация поиска по сетке и случайного поиска для нахождения наилучшей скорости обучения.

Итак, у нас есть обучающий набор и тестовый набор, но в каком наборе данных я должен найти оптимальные гиперпараметры?

Я могу создать набор проверки. Валидация означает «процесс принятия чего-либо официально или юридически приемлемым или утвержденным». [3]

Я могу разделить все свои наборы данных на три части: обучение, проверку и тестирование.

Из-за метода удержания:

  1. Обучите модели-кандидаты (для различных гиперпараметров) на тренировочном наборе
  2. Выберите лучшую комбинацию гиперпараметров в наборе проверки
  3. Обучите модель с лучшими гиперпараметрами на наборе обучения + наборе проверки
  4. Оцените эту модель, чтобы получить оценку ошибки
  5. Обучите окончательную модель на всех данных
  6. Разверните эту окончательную модель вместе с оценкой ошибки

Тот же принцип можно применить к перекрестной проверке: используйте одно подмножество для тестирования, одно для проверки, а остальные — для обучения в каждой итерации перекрестной проверки.

Использованная литература:

  1. https://www.dominodatalab.com/data-science-dictionary/model-evaluation#:~:text=Model%20evaluation%20is%20the%20process,%20role%20in%20model%20monitoring.
  2. Гиперпараметрическая оптимизация пространственных моделей на основе нейронных сетей, ускоренная с использованием высокопроизводительных вычислений с использованием кибертехнологий, Minrui Zheng, Wenwu Tang, Xiang Zhao, октябрь 2018 г.
  3. https://dictionary.cambridge.org/dictionary/english/validation