Переобучение: сложность модели

В предыдущем модуле была представлена ​​следующая модель, которая неверно классифицировала множество деревьев в тестовом наборе:

Рисунок 16. То же изображение, что и на рисунке 13. Это сложная форма, из-за которой многие деревья неправильно классифицируются.
Рисунок 16. Сложная модель с неправильным поведением из предыдущего раздела.

Предыдущая модель содержит множество сложных форм. Будет ли более простая модель лучше обрабатывать новые данные? Предположим, вы заменяете сложную модель до смешного простой — прямой линией.

Рисунок 17. Модель с прямыми линиями, которая отлично справляется с отделением больных деревьев от здоровых.
Рисунок 17. Гораздо более простая модель.

Простая модель лучше обобщает новые данные, чем сложная. То есть простая модель давала лучшие прогнозы на тестовом наборе, чем сложная модель.

Простота уже давно побеждает сложность. На самом деле предпочтение простоты восходит к Древней Греции. Столетия спустя монах четырнадцатого века по имени Уильям Оккам формализовал предпочтение простоты в философии, известной как бритва Оккама . Эта философия остается важнейшим основополагающим принципом многих наук, включая машинное обучение.

Упражнения: проверьте свое понимание

Вы разрабатываете уравнение физики. Какая из следующих формул больше соответствует бритве Оккама?
Формула с тремя переменными.
Три переменных более благоприятны для Оккама, чем двенадцать переменных.
Формула с двенадцатью переменными.
Двенадцать переменных кажутся слишком сложными, не так ли? Каждая из двух самых известных физических формул всех времен (F=ma и E=mc 2 ) включает только три переменные.
Вы участвуете в совершенно новом проекте машинного обучения и собираетесь выбрать свои первые функции. Сколько функций следует выбрать?
Выберите 1–3 признака, которые обладают сильной предсказательной силой.
Лучше всего, чтобы ваш конвейер сбора данных начинался только с одной или двух функций. Это поможет вам убедиться, что модель ML работает должным образом. Кроме того, когда вы построите базовый уровень из нескольких функций, вы почувствуете, что добились прогресса!
Выберите 4–6 признаков, которые обладают сильной предсказательной силой.
Возможно, со временем вы сможете использовать такое количество функций, но все же лучше начать с меньшего количества. Меньше функций обычно означает меньше ненужных сложностей.
Выберите как можно больше функций, чтобы начать наблюдать, какие функции обладают наибольшей прогностической силой.
Начните с меньшего. Каждая новая функция добавляет новое измерение в ваш набор обучающих данных. Когда размерность увеличивается, объем пространства увеличивается настолько быстро, что доступных обучающих данных становится мало. Чем разреженнее ваши данные, тем сложнее модели изучить взаимосвязь между действительно важными функциями и меткой. Это явление называется «проклятием размерности».

Регуляризация

Модели машинного обучения должны одновременно преследовать две противоречивые цели:

  • Хорошо согласуйте данные.
  • Сопоставьте данные как можно проще.

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

Потери и сложность

До сих пор в этом курсе предполагалось, что единственной целью тренировки является минимизация потерь; то есть:

$$\text{minimize(loss)}$$

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

$$\text{minimize(loss + complexity)}$$

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

Что такое сложность?

Вы уже видели несколько различных способов количественной оценки потерь. Как бы вы оценили сложность? Начните свое исследование со следующего упражнения:

Упражнение: проверьте свою интуицию

До сих пор мы довольно смутно представляли, что такое сложность на самом деле. Как вы думаете, какие из следующих идей будут разумными показателями сложности?
Сложность является функцией весов модели.
Да, это один из способов измерения сложности некоторых моделей. Эта метрика называется регуляризацией L1 .
Сложность является функцией квадрата весов модели.
Да, таким образом можно измерить сложность некоторых моделей. Эта метрика называется L2- регуляризацией .
Сложность является функцией смещений всех функций модели.
Предвзятость не измеряет сложность.