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

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

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

f(x) = Wx

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


comment
Ваш вопрос: почему уменьшение параметров W до нуля снижает сложность модели? В любом случае - вероятно, следует перенести в статистику.   -  person cel    schedule 14.01.2016
comment
Нет, я спрашиваю, зачем нам R(w) в f(x)=wx+R(w). Потому что я думаю, что в линейной классификации комплекс модели одинаков для любого выбранного нами w. Но почему мы предпочитаем маленькие?   -  person Demonedge    schedule 14.01.2016
comment
Что ж, если вам нечего знать ответ на мой вопрос, я легко отвечу на ваш: Потому что мы хотим уменьшить сложность модели. Меньший вектор w приводит к менее сложной модели, часто предпочтительны менее сложные модели. См. en.wikipedia.org/wiki/Occam%27s_razor для получения философской точки зрения. или en.wikipedia.org/wiki/Regularization_(mathematics) для более с математической точки зрения.   -  person cel    schedule 14.01.2016
comment
Хотя, по моему мнению, статья в Википедии не так уж хороша, потому что она не дает интуитивного представления о том, КАК регуляризация помогает бороться с переоснащением. Об этом есть отличный раздел в «Распознавании образов и машинном обучении» Кристофера Бишопа, но не похоже, что для этой главы есть бесплатный предварительный просмотр.   -  person cel    schedule 14.01.2016
comment
Я не понимаю, почему разные w изменяют сложность модели? Мы измеряем сложность модели количеством ее параметров или выбором гипотезы (линейной, квадратичной, кубической или чем-то еще). Но в линейной классификации все они одинаковы для разного выбора w. Так почему же разные w вызывают разную сложность модели?   -  person Demonedge    schedule 14.01.2016
comment
Потому что все методы регуляризации сжимаются w к нулю. Тогда вам нужно только понять, почему уменьшение параметров w до нуля снижает сложность модели, и у вас есть интуитивное понимание.   -  person cel    schedule 14.01.2016
comment
Я рекомендую вам прочитать Раздел 3 в Элементы статистического обучения. Выбор наилучшего подмножества отбрасывает все переменные дискретным образом, тогда как сокращение отбрасывает переменные непрерывно. Почему нам нужно отбрасывать некоторые переменные? просто сбор мусора.   -  person serge_k    schedule 15.01.2016


Ответы (3)


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

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

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

person Amir    schedule 14.01.2016

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

введите здесь описание изображения

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

person Aditya    schedule 04.06.2019

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

person Dhruv Gangwani    schedule 31.01.2021