Я закончил курс по машинному обучению Эндрю Нг около года назад, и сейчас я пишу свои исследования по математике в старших классах по методам логистической регрессии и методам оптимизации производительности. Одним из таких методов является, конечно, регуляризация.
Целью регуляризации является предотвращение переоснащения путем расширения функции стоимости, чтобы включить цель простоты модели. Мы можем достичь этого, штрафуя размер весов, добавляя к функции стоимости каждый квадрат веса, умноженный на некоторый параметр регуляризации.
Теперь алгоритм машинного обучения будет нацелен на уменьшение веса, сохраняя при этом точность тренировочного набора. Идея состоит в том, что мы достигнем некоторой точки в середине, где мы можем создать модель, которая обобщает данные и не пытается вписаться во все стохастические шумы, будучи менее сложной.
Мое замешательство, почему мы наказываем размер веса? Почему большие веса создают более сложные модели, а меньшие веса создают более простые / гладкие модели? Эндрю Нг в своей лекции утверждает, что объяснение трудно преподавать, но я думаю, что сейчас ищу это объяснение.
Профессор Нг действительно привел пример того, как новая функция стоимости может привести к тому, что веса объектов (т. Е. Х ^ 3 и х ^ 4) стремятся к нулю, так что степень модели уменьшается, но это не создает полной объяснение.
Моя интуиция заключается в том, что меньшие веса будут иметь тенденцию быть более «приемлемыми» для объектов с большими показателями, чем для объектов с меньшими показателями (поскольку функции с небольшими весами являются основой функции). Меньшие веса подразумевают меньший «вклад» в функции с высоким порядком. Но эта интуиция не очень конкретна.
Ответы:
При использовании регуляризации вы не только свести к минимуму в выборках ошибки , ноO U T O FSampleError≤InSampleError+ModelComplexityPenalty ,
Точнее, для гипотезыh∈H, гдеλ- некоторый параметр, обычноλ∈(0,1),m- количество примеров в вашем наборе данных, аΩ- некоторый штраф, зависящий от весовw,Ω=жТш. Это известно какдополненная ошибка. Теперь вы можете минимизировать функцию выше, только если веса довольно малы.Jaug(h(x),y,λ,Ω)=J(h(x),y)+λ2mΩ h∈H λ λ ∈ ( 0 , 1 ) м Ω вес Ω = шTвес
Вот немного кода R, чтобы играть с
Таким образом, вместо того, чтобы наказывать все пространство гипотез , мы штрафуем каждую гипотезу h в отдельности. Мы иногда называем гипотезу h ее весовым вектором w .ЧАС час час вес
Что касается того, почему малые веса соответствуют низкой модельной сложности, давайте рассмотрим следующую гипотезу: . Всего мы получили три активных весовых параметра w 1 , … , w 3 . Теперь давайте установим для w 3 очень очень маленькое значение, w 3 = 0 . Это уменьшает сложность модели до: hчас1( х ) = х1× ш1+ х2× ш2+ х3× ш3 вес1, … , Ш3 вес3 вес3= 0 . Вместо трех активных весовых параметров у нас осталось только два.час1( х ) = х1× ш1+ х2× ш2
источник
Я не уверен, что я действительно знаю, о чем говорю, но я попробую. Я думаю, что не столько малый вес предотвращает переоснащение, сколько факт, что регуляризация сильнее уменьшает пространство модели. На самом деле вы можете регулировать около 10000000, если хотите, взяв норму L2 ваших значений X минус вектор 10000000s. Это также уменьшит переоснащение (конечно, вы должны иметь некоторое обоснование для этого (то есть, возможно, ваши значения Y в 10000000 раз больше, чем сумма ваших значений X, но на самом деле никто не делает этого, потому что вы можете просто изменить масштаб данных).
Смещение и дисперсия являются функцией сложности модели. Это связано с теорией ВК, так что посмотрите на это. Чем больше пространство возможных моделей (т. Е. Значений, которые могут принимать все ваши параметры), тем больше вероятность того, что модель подойдет. Если ваша модель может делать все, от прямой линии до покачивания во всех направлениях, как синусоида, которая также может подниматься и опускаться, гораздо более вероятно, что вы обнаружите и смоделируете случайные возмущения в ваших данных, которые не являются результатом лежащий в основе сигнал, но результат просто счастливой случайности в этом наборе данных (вот почему получение большего количества данных помогает перегонке, но не переоценке).
Когда вы упорядочиваете, в основном вы уменьшаете пространство модели. Это не обязательно означает, что более гладкие / более плоские функции имеют более высокое смещение и меньшую дисперсию. Подумайте о линейной модели, которая перекрывается синусоидальной волной, которая имеет ограниченную амплитуду колебаний, которая в принципе ничего не делает (это в основном нечеткая линия). Эта функция в некотором смысле является супер-волнистой, но лишь немного больше, чем линейная регрессия. Причина, по которой более гладкие / более плоские функции имеют тенденцию к более высокому смещению и меньшей дисперсии, заключается в том, что мы, как специалист по данным, предполагаем, что, если у нас будет уменьшенное пространство выборки, мы бы предпочли, чтобы бритва Оккама оставляла модели более гладкими и простыми и выбрасывала модели которые колеблются и колеблются повсюду. Имеет смысл сначала выбросить шаткие модели,
Регуляризация, такая как регрессия гребня, уменьшает пространство модели, потому что это делает более дорогостоящим дальнейшее удаление от нуля (или любого числа). Таким образом, когда модель сталкивается с выбором с учетом небольшого возмущения в ваших данных, она, скорее всего, будет ошибаться в сторону отсутствия, потому что это (как правило) увеличит значение вашего параметра. Если это возмущение происходит из-за случайной случайности (т. Е. Одна из ваших переменных x только что имела небольшую случайную корреляцию с вашими переменными y), модель не примет это во внимание по сравнению с нерегулярной регрессией, потому что нерегулируемая регрессия не связана с увеличение размеров бета. Однако, если это возмущение вызвано реальным сигналом, ваша регуляризованная регрессия, скорее всего, пропустит его, поэтому у него более высокое смещение (и почему существует компромисс смещения дисперсии).
источник
История:
Моя бабушка ходит, но не лезет. Некоторые бабушки делают. Одна бабушка была известна скалолазанием Килиманджаро .
Этот спящий вулкан велик. Это 16 000 футов над его основанием. (Не ненавидь мои имперские части.) Иногда на вершине также есть ледники.
Если вы взбираетесь на год, когда ледника нет, и вы попадаете на вершину, это такая же вершина, как если бы был ледник? Высота отличается. Путь, по которому вы должны идти, отличается. Что если вы пойдете на вершину, когда толщина ледника будет больше? Это делает это большим достижением? Около 35 000 человек пытаются подняться на него каждый год, но только около 16 000 человек добиваются успеха.
Приложение:
Итак, я бы объяснил моей бабушке контроль весов (он же минимизирует сложность модели) следующим образом:
Бабушка, твой мозг - удивительный мыслитель, знаешь ли ты это или нет. Если я спрошу вас, сколько из 16 000, которые думают, что достигли вершины, на самом деле так и сделали, вы бы сказали «все».
Если бы я поместил датчики в обувь всех 30 000 альпинистов и измерил высоту над уровнем моря, то некоторые из этих людей не поднялись бы так высоко, как другие, и могли бы не соответствовать требованиям. Когда я делаю это, я иду к постоянной модели - я говорю, что если высота не равна некоторому процентилю измеренных максимальных высот, то это не вершина. Некоторые люди прыгают на вершине. Некоторые люди просто пересекают черту и садятся.
Я мог бы добавить широту и долготу к датчику и подобрать некоторые уравнения более высокого порядка, и, возможно, я мог бы получить лучшую подгонку, и у меня было бы больше людей, может быть, даже ровно 45% от общего числа людей, которые пытаются это сделать.
Итак, скажем, следующий год - это год "большого ледника" или года "без ледника", потому что какой-то вулкан действительно трансформирует альбедо Земли. Если я возьму свою сложную и требовательную модель из этого года и применил ее к людям, которые поднимаются в следующем году, модель получит странные результаты. Может быть, все "пройдут" или даже будут слишком высокими, чтобы пройти. Может быть, никто вообще не пройдет, и он подумает, что на самом деле никто не завершил восхождение. Особенно, когда модель сложная, она не будет обобщать. Он может в точности соответствовать данным «обучения» за этот год, но когда поступают новые данные, он ведет себя плохо.
Обсуждение:
Когда вы ограничиваете сложность модели, обычно вы можете получить лучшее обобщение без чрезмерной подгонки. Использование более простых моделей, построенных с учетом реальных изменений, дает лучшие результаты, при прочих равных условиях.
Теперь у вас есть фиксированная топология сети, поэтому вы говорите «мой счетчик параметров фиксирован» - у меня не может быть вариаций в сложности модели. Ерунда. Измерьте энтропию в весах. Когда энтропия выше, это означает, что некоторые коэффициенты несут существенно большую «информативность», чем другие. Если у вас очень низкая энтропия, это означает, что в целом коэффициенты имеют одинаковый уровень «информативности». Информативность не обязательно хорошая вещь. При демократии вы хотите, чтобы все люди были равны, а такие вещи, как Джордж Оруэлл, «более равный, чем другие», являются мерой неудач системы. Если у вас нет веских причин для этого, вы хотите, чтобы веса были очень похожи друг на друга.
От себя лично: вместо использования вуду или эвристики я предпочитаю такие вещи, как «критерии информации», потому что они позволяют мне получать надежные и последовательные результаты. AIC , AICc и BIC - некоторые общие и полезные отправные точки. Повторение анализа для определения стабильности решения или диапазона результатов информационных критериев является распространенным подходом. Можно взглянуть на потолок энтропии в весах.
источник
Простая интуиция заключается в следующем. Помните, что для регуляризации функции должны быть стандартизированы, чтобы иметь ок. тот же масштаб.
Допустим, функция минимизации - это только суммы квадратов ошибок:
Теперь рассмотрим регуляризацию, LASSO в этом случае. Функции, которые будут минимизированы
Добавление дополнительной функции теперь приводит к дополнительному штрафу: сумма абсолютных коэффициентов становится больше! Сокращение SSE должно перевесить дополнительный штраф. Больше нельзя добавлять дополнительные функции без затрат.
Комбинация стандартизации признаков и штрафования суммы абсолютных коэффициентов ограничивает пространство поиска, приводя к меньшему переоснащению.
Теперь ЛАССО:
имеет тенденцию ставить коэффициенты в ноль, в то время как гребень регрессии:
имеет тенденцию уменьшать коэффициенты пропорционально. Это можно рассматривать как побочный эффект от типа штрафной функции. Картинка ниже помогает в этом:
Функция регуляризирующего штрафа на практике дает «бюджет» для параметров, как показано выше на голубой области.
Фото взято с https://onlinecourses.science.psu.edu/stat857/node/158
Подводя итог: регуляризация штрафует добавление дополнительных параметров, и в зависимости от типа регуляризации сократит все коэффициенты (ребро), или установит число коэффициентов в 0, поддерживая другие коэффициенты, насколько позволяет бюджет (лассо)
источник
При добавлении ко входу шума Гасса модель обучения будет вести себя как регуляризатор штрафа L2.
Чтобы понять почему, рассмотрим линейную регрессию, в которой к функциям добавлен шум iid. Потеря теперь будет зависеть от ошибок + вклад нормы веса.
см. вывод: https://www.youtube.com/watch?v=qw4vtBYhLp0
источник
Я помню, что в классе университета мой учитель сказал, что наказание больших параметров может уменьшить переоснащение, потому что это мешает модели придавать слишком большой вес конкретным особенностям в данных, что приводит к переобучению, поскольку модель просто запоминает некоторые специфические характеристики данных и соотносит их с ярлык вместо того, чтобы пытаться выучить общие правила.
источник