мой реферат «Оценка модели, выбор модели и выбор алгоритма в машинном обучении» С. Рашка

Недавно я прочитал отличную статью Себастьяна Рашки Оценка модели, выбор модели и выбор алгоритма в машинном обучении. Определенно, это стоит прочитать, однако может быть трудно понять все быстро. Так что моя аннотация может быть кому-то полезна.

Главный вопрос:

  1. производительность обобщения (прогностическая эффективность невидимых данных);
  2. подбор модели, грубо говоря настройка гиперпараметров;
  3. выбор алгоритма, наиболее подходящего для решения задачи.

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

Метод удержания (оценка модели, пока работает с фиксированными гиперпараметрами)

Мы разделяем набор данных на 2 части: обучающий и тестовый набор, затем подгоняем модель к обучающим данным и прогнозируем метки на тестовом наборе. Таким образом, мы получаем нашу оценку точности предсказания модели (долю правильных ответов). Если бы мы обучали и тестировали один и тот же тренировочный набор, это называлось бы проверкой повторной подстановки, а оценка повторной подстановки обычно вносит очень оптимистичную ошибку из-за переобучения.
Авторы говорят, что после оценки модели на нашем тестовом наборе (он же невидимые данные) мы могли подогнать модель под тестовый набор. Как правило, модель будет иметь лучшую производительность обобщения, если алгоритмы используют более информативные данные (при условии, что они еще не достигли своей мощности). Однако в этом случае у нас нет шансов увидеть ценную оценку производительности во время этого цикла обучения, особенно в глубоком обучении, простой способ переобучения).
Разделение обучения и тестирования с помощью случайной подвыборки не очень хорошо. Лучше заменить его на стратификацию (подход к сохранению исходной пропорции классов в результирующих подмножествах).
Большая проблема: мы подгоняем модель только к части данных, поэтому он не мог достичь своей емкости. (Поскольку мы обсуждали подачу тестового набора, оставим это без возможности для хорошей оценки).
Итак, мы получили точечную оценку, давайте получим доверительный интервал с помощью нормального приближения (есть предположение, что прогнозы следуют нормальному распределению):

В качестве улучшения: повторите разделение на поезд-тест, чтобы получить среднюю оценку, а не использовать точечную оценку. Кстати, это известно как повторная проверка удержания (проверка Монте-Карло), которая обеспечивает более точную оценку и стабильность.
Оценки производительности могут страдать от смещения и дисперсии, и мы заинтересованы в хорошем компромиссе. Таким образом, оценка повторной замены является оптимистически предвзятой (переоснащение, запоминание данных), утаивание большой части тестовых данных приводит к пессимистически предвзятым оценкам (модель не может достичь своей мощности). Уменьшение размера теста увеличивает дисперсию (каждое разделение изменяет статистику набора тестов, особенно верно для небольшого набора данных), также см. n в знаменателе дисперсии…

Начальная загрузка

Как построить доверительный интервал, если распределение неизвестно? Хорошо, мы могли бы использовать выборочное среднее. Но как насчет дисперсии? Мы могли бы собрать несколько независимых образцов (роскошь?). Но идея начальной загрузки состоит в том, чтобы генерировать новые выборки из эмпирического распределения. Итак, это метод повторной выборки для оценки выборочного распределения (и нас особенно интересует точность). Итак, метод начальной загрузки:

  1. Набор данных размера n;
  2. Для b раундов начальной загрузки:
    мы берем один экземпляр из набора данных и назначаем его j-й выборке начальной загрузки до тех пор, пока размер выборки не достигнет размера n (каждый раз мы берем образцы из исходного набора данных, поэтому определенные примеры могут появляться несколько раз);
  3. Соответствуйте модели и вычисляйте точность замены;
  4. Точность — это среднее значение b оценок точности.

НО. Чтобы избежать оптимистичного смещения из-за точности повторной подстановки, мы будем использовать модификацию, называемую Leave-One-Out Bootstrap (LOOB). Мы будем использовать образцы из упаковки, которые не использовались для примерки модели.

Предположим, что прогнозы нормально распределены, поэтому:

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

Чтобы решить эту проблему, мы могли бы использовать более сложные оценки (метрики), добавив точность повторной подстановки и т. д. (методы начальной загрузки .632 и .632+), см. подробности в статье.

Выбор модели

— это процесс поиска наиболее эффективной модели из набора моделей, созданных с использованием различных настроек гиперпараметров.
Выбор модели можно рассматривать как задачу метаоптимизации. Если мы используем тестовый набор как для оценки модели, так и для выбора модели несколько раз, мы имеем оптимистичную предвзятость («тестовая утечка информации»). сплит (3-х сторонний метод удержания). Однако, если нам не нужен выбор модели только для оценки, мы можем использовать двухстороннее разделение.
Наши шаги таковы:

  1. Разделить набор данных на обучающие, проверочные и тестовые наборы;
  2. Создавайте модели с разными гиперпараметрами и обучайте их на поезде и оценивайте их производительность на проверочном наборе;
  3. Мы можем переобучить лучшую модель на обучающих + проверочных наборах;
  4. Мы можем оценить производительность на невидимых данных (набор тестов).

k-кратная перекрестная проверка

