0% нашли этот документ полезным (0 голосов)
6 просмотров

lecture15-kernels

Загружено:

3layerperceptron
Авторское право
© © All Rights Reserved
Доступные форматы
Скачать в формате PDF, TXT или читать онлайн в Scribd
0% нашли этот документ полезным (0 голосов)
6 просмотров

lecture15-kernels

Загружено:

3layerperceptron
Авторское право
© © All Rights Reserved
Доступные форматы
Скачать в формате PDF, TXT или читать онлайн в Scribd
Вы находитесь на странице: 1/ 8

Лекция 15

Условная оптимизация и ядровой SVM


Е. А. Соколов
ФКН ВШЭ
19 января 2018 г.

1 Оптимизационные задачи и теорема Куна-Таккера


Рассмотрим задачу минимизации

 f0 (x) → x∈R


min
d

fi (x) 6 0, i = 1, . . . , m, (1.1)


 h (x) = 0, i = 1, . . . , p.
i

Если ограничения в этой задаче отсутствуют, то имеет место необходимое усло-


вие экстремума: если в точке x функция f0 достигает своего минимума, то ее гради-
ент в этой точке равен нулю. Значит, для решения задачи безусловной оптимизации

f0 (x) → min

достаточно найти все решения уравнения

∇f0 (x) = 0,

и выбрать то, в котором достигается наименьшее значение. Для решения условных


задач оптимизации требуется более сложный подход, который мы сейчас и рассмот-
рим.

§1.1 Лагранжиан
Задача условной оптимизации (1.1) эквивалентна следующей безусловной за-
даче:
m p
X X
f0 (x) + I− (fi (x)) + I0 (hi (x)) → min,
x
i=1 i=1

где I− (x) — индикаторная функция для неположительных чисел:


