Почему существует необходимость использования регуляризации в задачах машинного обучения?

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

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

f(x) = Wx

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

3 ответа

Решение

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

Поскольку в большинстве задач машинного обучения у нас нет необходимого количества обучающих образцов или сложность модели велика, мы должны использовать регуляризацию, чтобы избежать или уменьшить вероятность переоснащения. Интуитивно понятно, как регуляризация работает так, что она вводит штрафной argmin∑L(desired,predictionFunction(Wx)) где L является функцией потерь, которая вычисляет, насколько прогноз модели отклоняется от желаемых целей. Таким образом, новая функция потерь становится argmin∑L(desired,predictionFunction(Wx)) + lambda*reg(w) где reg это тип регуляризации (например, squared L2) а также lambda это коэффициент, который контролирует эффект регуляризации. Затем, естественно, при минимизации функции стоимости весовые векторы ограничиваются небольшой квадратной длиной (например, squared L2 norm) и уменьшить до нуля. Это связано с тем, что чем больше квадрат весовых векторов, тем выше потери. Следовательно, весовые векторы также должны компенсировать снижение потерь модели во время оптимизации.

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

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

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

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