Машинное обучение 1, осень 2015: Линейные модели: svm

24
Линейные модели: SVM И. Куралёнок, Н. Поваров Яндекс СПб, 2015 И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 1 из 22

Upload: cs-center

Post on 15-Apr-2017

476 views

Category:

Documents


1 download

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

Что мы сегодня узнали III

На ядрах можно делать не только SVM, но ирегрессиюНесколько способов построениямультиклассификатора и их обобщение

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 22 из 22