Глубокое понимание SVM, мягкого интервала и двойных задач

машинное обучение

СегодняТемы машинного обученияВ 33-й статье мы продолжаем рассказывать о модели SVM.

В предыдущей статье мы подтолкнули к выводу формулы модели SVM в линейно разделимой задаче и в итоге пришли к выводу, что это квадратичный член с неравенством:

Для студентов, которые хотят понять конкретный процесс деривации, вы можете обратиться к моей предыдущей статье:

Машинное обучение | Подробный принцип SVM и построение модели (1)

На самом деле в предыдущей статье осталась проблема, то есть мы надеемся получитью||\omega||Минимум, почему бы напрямую не попроситью||\omega||Минимум, не требуетсяю2||\omega||^2Самый маленький? Причина заключается в его решении, потому что мы должны преобразовать его вЗадача выпуклого квадратичного программирования(квадратичное программирование). Проблема QP также является очень важной областью компьютерных наук, и это также более сложная область, поскольку она требует глубоких знаний компьютеров и математики.

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

Процесс решения

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

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

Давайте посмотрим на процесс использования метода множителей Лагранжа, учитывая проблему ограничения неравенства:

Для этой, казалось бы, сложной системы уравнений введем обобщенную функцию Лангранжа и перепишем ее следующим образом:

L(x,альфа,бета)=f(x)+i=1kальфаigi(x)+j=1mбетаjhj(x),альфаi0L(x, \alpha, \beta)=f(x) + \sum_{i=1}^k \alpha_ig_i(x)+\sum_{j=1}^m \beta_jh_j(x), \quad \alpha_i \ge 0

Эта формула выглядит проще, чем приведенная выше система уравнений, но какой от нее толк? Мы просто проанализируем его, мы найдемLf(x)L \le f(x). так какальфаi0\alpha_i \ge 0gi(x)0g_i(x) \le 0. Итак, сложив два вместе,Lf(x)L \le f(x),когдаальфаi=0\alpha_i = 0Когда L может принимать максимальное значение, тоL=f(x)L = f(x). Итак, о чем мы просимmaxL(x,альфа,бета)\max L(x, \alpha, \beta).

А так как цель нашего запросаf(x)f(x)минимальное значение , наша конечная цельminxmaxальфаi0L(x,альфа,бета)\min_{x} \max_{\alpha_i \ge 0} L(x, \alpha, \beta).

двойная проблема

Далее мы поговорим о знаменитомдвойная проблемаИтак, так называемая проблема двойственности — это по существу обратный порядок неравенств уравнения с двумя неравенствами. ПучокminmaxL\min \max Lпревратиться вmaxminL\max \min L, но проблема в том, что положение знака неравенства заведомо важно, а порядок нельзя изменить произвольно, поэтому нам нужно доказать, что это изменение верно.

Для удобства запишем исходную задачу в видеθP(x)=minxmaxальфа,бетаL(x,альфа,бета)\theta_P(x)=\min_x \max_{\alpha, \beta}L(x, \alpha, \beta), мы определяемальфа\alphaибета\betaСвязанные уравнения:θD(альфа,бета)=minxL(x,альфа,бета)\theta_D(\alpha, \beta) = \min_{x}L(x, \alpha, \beta). Правая часть этого уравнения представляет собой минимизацию функции Лагранжа, потому что после определения x результат уравнения будет таким же, как иальфа\alphaа такжебета\betaсвязаны, так что этоальфа\alphaибета\betaФункция.

Максимизируем эту функцию:

maxальфаi0θD(альфа,бета)=maxальфаi0minxL(x,альфа,бета)\max_{\alpha_i \ge 0} \theta_D(\alpha, \beta) = \max_{\alpha_i \ge 0} \min_{x} L(x, \alpha, \beta)

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

θD(альфа,бета)=maxальфаi0minxL(x,альфа,бета)minxmaxальфаi0L(x,альфа,бета)=θP(x)\theta_D(\alpha, \beta) = \max_{\alpha_i \ge 0} \min_x L(x, \alpha, \beta) \le \min_x \max_{\alpha_i \ge 0} L(x, \alpha, \beta) = \theta_P(x)

Мы можем легко доказать эту формулу, переопределив уравнение Лагранжа:

