Это второй день моего участия в августовском испытании обновлений, подробности о мероприятии:Испытание августовского обновления
6.1 Первичные и двойственные проблемы
6.1.1 Двойственная проблема
Давайте временно отложим проблему svm и посмотрим, как решить проблему максимального значения обычных ограничений неравенства, Предположим, проблема выглядит следующим образом:
⎩⎪⎪⎨⎪⎪⎧minwf(w)s.t.gi(w)≤0i=1...ks.t.hj(w)=0j=1...m(2)
Это максимальная задача с ограничениями равенства и неравенства, мы сначала определяем две функции:
L(w,α,β)θ(α,β)=f(w)+i=1∑kαgi(w)+j=1∑mβhj(w)=minwL(w,α,β)(3)
Затем определим двойственную задачу исходной задачи (2) как:
{maxα,βθ(α,β)s.t.αi≥0i=1...k(4)
Отсюда делаем первый вывод: еслиw*есть решение исходной задачи (α*,β*) является решением двойственной задачи, тоf(w*)≥θ(α*,β*).
Доказательство следующее:
θ(α*,β*)=minwL(w,α*,β*)≤L(w*,α*,β*)=f(w*)+i=1∑kα*gi(w*)+j=1∑mβ*hj(w*)
так какw*есть решение исходной задачи, удовлетворяющее ограничениям исходной задачи:gi(w*)≤0,hi(w*)=0,αiявляется решением двойственной задачи, удовлетворяющим ограничениям двойственной задачиαi*≥0, поэтому мы можем получить:
i=1∑kα*gi(w*)j=1∑mβ*hj(w*)≤0=0
завершитьf(w*)≥θ(α*,β*).
6.1.2 Сильная теорема двойственности
Мы видим, что основная задача и двойственная задача не всегда равны, и когда соблюдается знак равенства, это называетсясильная двойственность(strong duality), когда устанавливается знак равенства? Затем нам нужно ввести сильную теорему двойственности:
какg(w)=Aw+b,h(w)=cw+d,иf(w)завыпуклыйписьмономер,ноимеютf(w*)=θ(α*,β*)
Проще говоря, если исходная проблемавыпуклая функция, а ограниченияЛинейная функция, решение исходной задачиf(w*)равно решению двойственной функцииθ(α*,β*), из-за ограниченных возможностей здесь невозможно привести подробное доказательство, если вы хотите узнать больше, вы можете обратиться к МООККурс машинного обучения профессора Ху Хаоджи из Чжэцзянского университета.
А по сильной теореме двойственности можно доказать, что для любогоi= 1 к k имеютαigi(w)=0(т.е. состояние ККТ). Доказательство следующее:
f(w*)=θ(α*,β*)=minwL(w,α*,β*)≤L(w*,α*,β*)=f(w*)+i=1∑kαi*gi(w*)+j=1∑mβj*hj(w*)
так какw*есть решение исходной задачи, удовлетворяющее ограничениям исходной задачи:gi(w*)≤0,hi(w*)=0,αiявляется решением двойственной задачи, удовлетворяющим ограничениям двойственной задачиαi*≥0, поэтому мы можем получить:αigi(w)=0
6.1.3 Резюме
Комбинируя вышеизложенное, мы получаем основную проблему и двойную проблему:
Оригинальный вопрос:
⎩⎪⎪⎨⎪⎪⎧minwf(w)s.t.gi(w)≤0i=1...ks.t.hj(w)=0j=1...m
Двойная проблема:
{maxα,βθ(α,β)s.t.αi≥0i=1...k
в
θ(α,β)L(w,α,β)=minwL(w,α,β)=f(w)+i=1∑kαigi(w)+j=1∑mβjhj(w)
Оптимальное решение прямой задачи, удовлетворяющее сильной теореме двойственности, совпадает с оптимальным решением двойственной задачи и имеетαigi(w)=0.
Далее мы расскажем, как преобразовать svm в соответствующее решение двойной задачи.
6.2 Преобразование SVM в двойные задачи
Сначала мы деформируем задачу SVM, полученную в предыдущем разделе, чтобы привести ее в соответствие с формой исходной задачи (2).
{minw,b2∣∣w∣∣2s.t.1−yi(wTx+b)≤0
Обратите внимание, что исходная задача svm имеет две переменныеwиb, хотя выражение имеет толькоw,ноbНеявно ограничено ограничениямиw, так что здесь две переменные, а не одна.
По формуле (3) запишем соответствующую функцию от svm:
L(w,b,α)θ(α)=2∣∣w∣∣2+i=1∑mαi(1−yi(wTx+b))=minw,bL(w,b,α)(5)
Обратите внимание на разницу между (3) и (5).Поскольку исходная задача svm не имеет ограничений равенства, нетh(w)иβ, наша исходная задача имеет две переменныеwиb,wвектор,bявляется скаляром.
Двойная проблема, которую мы, наконец, задаем:
{maxαθ(α)s.t.αi≥0i=1...m
Мы видим, что последняя проблема неwиb, поэтому сначала ставимθ(α)выпишите выражение. Видно, что это всего лишь задача нахождения максимального значения, которая обычно решается с помощью производной, равной 0:
∂w∂L∂b∂L=w−i=1∑mαiyixi=0=−i=1∑mαiyi=0
После сортировки получаем:
i=1∑mαiyixii=1∑mαiyi=w=0(6)
Приведение (6) к (5) дает:
θ(α)=i=1∑mαi−21i=1∑mj=1∑mαiαjyiyjxiTxj(7)
Подробный процесс подробно не объясняется, обратите внимание∣∣w∣∣2=wTw. В дополнение к полученным ранее ограничениям и условию ККТ окончательная форма двойственной задачи может быть получена как:
⎩⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎧maxα(∑i=1mαi−21∑i=1m∑j=1mαiαjyiyjxiTxj)s.t.∑i=1mαiyi=0s.t.αi(yi(wTxi+b)−1)=0s.t.yi(wTxi+b)≥0s.t.αi≥0(8)
Зависит отαi(yi(wTx+b)−1)=0Это одно условие, которое мы знаем, что либоαi=0из-за либо(yi(wTx+b)−1)=0.
когдаαi=0когда, по∑i=1mαiyixi=wзнатьαiсоответствующий образецxiправильноwценностьнет эффекта.
когдаyi(wTxi+b)−1=0время представляет образецxiзаопорный вектор.
Из приведенных выше двух пунктов видно, что после завершения обучения большую часть обучающих выборок сохранять не нужно, а конечная модель связана только с опорным вектором, поэтому метод и называется опорным вектором. машина.
(8) является квадратичной задачей программирования, то есть целевая функция является квадратичной функцией, а ограничение является линейной функцией.Такая задача либо имеет единственное решение, либо не имеет решения.Для этой задачи она может быть решена квадратичным Алгоритм программирования Эффективные решения, такие как последовательная минимальная оптимизация (SMO), также могут быть разработаны в соответствии с характеристиками самой проблемы.
найти решение двойной проблемыα*После этого мы можем пройти∑i=1mαiyixi=wполучитьw, а поскольку опорный векторxiудовлетворитьyi(wTxi+b)=1доступныйb.
Таким образом, мы получаем классификационную гиперплоскость, когда выборки линейно разделимы:
f(x)=wTx+b
Позже мы обсудим, как использовать svm для классификации в случае линейной неразделимости.
использованная литература
«Машинное обучение», Чжоу Чжихуа, издательство Университета Цинхуа
«Подробное объяснение формул машинного обучения», авторы Се Вэньруй, Цинь Чжоу, издательство People's Posts and Tele Communications Publishing House
Курс машинного обучения преподавателя Ху Хаоджи из Чжэцзянского университета в МООК