(
0, x 6 0
I− (x) =
∞, x > 0,

1
2

а I0 (x) — индикаторная функция для нуля:


(
0, x = 0
I0 (x) =
∞, x 6= 0,

Такая переформулировка, однако, не упрощает задачу — индикаторные функции


являются кусочно-постоянными и могут быть оптимизированы лишь путем полного
перебора решений.
Заменим теперь индикаторные функции на их линейные аппроксимации:
m p
X X
L(x, λ, ν) = f0 (x) + λi fi (x) + νi hi (x),
i=1 i=1

где λi > 0. Полученная функция называется лагранжианом задачи (1.1). Числа λi


и νi называются множителями Лагранжа или двойственными переменными.
Конечно, линейные аппроксимации являются крайне грубыми, однако их ока-
зывается достаточно, чтобы получить необходимые условия на решение исходной
задачи.

§1.2 Двойственная функция


Двойственной функцией для задачи (1.1) называется функция, получающаяся
при взятии минимума лагранжиана по x:

g(λ, ν) = inf L(x, λ, ν).


x

Можно показать, что данная функция всегда является вогнутой.


Зачем нужна двойственная функция? Оказывается, она дает нижнюю оценку
на минимум в исходной оптимизационной задаче. Обозначим решение задачи (1.1)
через x∗ . Пусть x′ — допустимая точка, т.е. fi (x′ ) 6 0, hi (x′ ) = 0. Пусть также λi > 0.
Тогда
m p
X X
′ ′ ′
L(x , λ, ν) = f0 (x ) + λi fi (x ) + νi hi (x′ ) 6 f0 (x′ ).
i=1 i=1

Если взять в левой части минимум по всем допустимым x, то неравенство останет-


ся верным; оно останется верным и в случае, если мы возьмем минимум по всем
возможным x:

inf L(x, λ, ν) 6 inf L(x, λ, ν) 6 L(x′ , λ, ν).


x x — допуст.

Итак, получаем

inf L(x, λ, ν) 6 f0 (x′ ).


x

Поскольку решение задачи x∗ также является допустимой точкой, получаем, что


при λ > 0 двойственная функция дает нижнюю оценку на минимум:

g(λ, ν) 6 f0 (x∗ ).
3

§1.3 Двойственная задача


Итак, двойственная функция для любой пары (λ, ν) с λ > 0 дает нижнюю
оценку на минимум в оптимизационной задаче. Попробуем теперь найти наилучшую
нижнюю оценку:
(
g(λ, ν) → max
λ,ν
(1.2)
λi > 0, i = 1, . . . , m.
Данная задача называется двойственной к задаче (1.1). Заметим, что функционал
в двойственной задаче всегда является вогнутым.

§1.4 Сильная и слабая двойственность


Пусть (λ∗ , ν ∗ ) — решение двойственной задачи. Значение двойственной функции
всегда не превосходит условный минимум исходной задачи:
g(λ∗, ν ∗ ) 6 f0 (x∗ ).
Это свойство называется слабой двойственностью. Разность f0 (x∗ ) − g(λ∗ , ν ∗ ) назы-
вается зазором между решениями прямой и двойственной задач.
Если имеет место равенство
g(λ∗, ν ∗ ) = f0 (x∗ ),
то говорят о сильной двойственности. Существует много достаточных условий силь-
ной двойственности. Одним из таких условий для выпуклых задач является условие
Слейтера. Выпуклой задачей оптимизации называется задача

f (x) → min
 0

 x∈Rd

 fi (x) 6 0, i = 1, . . . , m,

 Ax = b.

где функции f0 , f1 , . . . , fm являются выпуклыми. Условие Слейтера требует, чтобы


существовала такая допустимая точка x′ , в которой ограничения-неравенства выпол-
нены строго:
(
fi (x) < 0, i = 1, . . . , m,
Ax = b.

Условие Слейтера можно ослабить: достаточно, чтобы ограничения-неравенства


были строгими только в том случае, если они не являются линейными (т.е. не имеют
вид Ax − b).

§1.5 Условия Куна-Таккера


Пусть x∗ и (λ∗ , ν ∗ ) — решения прямой и двойственной задач. Будем считать,
что имеет место сильная двойственность. Можно показать (и это будет сделано на
семинарах), что в этом случае выполнено несколько утверждений про связь между
прямой и двойственной задачами:
4

• Если подставить в лагранжиан решение двойственной задачи (λ∗ , ν ∗ ), то его ми-


нимум будет достигаться на решении прямой задачи x∗ . Иными словами, реше-
ние исходной задачи (1.1) эквивалентно минимизации лагранжиана L(x, λ∗ , ν ∗ )
с подставленным решением двойственной задачи.
• Имеют место условия дополняющей нежёсткости:
λ∗i fi (x∗ ) = 0, i = 1, . . . , m.
Они означают, что множитель Лагранжа при i-м ограничении может быть не
равен нулю лишь в том случае, если ограничение выполнено с равенством (в
этом случае говорят, что оно является активным).
Итак, мы можем записать условия, которые выполнены для решений прямой и
двойственной задач x∗ и (λ∗ , ν ∗ ):
 p
Xm X

 ∗


 ∇f0 (x∗ ) + λi ∇fi (x∗ ) + νi∗ ∇hi (x∗ ) = 0


 i=1 i=1


fi (x∗ ) 6 0, i = 1, . . . m
(KKT)


 hi (x∗ ) = 0, i = 1, . . . p




 λ∗i > 0, i = 1, . . . m

 λ∗ f (x ) = 0, i = 1, . . . m
i i ∗

Данные условия называются условиями Куна-Таккера (в зарубежной литературе


их принято называть условиями Каруша-Куна-Таккера) и являются необходимыми
условиями экстремума. Их можно сформулировать несколько иначе:

Теорема 1.1. Пусть x∗ — решение задачи (1.1). Тогда найдутся такие векторы λ∗
и ν ∗ , что выполнены условия (KKT).
Если задача (1.1) является выпуклой и удовлетворяет условию Слейтера, то
условия Куна-Таккера становятся необходимыми и достаточными.

§1.6 Экономическая интерпретация двойственной задачи


Предположим, что мы хотим открыть фирму. В нее мы можем нанимать про-
граммистов и менеджеров — обозначим их количество через x1 и x2 соответственно.
При этом каждый программист будет приносить c1 рублей в месяц, а каждый ме-
неджер — c2 рублей. Труд каждого сотрудника должен оплачиваться. Наша фирма
может платить в двух формах — акциями и картошкой, причем в месяц каждому
программисту нужно выдать a11 акций и a21 килограммов картошки; для менедже-
ров эти числа обозначим через a12 и a22 . Разумеется, наши возможности ограничены:
мы можем тратить не больше b1 акций и b2 килограммов картошки в месяц. Запишем
формально все эти соотношения:


 c1 x1 + c2 x2 → max
 x1 ,x2


a11 x1 + a12 x2 6 b1
 a21 x1 + a22 x2 6 b2




x1 > 0, x2 > 0
5

Это задача линейного программирования, для которой легко найти двойствен-


ную:


 b1 y1 + b2 y2 → min
 y1 ,y2


a11 y1 + a21 y2 > c1


 a12 y1 + a22 y2 > c2


y1 > 0, y2 > 0

Двойственную задачу можно проинтерпретировать следующим образом. Допустим,


что у нас появились другие дела, и вместо открытия фирмы мы решили продать все
ресурсы (т.е. акции и картошку). Разумеется, наши покупатели будут стремиться
установить максимально низкую цену — иными словами, они будут минимизировать
общую сумму сделки b1 y1 + b2 y2 , где через y1 и y2 обозначены цены на одну акцию
и на один килограмм картошки соответственно. При этом у нас есть ограничение:
мы не хотим продавать ресурсы дешевле, чем могли бы на них заработать, если
бы все же открыли фирму. Это означает, что суммарная стоимость a11 акций и a21
килограммов картошки (т.е. размер оплаты одного программиста) не должна быть
меньше, чем доход от одного программиста c1 . Это требование, вкупе с аналогичным
требованием к размеру оплаты менеджера, как раз соответствует ограничениям в
двойственной задаче.
Поскольку для данных задач имеет место сильная двойственность, их решения
будут совпадать. Это означает, что оптимальная прибыль, которую можно получить
при открытии фирмы, совпадает с оптимальной выгодой от продажи всех ресурсов.

2 Ядровой SVM
Вспомним, что метод опорных векторов сводится к решению задачи оптимиза-
ции



 1 2
X


2 kwk + C ξi → min
w,b,ξ
i=1 (2.1)


 yi (hw, xi i + b) > 1 − ξi , i = 1, . . . , ℓ,


ξi > 0, i = 1, . . . , ℓ.

Построим двойственную к ней. Запишем лагранжиан:


ℓ ℓ ℓ
1 X X X
L(w, b, ξ, λ, µ) = kwk2 + C ξi − λi [yi (hw, xi i + b) − 1 + ξi ] − µi ξ i .
2 i=1 i=1 i=1
6

Выпишем условия Куна-Таккера:



X ℓ
X
∇w L = w − λi yi xi = 0 =⇒ w = λi yi xi (2.2)
i=1 i=1

X ℓ
X
∇b L = − λi y i = 0 =⇒ λi y i = 0 (2.3)
i=1 i=1
∇ξi L = C − λi − µi =⇒ λi + µi = C (2.4)
λi [yi (hw, xi i + b) − 1 + ξi ] = 0 =⇒ (λi = 0) или (yi (hw, xi i + b) = 1 − ξi )
(2.5)
µi ξ i = 0 =⇒ (µi = 0) или (ξi = 0) (2.6)
ξi > 0, λi > 0, µi > 0. (2.7)

Проанализируем полученные условия. Из (2.2) следует, что вектор весов, по-


лученный в результате настройки SVM, можно записать как линейную комбинацию
объектов, причем веса в этой линейной комбинации можно найти как решение двой-
ственной задачи. В зависимости от значений ξi и λi объекты xi разбиваются на три
категории:

1. ξi = 0, λi = 0.
Такие объекты не влияют решение w (входят в него с нулевым весом λi ), пра-
вильно классифицируются (ξi = 0) и лежат вне разделяющей полосы. Объекты
этой категории называются периферийными.

2. ξi = 0, 0 < λi < C.
Из условия (2.5) следует, что yi (hw, xi i + b) = 1, то есть объект лежит строго на
границе разделяющей полосы. Поскольку λi > 0, объект влияет на решение w.
Объекты этой категории называются опорными граничными.

3. ξi > 0, λi = C.
Такие объекты могут лежать внутри разделяющей полосы (0 < ξi < 2) или
выходить за ее пределы (ξi > 2). При этом если 0 < ξi < 1, то объект клас-
сифицируется правильно, в противном случае — неправильно. Объекты этой
категории называются опорными нарушителями.

Отметим, что варианта ξi > 0, λi < C быть не может, поскольку при ξi > 0
из условия дополняющей нежесткости (2.6) следует, что µi = 0, и отсюда из уравне-
ния (2.4) получаем, что λi = C.
Итак, итоговый классификатор зависит только от объектов, лежащих на гра-
нице разделяющей полосы, и от объектов-нарушителей (с ξi > 0).
Построим двойственную функцию. Для этого подставим выражение (2.2) в
лагранжиан, и воспользуемся уравнениями (2.3) и (2.4) (данные три уравнения вы-
7

полнены для точки минимума лагранжиана при любых фиксированных λ и µ):

ℓ 2 ℓ ℓ ℓ ℓ
1 X X X X X
L= λi yi xi − λi λj yi yj hxi , xj i − b λi y i + λi + ξi (C − λi − µi )
2 i=1 i,j=1
| {z }
|i=1{z } i=1 i=1 0
0
ℓ ℓ
X 1X
= λi − λi λj yi yj hxi , xj i.
i=1
2 i,j=1

Мы должны потребовать выполнения условий (2.3) и (2.4) (если они не вы-


полнены, то двойственная функция обращается в минус бесконечность), а также
неотрицательность двойственных переменных λi > 0, µi > 0. Ограничение на µi и
условие (2.4), можно объединить, получив λi 6 C. Приходим к следующей двой-
ственной задаче:
 ℓ ℓ


X 1X

 λi − λi λj yi yj hxi , xj i → max


 i=1
2 i,j=1 λ

0 6 λi 6 C, i = 1, . . . , ℓ, (2.8)



 Xℓ



 λi yi = 0.
i=1

Она также является вогнутой, квадратичной и имеет единственный максимум.


Двойственная задача SVM зависит только от скалярных произведений объек-
тов — отдельные признаковые описания никак не входят в неё. Значит, можно легко
сделать ядровой переход:
 ℓ ℓ


X 1X

 λi − λi λj yi yj K(xi , xj ) → max


 i=1
2 i,j=1 λ

0 6 λi 6 C, i = 1, . . . , ℓ, (2.9)



 Xℓ



 λi yi = 0.
i=1

Вернемся к тому, какое представление классификатора дает двойственная за-


дача. Из уравнения (2.2) следует, что вектор весов w можно представить как линей-
ную комбинацию объектов из обучающей выборки. Подставляя это представление w
в классификатор, получаем

!
X
a(x) = sign λi yi hxi , xi + b . (2.10)
i=1

Таким образом, классификатор измеряет сходство нового объекта с объектами из


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

В представлении (2.10) фигурирует переменная b, которая не находится непо-


средственно в двойственной задаче. Однако ее легко восстановить по любому гра-
ничному опорному объекту xi , для которого выполнено ξi = 0, 0 < λi < C. Для него
выполнено yi (hw, xi i + b) = 1, откуда получаем
b = yi − hw, xi i.
Как правило, для численной устойчивости берут медиану данной величины по всем
граничным опорным объектам:
b = med{yi − hw, xi i | ξi = 0, 0 < λi < C}.

Связь с kNN. Если использовать гауссовское ядро (или, как его еще называют,
RBF-ядро) в методе опорных векторов, то получится следующее решающее правило:
ℓ  
X kx − xi k2
a(x) = sign yi λi exp − 2
.
i=1

Вспомним теперь, что решающее правило в методе k ближайших соседей вы-
глядит как

X
a(x) = arg max Γy (x, X ); ℓ ℓ
Γy (x, X ) = [yx(i) = y]w(i, x),
y∈Y
i=1
(i)
где w(i, x) — оценка важности i-го соседа для классификации объекта x, а yx —
метка i-го ближайшего соседа. Для случая двух классов {+1, −1} решающее правило
можно записать как знак разности оценок за эти классы:

a(x) = sign Γ+1 (x, X ℓ ) − Γ−1 (x, X ℓ ) =
ℓ ℓ
!
X X
= sign [yx(i) = +1]w(i, x) − [yx(i) = −1]w(i, x) =
i=1 i=1

X
= sign ([yx(i) = +1] − [yx(i) = −1])w(i, x) =
i=1
Xℓ
= sign yx(i) w(i, x).
i=1
Заметим, что решающие правила метода опорных векторов с RBF-ядром и ме-
тода k ближайших соседей совпадут, если положить
 
kx − x(i) k2
w(i, x) = λ(i) exp − .
2σ 2
То есть SVM-RBF — это метод ℓ ближайших соседей, использующий гауссово ядро в
качестве функции расстояния, и настраивающий веса объектов путем максимизации
отступов.

Список литературы
[1] Boyd, S., Vandenberghe, L. Convex Optimization. // Cambridge University Press,
2004.

Вам также может понравиться