minxL(x,альфа,бета)L(x,альфа,бета)maxальфаi0L(x,альфа,бета)\min_x L(x, \alpha, \beta) \le L(x, \alpha, \beta) \le \max_{\alpha_i \ge 0} L(x, \alpha, \beta)

Если мы хотим заменить исходную задачу на двойственную, нам нужно взять указанный выше знак неравенства. Математики уже строго доказали равенство условий уравнения Лагранжа, и нужно только удовлетворитьУсловие Каруша-Куна-Таккера(называемое состоянием КТТ). Условный вывод КТТ тоже очень сложный процесс, нам не нужно делать глубоких исследований, нужно только знать о его существовании.

Условий КТТ так много, кажется, что многие не сложные.

Сравниваем условия КТТ для решенияθP(x)\theta_P(x)Минимальное значение , это часть средней школы математики. Сначала упростим исходную формулу:

L(x,ю,b)=12ю2+i=1mальфаi(1yi(юTxi+b))=12ю2+i=1m(альфаiальфаiyiюTxiальфаiyib)=12ю2+i=1mальфаii=1mальфаiyiюTxii=1mальфаiyib\begin{aligned} L(x, \omega, b) &= \frac{1}{2}||\omega||^2 + \sum_{i=1}^m\alpha_i(1 - y_i(\omega^T x_i + b))\\ &= \frac{1}{2}||\omega||^2 + \sum_{i=1}^m (\alpha_i - \alpha_i y_i \omega^Tx_i - \alpha_i y_ib) \\ &= \frac{1}{2}||\omega||^2 + \sum_{i=1}^m \alpha_i - \sum_{i=1}^m \alpha_i y_i\omega^Tx_i - \sum{i=1}^m \alpha_i y_ib \end{aligned}

Правильно сноваю\omegaиbbСделайте вывод:

Получаем путем выводаю\omegaиальфа\alphaотношения, то есть до тех пор, пока мы определяемальфа\alphaЭто уж точною\omega, и мы можем волшебным образом обнаружить, что в приведенной выше формуле нет b, что указывает на то, что b было исключено нами. Когда мы берем экстремальное значение, полученное из приведенного выше вывода,ю\omegaиbbПодставить в исходную формулу, исключитью\omegaиbb, вы можете получить:

minю,bL(x,ю,b)=12юTю+i=1mальфаii=1mальфаiyiюTxii=1mальфаiyib=12юTi=1mальфаiyixi+i=1mальфаibi=1mальфаiyi=12юTi=1mальфаiyixi+i=1mальфаi=i=1mальфаi12i=1mj=1mальфаiальфаjyiyjxiTxj\begin{aligned} \min_{\omega, b} L(x, \omega, b) &= \frac{1}{2}\omega^T\omega + \sum_{i=1}^m \alpha_i - \sum_{i=1}^m \alpha_iy_i\omega^Tx_i - \sum_{i=1}^m \alpha_iy_i b \\ &= -\frac{1}{2}\omega^T\sum_{i=1}^m \alpha_iy_i x_i + \sum_{i=1}^m \alpha_i - b\sum_{i=1}^m \alpha_iy_i \\ & = -\frac{1}{2}\omega^T\sum_{i=1}^m \alpha_iy_i x_i + \sum_{i=1}^m \alpha_i \\ & = \sum_{i=1}^m \alpha_i - \frac{1}{2}\sum_{i=1}^m\sum_{j=1}^m \alpha_i \alpha_j y_i y_j x_i^T x_j \end{aligned}

Если мы будем соблюдать эту формулу, мы найдемОба x и y являются фиксированными значениямиОпределяется выборкой, единственной переменной является толькоальфа\alpha. Что нам нужно, так это максимальное значение приведенной выше формулы, единственная переменнаяальфа\alpha, проситьальфа\alphaможно вывести в соответствии сю\omegaи б.

тогда этоальфа\alphaКак попросить об этом? Мы поместим соответствующий контент в следующую статью.

Сегодняшняя статья здесь, если вам понравилась эта статья, пожалуйста, приходите на волнукачество три, поддержите меня (Подписывайтесь, делайте репосты, лайкайте).

Оригинальная ссылка, обратите внимание

Категории