Процесс обучения модели заключается в разделении данных на два набора: обучающий набор и тестовый набор. Когда мы запускаем нашу модель на поезде и тестовом наборе, мы получаем (барабанная дробь!!!!) ошибку поезда и тестовую ошибку соответственно. наша модель работает. Если мы обучим все данные и протестируем их на одних и тех же данных, то, конечно, модель будет работать хорошо, потому что модель видела данные раньше. Ценность модели определяется тем, насколько она точна на невидимых данных.

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

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

Очень просто, верно? К сожалению, у него есть некоторые недостатки. Ошибка набора проверки может быть очень изменчивой в зависимости от разделения данных. Это означает, что каждый раз, когда мы реализуем подход с набором валидации, есть вероятность, что мы будем получать разные ошибки набора валидации. Второй недостаток заключается в том, что если мы разделим данные пополам, то модель лишится половины данных. Это означает, что модель не будет работать хорошо.

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

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

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

LOOCV решает проблему изменчивости подхода с проверочным набором, поскольку модель получает возможность обучаться почти на всех данных (за исключением этого одиночного наблюдения), что означает отсутствие случайности при разделении данных на обучающий и тестовый наборы. Кроме того, поскольку она обучается почти на всех данных, модель будет работать лучше на невидимых данных.

Недостатком LOOCV является то, что нам придется реализовать это n раз. Если есть 1 миллион точек данных, нам придется реализовать это миллион раз! Выполнение LOOCV может быть вычислительно неэффективным и трудоемким. Но не волнуйтесь. На помощь приходит K-кратная перекрестная проверка.

K-кратная перекрестная проверка разбивает данные на k подмножеств или групп одинакового размера. Первая складка рассматривается как проверочный набор, а модель подгоняется к остальным сгибам. Ошибка будет рассчитана с использованием этой валидации. Этот процесс повторяется k раз, при этом каждая складка имеет шанс стать проверочной. K-кратная оценка CV будет средним значением всех кратных ошибок проверки.

Преимущество k-fold по сравнению с LOOCV заключается в том, что k-кратность требует меньших вычислительных затрат. На практике k обычно равно 5 или 10. Это означает, что перекрестная проверка выполняется только 5 или 10 раз, в отличие от n раз при использовании LOOCV.

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

На приведенном выше графике показано, как использовать перекрестную проверку для выбора лучшей модели. Синяя линия — фактическая ошибка теста. Черная пунктирная линия — это LOOCV, а оранжевая линия — перекрестная проверка в k-кратном порядке. «Гибкость» (ось X) можно рассматривать как разные модели, потому что каждое увеличение гибкости — это увеличение мощности, до которой повышается функция. Если гибкость равна 2, это означает, что функция возведена во вторую степень. Мы можем попробовать различные модели и посмотреть на результаты перекрестной проверки, чтобы найти лучшую модель. Слева лучшая модель — около 9. В центре лучшая модель — около 6, а справа лучшая модель — 10. Как мы видим, ошибки перекрестной проверки очень близки к фактическим ошибкам теста. В настройках классификации вместо использования MSE мы будем использовать частоту ошибок (как часто мы неправильно классифицировали нашу метку).

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

Начальная загрузка используется для количественной оценки неопределенности, связанной с данной оценкой или методом статистического обучения. Принцип работы начальной загрузки заключается в получении отдельных наборов данных путем непрерывной выборки наблюдений из исходного набора данных. Чтобы получить эти разные наборы данных, начальная загрузка случайным образом выбирает ряд наблюдений с заменой.

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

Стандартная ошибка может сказать нам, насколько в среднем наш прогноз будет отличаться от фактических значений. Повторим это утверждение с примером: если стандартная ошибка равна 0,12, то это означает, что мы ожидаем, что наш прогноз в среднем будет отличаться от фактического значения на 0,12.

Соавторы: Майкл Меллинджер

Гитхаб

Это учебный процесс для нас, поэтому, если есть что-то неправильное или неясное, сообщите нам об этом в комментариях, и мы сможем это исправить.