Здесь мы имеем дело с фиксированными гиперпараметрами.
Разделяем набор данных на k частей и перебираем набор данных k раз: каждый раз мы используем k-1 часть для подбора модели и 1 часть (каждый раз разную) для проверки. Точность – это среднее значение k результатов, которые мы получаем на этапах проверки.
В сравнении с двухсторонними задержками: мы используем все данные для обучения и тестирования, что уменьшает пессимистическую предвзятость
При сравнении повторных задержек: тестовые данные не пересекаются. Эта независимость лучше подходит для статистического сравнения результатов. И мы используем все данные для проверки. Это также лучше для оценки.

Основное различие между двухсторонней задержкой и двукратной перекрестной проверкой заключается в том, что двукратная перекрестная проверка использует все данные для обучения и тестирования (чтобы уменьшить пессимистическую предвзятость, добавляя больше обучающих данных). А при сравнении с повторным контрольным тестом данные не перекрываются для 2-кратной перекрестной проверки.
Какое k выбрать?
Если k слишком мало — меньше обучаемых данных (больше предвзятость и дисперсия также могут увеличиваться, так как повышается чувствительность к разделению).
Если k=n, процесс называется перекрестной проверкой с исключением одного (LOOCV). Это затратно в вычислительном отношении, однако может быть полезно для небольших наборов данных.
LOOCV приблизительно объективен по сравнению с k-кратной перекрестной проверкой k‹n. Однако большим недостатком LOOCV является высокая дисперсия. Поскольку среднее значение переменных с высокой степенью корреляции имеет более высокую дисперсию, чем среднее значение переменных с низкой корреляцией.
Авторы упоминают эксперименты Кохави с различными наборами данных из реального мира и предполагают, что 10-кратная перекрестная проверка обеспечивает наилучший компромисс. между смещением и дисперсией.
Итак, когда k увеличивается:

  1. Смещение уменьшается;
  2. Увеличивается дисперсия;
  3. Вычислительные затраты увеличиваются;
  4. Исключение: k=2,3 также увеличивает дисперсию на небольших наборах данных (эффект случайной выборки).

Выбор модели посредством k-кратной перекрестной проверки. И снова идея состоит в том, чтобы сохранить независимый набор тестов:

  1. Разделить на поезд и тест;
  2. Применить k-кратную перекрестную проверку, чтобы выбрать лучший набор гиперпараметров;
  3. Мы можем использовать все обучение, чтобы соответствовать выбранной модели (уменьшить предвзятость, использовать больше данных;
  4. Мы можем оценить производительность тестом.

Сравнение алгоритмов

Я не пишу подробное описание своего понимания здесь, этот пост и так слишком длинный. Если вы не помните статистику, имеет смысл освежить свои знания перед чтением этой части (по крайней мере, у меня работает). Скажу только, где я нашел опечатки: стр. 39 самый низ (однако на стр. 40 есть подробный пример, так что все понятно); стр. 42 SSA=… там ACC avg должно быть в квадрате (проверил в авторском коде).
Также у меня возник вопрос, зачем нам какая-то статистика для сравнения алгоритмов, почему бы просто не сравнить баллы. Мое
понимание сейчас таково: это просто еще один подход. Когда мы сравниваем оценки при выборе модели, как мы сравниваем точность? Просто меньше или больше? Что, если разницу можно воспроизвести только на этом тестовом наборе? Не лучше ли считать, что разница между моделями есть, если разница превышает какой-то порог? Какой порог может быть значимым? 1%? 10%? Таким образом, мы можем перейти к статистически значимой разнице. Это только мое понимание.
Классификация, 2 алгоритма:

  1. Разница 2-х пропорций (точности 2-х моделей). Помимо нарушений (тестовые наборы не являются независимыми) имеет высокий уровень ложных срабатываний (здесь: найти разницу, пока ее нет), не рекомендуется для практики;
  2. Тест МакНемара (предпочтительнее пропорций), хорошо работает, если количество неверных ответов двух алгоритмов более 50;
  3. Биномиальный тест Если количество неправильных ответов 2-х алгоритмов меньше 50.

Классификация, несколько алгоритмов:

  1. Омнибусный критерий при нулевой гипотезе (разницы между моделями нет): ANOVA или q-критерий Кохрена;
  2. Если нулевая гипотеза отклоняется в тесте Омнибус (найдены различия), выполните попарный тест с корректировками для множественных сравнений, чтобы вычислить, где находится различие, скажем, Макнемара, с поправкой Бонферрони.

Классификаторы и регрессоры

  1. Парный t-критерий с повторной выборкой:
    не рекомендуется, так как нарушает допущения критерия Стьюдента, поскольку различия не распределяются нормально (поскольку точность не является независимой, обучающие и тестовые наборы перекрываются);
  2. K-кратный парный t-тест также нарушает предположения (лучше, но наборы поездов все еще перекрываются;
  3. Парный T-тест Dietrich 5×2 Fold Cross Validation еще лучше (наборы поездов становятся независимыми);
  4. Комбинированный тест Алпайдина 5 × 2 cv F является альтернативой парному Т-тесту Дитриха 5 × 2 с перекрестной проверкой.

Первоначально опубликовано на http://perfstories.wordpress.com 13 сентября 2021 г.