В отличие от других статей, я нашел запись в Википедии по этой теме нечитаемой для не математического человека (такого как я).
Я понял основную идею, что вы предпочитаете модели с меньшим количеством правил. Чего я не понимаю, так это как вы переходите от набора правил к «показателю регуляризации», который вы можете использовать для сортировки моделей от наименьшего к наибольшему числу.
Можете ли вы описать простой метод регуляризации?
Я заинтересован в контексте анализа статистических торговых систем. Было бы здорово, если бы вы могли описать, если / как я могу применить регуляризацию для анализа следующих двух прогностических моделей:
Модель 1 - цена растет, когда:
- exp_moving_avg (цена, период = 50)> exp_moving_avg (цена, период = 200)
Модель 2 - цена растет, когда:
- цена [n] <цена [n-1] 10 раз подряд
- exp_moving_avg (цена, период = 200) идет вверх
Но меня больше интересует ощущение того, как вы делаете регуляризацию. Так что, если вы знаете лучшие модели для объяснения этого, пожалуйста, сделайте.
Ответы:
Проще говоря, регуляризация - это настройка или выбор предпочтительного уровня сложности модели, чтобы ваши модели лучше предсказывали (обобщали). Если вы этого не сделаете, ваши модели могут быть слишком сложными и недостаточно подходящими или слишком простыми и недостаточно подходящими, что в любом случае дает неверные прогнозы.
Если вы наименьших квадратов подгоняете сложную модель к небольшому набору обучающих данных, вы, вероятно, будете соответствовать этому, это наиболее распространенная ситуация. Оптимальная сложность модели зависит от типа процесса, который вы моделируете, и качества данных, поэтому нет априори правильной сложности модели.
Для упорядочения нужно 2 вещи:
Обратите внимание, что оптимизированная ошибка регуляризации не будет точной оценкой общей ошибки прогнозирования, поэтому после регуляризации вам, наконец, придется использовать дополнительный набор данных проверки или выполнить некоторый дополнительный статистический анализ, чтобы получить несмещенную ошибку прогнозирования.
Альтернативой использованию (перекрестной) проверочной проверки является использование байесовских приоров или других методов для оценки сложности или неравномерности, но они требуют большей статистической сложности и знания проблемы и особенностей модели.
источник
Предположим, вы выполняете обучение с помощью минимизации эмпирического риска.
Точнее:
Тогда цель учебного процесса состоит в том, чтобы найти (этот метод называется эмпирическим риском сведение к минимуму).Model=argmin∑L(actual,predicted(Model))
Но если у вас недостаточно данных и в вашей модели огромное количество переменных, очень вероятно найти такую модель, которая не только объясняет закономерности, но и объясняет случайный шум в ваших данных. Этот эффект называется переоснащением и приводит к ухудшению обобщающей способности вашей модели.
Во избежание переопределения термин регуляризации вводится в целевую функцию:Model=argmin∑L(actual,predicted(Model))+λR(Model)
Обычно этот термин накладывает особое наказание на сложные модели. Например, в моделях с большими коэффициентами (регуляризация L2, = сумма квадратов коэффициентов) или с множеством ненулевых коэффициентов (регуляризация L1, = сумма абсолютных значений коэффициентов). Если мы обучаем дерево решений, может быть его глубиной.R(Model) R R R
Другая точка зрения состоит в том, что вводит наши предварительные знания о форме наилучшей модели («она не имеет слишком больших коэффициентов», «она почти ортогональна к »)R a¯
источник
Проще говоря, регуляризация - это то, что принесет пользу решениям, которые вы ожидаете получить. Как вы упомянули, например, вы можете воспользоваться «простыми» решениями для некоторого определения простоты. Если у вашей проблемы есть правила, одно определение может быть меньше правил. Но это зависит от проблемы.
Вы задаете правильный вопрос, однако. Например, в машинах опорных векторов эта «простота» заключается в разрыве связей в направлении «максимального запаса». Этот запас является тем, что может быть четко определено с точки зрения проблемы. В статье о SVM в Википедии есть очень хороший геометрический вывод . Оказывается, что термин регуляризации, по крайней мере, возможно, является «секретным соусом» SVM.
Как вы делаете регуляризацию? В общем, это связано с методом, который вы используете, если вы используете SVM, вы делаете регуляризацию L2, если вы используете LASSO, вы делаете регуляризацию L1 (посмотрите, что говорит hairybeast). Однако, если вы разрабатываете свой собственный метод, вам нужно знать, как отличить желательные решения от нежелательных, и иметь функцию, которая количественно оценивает это. В конце концов у вас будет стоимостной термин и термин регуляризации, и вы захотите оптимизировать сумму обоих.
источник
Методы регуляризации - это методы, применяемые к моделям машинного обучения, которые делают границу решения / адаптированную модель более гладкой. Эти методы помогают предотвратить переоснащение.
Примеры: L1, L2, Dropout, снижение веса в нейронных сетях. Параметр в SVM.C
источник
Говоря простым языком, Регуляризация - это метод, позволяющий избежать чрезмерной подгонки при обучении алгоритмам машинного обучения. Если у вас есть алгоритм с достаточным количеством свободных параметров, вы можете с большой детализацией интерполировать свою выборку, но примеры, выходящие за пределы выборки, могут не следовать этой детальной интерполяции, поскольку она просто фиксирует шум или случайные неровности в выборке вместо истинного тренда.
Избыточного соответствия можно избежать, ограничивая абсолютное значение параметров в модели. Это можно сделать, добавив термин в функцию стоимости, который налагает штраф на основе величины параметров модели. Если величина измеряется в норме L1, это называется «регуляризацией L1» (и обычно это приводит к разреженным моделям), если она измеряется в норме L2, это называется «регуляризацией L2» и так далее.
источник