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

Пример - набор для проверки

Представьте, что у нас есть набор данных D с размером выборки N = 100. Мы разбиваем наш набор данных на две части; обучающий набор размером 75 и проверочный набор размером 25. Мы хотим оценить 100 моделей, что означает, что у нас есть 100 наборов гипотез и найти модель с наилучшей производительностью на нашем проверочном наборе. Мы скажем, что все модели имеют d_VC = 10. Затем мы хотим дать верхнюю границу нашей ошибки вне выборки. Давайте сначала проиллюстрируем процесс, который нам предстоит пройти:

Как уже говорилось, у нас есть 100 моделей для оценки, что дает 100 наборов гипотез. Нам неизвестны размеры этих наборов гипотез - это означает, что они могут иметь бесконечные размеры. Каждый набор гипотез обучается на обучающих данных и дает окончательную гипотезу g_n-. Это косвенно создает новую гипотезу для наших данных проверки:

Теперь мы знаем размеры нашей новой гипотезы, которая составляет M = 100. Мы оцениваем наши гипотезы на проверочном наборе и выбираем ту с минимальной ошибкой, E_val (g_m * -). Это наша оценка E_out (g_m *) в выборке. Мы помним, что после того, как мы нашли gm *, мы тренируем гипотезу на всех данных и возвращаем модель. Поскольку мы знаем размер нашего набора гипотез, мы можем дать верхнюю границу нашей ошибки вне выборки с помощью:

Мы помним, что наша ошибка в выборке в данном случае - E_val (g_m * -), которую мы используем для привязки E_out (g_m * -). Мы выводим не gm * -, а gm *. Однако мы можем представить, что E_out (g_m *) меньше или равно E_out (g_m * -), поскольку мы будем тренировать нашу окончательную гипотезу на всем нашем наборе данных. В целом можно сказать, что у нас есть:

Важно отметить, что в этом случае N равно размеру нашего набора для проверки! Представим, что мы выбираем уровень достоверности 95%, т. Е. Δ = 0,05, и ошибку выборки 0,20. Тогда имеем следующую оценку:

Вместо этого представьте, что мы просто обучили каждую модель на всех данных и выбрали функцию с минимальной ошибкой выборки. Это привело бы к совершенно другому процессу. Давайте сначала проиллюстрируем это:

В этом случае наш набор гипотез представляет собой объединение всех наших 100 наборов гипотез - мы не знаем, сколько их в каждом, поэтому мы не знаем М. Мы также не используем набор проверки - вместо этого мы делаем то, что каждый Модель Hm в нашем наборе гипотез дает окончательную гипотезу, и мы выбираем ту, которая имеет минимальную ошибку. Это то же самое, что выбрать окончательную гипотезу из объединения всех наших наборов гипотез - следовательно, мы не можем сказать, что это простой конечный набор гипотез. Вместо этого нам нужно найти размерность VC объединения нашей гипотезы. В итоге мы получим следующую оценку:

Мы помним, что каждый набор гипотез имеет d_VC = 10. Следовательно, нам нужно сначала вычислить границу VC для нашего набора гипотез, что можно сделать с помощью:

Допустим, наша окончательная гипотеза все еще имеет ошибку выборки 0,20. Тогда мы получим следующую оценку:

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

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

Представьте, что у нас есть набор данных с N образцами. Вы отдаете его двум своим друзьям. Один из них применяет 5-кратное перекрестное тестирование: данные разделяются на 5 частей, а затем каждый раз, когда одна из складок резервируется для тестирования, а остальные четыре используются для обучения модели прогнозирования. Каждая из 5 складок используется для тестирования только один раз. Таким образом, ваш друг получает 5 моделей прогнозов и дает вам ту, которая имеет наименьшую ошибку теста. Другой друг применяет 10-кратное перекрестное тестирование таким же образом и возвращает вам модель с наименьшей ошибкой теста. Два друга работают независимо друг от друга. Пусть h_1 ∗ будет моделью, созданной первым другом, и E_in (h_1 *) его тестовой потерей, и пусть h_2 * будет моделью, созданной вторым другом, а E_in (h_2 *) его тестовой потерей. Мы хотим ограничить ошибку вне выборки для каждой гипотезы, выдвинутой вашими друзьями.

Давайте начнем с первого друга и его последней гипотезы, которая была найдена с помощью 5-кратной перекрестной проверки. Сначала мы можем визуализировать процесс:

Мы помним, что E_cv - это несмещенная оценка E_out (N - K). Можно сказать, что:

Мы используем неравенство для конечного набора гипотез, где M = 5, поскольку наш первый друг выдвигает всего 5 гипотез. Наша ошибка в выборке равна E_cv. N по-прежнему равно N, поскольку все данные были использованы в сумме. Следовательно, мы имеем следующее:

Давайте теперь сделаем то же самое для друга, который реализует 10-кратную перекрестную проверку. Тогда у нас было бы:

Теперь у нас есть 10 моделей, поэтому мы получим следующую оценку:

Заключение

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