Машинное обучение 1, осень 2015: Линейные модели: svm
TRANSCRIPT
Линейные модели: SVM
И. Куралёнок, Н. Поваров
Яндекс
СПб, 2015
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 1 из 22
План
1 Support vector machinesИдея методаКоэффициенты Лагранжа для решения задачи промаксимальное расстояниеSVM в случае неразделимых множествСведение SVM к линейной системе с регуляризациейРегрессия в ядрах
2 Построение мультиклассификатора
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 1 из 22
SVM(воспоминания о былом)
Последний из линейных методов, который мырассмотрим подробно.Rocket science до конца 90-х, по крайней мере взадачах классификации.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 2 из 22
SVM на пальцах
Максимальный зазор.Нелинейные преобразования.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 3 из 22
Мысли вслух
Почему большой зазор это хорошо?Какая β максимизирует зазор?
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 4 из 22
Найдем ширину “зазора”: геометрияЕсть две параллельные плоскости:{
βTx = aβTx = b
проведем прямую, перпендикулярную этой плоскости:y = ‖β‖ β
‖β‖t. Пересечет она наши плоскости вот так:{βT (‖β‖ β
‖β‖ta) = a
βT (‖β‖ β‖β‖tb) = b{
ta = a‖β‖
tb = b‖β‖
тогда расстояние по полученной прямой: |ta − tb| = |a−b|‖β‖
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 5 из 22
Найдем ширину “зазора”: мат. анализ
Решим оптимизацией:
min12‖x − y‖2{
βT x = aβT y = b
Перейдем к коэффициентам Лагранжа:
min12‖x − y‖2 + λ1(β
T x − a) + λ2(βT y − b)
Найдем нули производных по всем переменным:βT x = aβT y = bx − y + λ1β = 0x − y + λ2β = 0
βT (x − y) = a− bλ1 = λ2‖β‖λ1 = b − a
{λ1 = λ2 = b−a
‖β‖2
x − y = b−a‖β‖2 ‖β‖
(β‖β‖
)
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 6 из 22
Возвращаясь к SVM
Теперь мы знаем что оптимизировать. Отнормируемразделяющие плоскости так:{
βTx = b − 1βTx = b + 1
В этих терминах нас |a − b| фиксированы и оптимизировать мыбудем только β:
arg min‖β‖2
Вот в таких условиях (yi ∈ {−1, 1}):
yi(βTxi − b) ≥ 1
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 7 из 22
По методу Лагранжа
По теореме Куна-Таккера:
L =12‖β‖2 −
m∑i=1
λi(yi(βxi − β0)− 1), λi ≥ 0
−L = −∑m
i=1 λi + 12
∑mi=1∑m
j=1 λiλjyiyj(xixj)λi ≥ 0∑m
i=1 λiyi = 0
Тогда:β =
∑mi=1 λiyixi
β0 = βxi − yi , λi > 0
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 8 из 22
Чем стало легче?
Адовые условия сменились простым λi > 0У нас получился квадрат количества точекИнтересны только (xi , xj) с которыми мы можемиграться (kernel trick)!
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 9 из 22
Напишем еще раз
Вид двойственной задачи в случае линейнойразделимости:
arg minλ−∑m
i=1 λi + 12
∑mi=1∑m
j=1 λiλjyiyj(xixj){λi ≥ 0∑m
i=1 λiyi = 0
Из решения двойственной задачи, можно получитьрешения прямой:
β =∑m
i=1 λiyixiβ0 = βxi − yi , λi > 0
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 10 из 22
Мягкие границы
Перенесем точки-“нарушители” на границу и добавим кцелевой функции стоимость этого переноса:
arg min ‖β‖+ c∑
i ξi{yi(β
Txi − β0) + ξi ≥ 1ξi ≥ 0
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 11 из 22
Решение с мягкими границамиПрямая задача (заметим, что dim(λ) = 2m):
argminβ,ξ maxλ ‖β‖+c∑
i ξi−∑
i λi (yi(βxi − β0) + ξi − 1)−∑
i λi+mξiλi > 0
Дуальная задача (Wolfe):
argmaxλ∑m
i=1 λi −12
∑mi=1
∑mj=1 λiλjyiyj(xixj){
0 ≤ λi ≤ c∑mi=1 λiyi = 0
Где-то мы такое (почти) уже видели. Решать такое надоусловной оптимизацией, при этом задача не всегда выпукла(если ((xi , xj)) � 0).
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 12 из 22
Нелинейные решения в SVM (Ядра)Построим преобразование из исходного пространтсва в какое-тоевклидово H:
Φ : Rn → H
Тогда определим (xi , xj) = (Φ(xi),Φ(xj)). Что можно делать сядрами 1:
1 линейно комбинировать
2 умножать
3 комбинировать с функцией, раскладываемой в Тейлора снеотрицательными коэффициентами (например ex)
4 etc.
В задаче можно поставить цель подобрать оптимальное ядро спомощью подобных преобразований.
1доказывается либо через определение, либо через теорему МерцераИ. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 13 из 22
Известные Ядра
Полиномиальные K (x , x′) = (xTx
′+ c)d
Гауссово (radial basis) K (x , x′) = e−γ‖x−x
′‖22
Сигмойдное (“Нейронное”) K (x , x′) = tanh(k1(x , x
′) + k2)
В этом случае решение будет выглядеть иначе:
h(x) = sign
(∑i
λiyi(K (xi , x) + β0)
)
Заметим, что можно выкинуть все точки в которых λi = 0 (этокакие?).
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 14 из 22
Как подобрать ядро для решениязадачи?
1 Cross-fold2 Исследование топологии Φ(x)
напримир, точки одного класса должны быть поближе,другого — подальше.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 15 из 22
SVM и регуляризацияВспомним как выглядит наша решающая функция (без ядер):h(x) = sign(xTβ + β0). Тогда проблему можнопереформулировать так:
min∑i
(1− yih(xi))+ +λ
2‖β‖2
А это минимизация hinge loss с l2 регуляризацией. Теперь тожесамое, но с ядрами, h(x) = sign (
∑i λiyi(K (xi , x) + β0)):
min∑i
(1− yih(xi))+ +λ
2βTKβ
где K : kij = K (xi , xj). Нас никто не ограничивает hinge loss,можно все тоже самое, но с любым другим лосем!
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 16 из 22
Kernel Ridge Regression
Если применима к любым функциям потерь, то почему не к lq?Рассмотрим задачу оптимизации:
min∑ξ2{
yi − βTφ(xi) = ξi ,∀i‖β‖ ≤ B
Такое мы уже делали, поэтому приведу лишь результат(λ = λ(B)):
β∗ = 2λ (K + λE )−1 y
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 17 из 22
План
1 Support vector machinesИдея методаКоэффициенты Лагранжа для решения задачи промаксимальное расстояниеSVM в случае неразделимых множествСведение SVM к линейной системе с регуляризациейРегрессия в ядрах
2 Построение мультиклассификатора
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 17 из 22
Как построить мультиклассификатор?
Выберем очки для каждого класса и сведемзадачу к регрессииОдин против всех в количестве k штукПостроим одновременно несколькоклассификаторов с условием их соотношения(Multi-logit)Построим классификаторы для всех парЕсть еще идеи?
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 18 из 22
Reducing multiclass to binary
E.L. Alwien, R.E. Schapire, Y. Singer предложили интереснуюальтернативу: Введем модельную матрицуM∈ {−1, 0, 1}k×l .Для каждого столбца подберем функцию бинарнойклассификации, отделяющую +1 от −1. Решим исходнуюзадачу одним из двух способов:
dH(c , f (x),M) =l∑
s=1
(1− sign(mcs fs(x))
2
)
dL(c , f (x),M) =l∑
s=1
L(mcs fs(x))
Теперь вопрос свелся к тому как найти оптимальныйM.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 19 из 22
Что мы узнали в прошлый раз I
Было бы классно найти такую плоскость, которая сильнеевсего поделит на классы
Если множества линейно разделимы, то надоминимизировать ‖β‖
Если перейти к дуальной задаче, зависимость от xокажется только через скалярные произведения, которыемы можем “организовать” по своему разумению
В дуальном решении условия очень просты и можноорганизовать безусловную оптимизацию заменойпеременных
Количество компонент оптимизации пропорциональноквадрату количества точек, что много
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 20 из 22
Что мы сегодня узнали II
SVM можно делать в случае линейной неразделимости
Формулы получаются почти такие же, но еще и с верхнейграницей на λ
В SVM есть ядра, их можно подбирать, однако решение вэтом случае включает все граничные точки из-за того, чтоΨ не определено в явном виде
SVM можно рассматривать как минимизацию hindge loss срегуляризацией по Тихонову
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 21 из 22