С визуализацией для четкого объяснения влияния гиперпараметров

SVR или регрессия опорных векторов — это модель для задач регрессии. Для тех, кто хочет понять, чем это интересно, или думает, что уже знает, как работает модель, вот несколько простых вопросов:

Рассмотрим следующий простой набор данных только с одним признаком и некоторыми выбросами. На каждом рисунке один гиперпараметр меняет свое значение, и, таким образом, мы можем визуально интерпретировать, как это влияет на модель. Можете ли вы сказать, что такое гиперпараметр на каждом рисунке?

Если вы не знаете, что ж, эта статья написана для вас. А вот и структура статьи:

  • Во-первых, мы вспомним различные функции потерь линейных регрессоров. Мы увидим, как мы перейдем от регрессии OLS к SVR.
  • Затем мы изучим влияние всех гиперпараметров, определяющих функцию стоимости SVR.

1. Линейные модели и их функции стоимости

1.1 Регрессия МНК и ее версии со штрафами

SVR — это линейный регрессор, и, как и все другие линейные регрессоры, модель можно записать в виде y = aX+b.

Затем, чтобы найти коэффициенты (a и b), могут быть разные функции потерь и функции стоимости.

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

Самая известная линейная модель — это, конечно, регрессия OLS (Обычный метод наименьших квадратов). Иногда мы просто называем это линейной регрессией (что, на мой взгляд, немного сбивает с толку). Мы называем его Обычным, потому что коэффициенты не регулируются и не штрафуются. Мы называем это наименьшим квадратом, потому что пытаемся свести к минимуму квадратичную ошибку.

Если ввести регуляризацию коэффициентов, то получится гребень, ЛАССО или Эластичная сетка. Вот резюме:

1.2 Форма регрессии МНК к SVR

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

Тогда идея состоит в том, чтобы использовать «нечувствительную трубку», в которой ошибки игнорируются. Вот почему в названии функции потерь для SVR у нас есть термин «нечувствительный к эпсилону», а эпсилон определяет «ширину» трубки.

Наконец, мы добавляем срок наказания. А для СВР это обычно L2.

Вот диаграмма, показывающая, как мы переходим от регрессии МНК к SVR.

1.3 Общая картина для уточнения всех терминов

Чтобы определить окончательную функцию затрат, мы должны определить функцию потерь и штраф. А для одной функции потерь (квадрат ошибки или абсолютная ошибка) можно ввести понятие «эпсилон-нечувствительная трубка», где ошибки игнорируются.

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

Вот диаграмма со всеми функциями потерь и затрат:

Вот упрощенный вид:

Таким образом, SVR — это линейная модель с функцией стоимости, состоящей из функции нечувствительных к эпсилон потерь и штрафа L2.

Один интересный факт: когда мы определяем SVM для классификации, мы подчеркиваем часть «максимизация маржи», которая эквивалентна минимизации коэффициента, а используемая норма — L2. Для SVR мы обычно сосредотачиваемся на «нечувствительной к эпсилону» части.

Обычно мы не говорим о регрессии MEA, но это всего лишь частный случай SVR, когда эпсилон равен 0 и пенализация не используется.

Мы часто говорим, что гребень, LASSO и эластичная сеть являются улучшенными версиями регрессии OLS. Чтобы получить общую картину, лучше сказать, что ridge, LASSO и OLS — это частные случаи Elastic Net.

«Эпсилон-нечувствительная трубка» также может быть применена к регрессии МНК. Но специального названия для этого нет. Потеря называется нечувствительной к квадрату эпсилон.

Итак, в этой статье мы изучим УВО, чтобы понять влияние следующих факторов:

  • Квадратичная ошибка против абсолютной ошибки
  • Воздействие нечувствительной к эпсилону трубки и штраф L2
  • Квадрат нечувствительный к эпсилону по сравнению с нечувствительным к эпсилону

2. Анализ влияния гиперпараметров

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

Мы будем использовать разные оценщики — SGDRegressor, LinearSVR или SVR — в научном наборе, потому что это позволяет нам выбирать разные значения гиперпараметров. Мы также обсудим некоторые тонкие различия между ними.

Блокнот со всем кодом вы можете найти здесь.

2.1 Абсолютная ошибка более устойчива к выбросам

Чтобы проанализировать только тип потерь: абсолютная ошибка против квадратичной ошибки, мы установим альфу и эпсилон равными 0. Таким образом, мы в основном сравниваем регрессию OLS и регрессию MAE.

Минимизация MEA минимизирует медианное значение, тогда как MSE минимизирует среднее значение.

Таким образом, выброс в этом случае полностью игнорируется с помощью SVR (или регрессии MEA), тогда как он повлияет на регрессию OLS.

2.2 Нечувствительная трубка Epsilon и штрафы

Чтобы визуализировать «эпсилон-нечувствительную трубку», мы можем построить следующий график.

Для достаточно большого значения эпсилон (и в этом случае любое положительное значение для эпсилон достаточно велико, поскольку набор данных совершенно линейный) трубка эпсилон будет содержать весь набор данных. Для аналогии в случае классификации с помощью SVM мы используем термин «жесткая граница», чтобы охарактеризовать тот факт, что точки данных идеально линейно отделимы. Здесь можно сказать, что это «жесткая трубка».

Затем необходимо применить наказание, иначе у нас будет несколько решений. Потому что все пробирки, которые могут содержать точки данных, являются решениями без штрафных санкций. Со штрафом единственным решением будет решение с наименьшим наклоном (или вообще с наименьшей нормой L2). Это также эквивалентно «максимизации маржи» в случае SVM для классификации, потому что «максимизация маржи» эквивалентна «минимизации нормы коэффициента». Здесь мы также можем определить «маржу» как ширину трубы, и цель состоит в том, чтобы максимизировать ширину трубы.

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

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

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

2.3 Штраф за перехват

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

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

Чтобы визуализировать влияние альфа (или C, что равно 1/альфа), мы можем использовать SVR. Когда C мало, регуляризация сильная, поэтому наклон будет небольшим.

Выводы

Что такое СВР? Как объяснить, как работает эта линейная модель? Когда его использовать? Чем она отличается от других линейных моделей?

Вот мои мысли:

  • Во-первых, с абсолютной ошибкой SVR более устойчив к выбросам по сравнению с регрессией OLS. Поэтому, если две модели дают очень разные результаты, мы можем попытаться найти выбросы и удалить их. Под выбросами я подразумеваю выбросы для целевой переменной.
  • Затем нечувствительная к эпсилону трубка помогает нам игнорировать точки данных с небольшими ошибками. С точки зрения оптимизации модели это не очень полезно, потому что меньше данных означает меньше информации. Но с точки зрения вычислений это может ускорить обучение модели. В конце концов, для определения модели используются только некоторые точки данных, и они соответственно называются опорными векторами.
  • Наконец, должен применяться срок наказания. Стоит отметить, что в случае SVM для классификации «максимизация запаса» эквивалентна «штрафу», а для SVR штраф можно интерпретировать как максимизацию ширины эпсилон-нечувствительной трубки.

Не забудьте получить код и узнать больше о машинном обучении. Спасибо за Вашу поддержку.

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