l6: Метод опорных векторов
DESCRIPTION
L6: Метод опорных векторовTRANSCRIPT
![Page 1: L6: Метод опорных векторов](https://reader030.vdocuments.pub/reader030/viewer/2022020110/549bceb9b47959ca318b4579/html5/thumbnails/1.jpg)
Введение в Data ScienceЗанятие 5. Машины Опорных Векторов
Николай Анохин Михаил Фирулик
29 марта 2014 г.
![Page 2: L6: Метод опорных векторов](https://reader030.vdocuments.pub/reader030/viewer/2022020110/549bceb9b47959ca318b4579/html5/thumbnails/2.jpg)
План занятия
Идея maximum margin
Функции ядра
![Page 3: L6: Метод опорных векторов](https://reader030.vdocuments.pub/reader030/viewer/2022020110/549bceb9b47959ca318b4579/html5/thumbnails/3.jpg)
Мотивация
![Page 4: L6: Метод опорных векторов](https://reader030.vdocuments.pub/reader030/viewer/2022020110/549bceb9b47959ca318b4579/html5/thumbnails/4.jpg)
Обобщенные линейные модели
Обучающая выборка
X = (x1, . . . , xN)
Значения целевой переменной
t1, . . . , tN ; tj ∈ {−1,+1}
Функция принятия решения
y(x) = w>φ(x) + b
Разделяющая плоскость (РП)
yi (xi)ti > 0
Решений много: как выбрать?
![Page 5: L6: Метод опорных векторов](https://reader030.vdocuments.pub/reader030/viewer/2022020110/549bceb9b47959ca318b4579/html5/thumbnails/5.jpg)
Максимальный зазор
Margin – наименьшее расстояниемежду РП и обучающим объектом.
dj =|y(xj)|‖w‖
=tjy(xj)
‖w‖=
=tj(w>φ(xj) + b)
‖w‖Оптимальная РП
argmaxw,b
[1
‖w‖minj
tj(w>φ(xj) + b)
]
![Page 6: L6: Метод опорных векторов](https://reader030.vdocuments.pub/reader030/viewer/2022020110/549bceb9b47959ca318b4579/html5/thumbnails/6.jpg)
Задача оптимизации
Расстояние от точки xj до РП
dj =tj(w>φ(xj) + b)
‖w‖
Для точки xj , лежащей на минимальном расстоянии от РП положим
tj(w>φ(xj) + b) = 1
Задача оптимизации
1
2‖w‖2 → min
w,b
при условияхtj(w
>φ(xj) + b) ≥ 1, ∀j ∈ 1, . . . ,N
![Page 7: L6: Метод опорных векторов](https://reader030.vdocuments.pub/reader030/viewer/2022020110/549bceb9b47959ca318b4579/html5/thumbnails/7.jpg)
Метод множителей Лагранжа a = (a1, . . . , aN)>, ai ≥ 0.
L(w, b, a) =1
2‖w‖2 −
N∑j=1
aj [tj(w>φ(xj) + b)− 1]
Дифференцируем по w и b
w =N∑j=1
aj tjφ(xj), 0 =N∑j=1
aj tj
Подставляем w и b в лагранжиан
![Page 8: L6: Метод опорных векторов](https://reader030.vdocuments.pub/reader030/viewer/2022020110/549bceb9b47959ca318b4579/html5/thumbnails/8.jpg)
Сопряженная задача
Сорпяженная задача
L̃(a) =N∑j=1
aj −1
2
N∑i=1
N∑j=1
aiaj ti tjφ(xi )>φ(xj)→ max
a
при условияхaj ≥ 0, ∀j ∈ 1, . . . ,N
N∑j=1
aj tj = 0
НаблюденияI k(xi , xj) = φ(xi )>φ(xj) – неотрицательно-определенная функцияI лагранжиан L̃(a) – выпуклая и ограниченная сверху функция
![Page 9: L6: Метод опорных векторов](https://reader030.vdocuments.pub/reader030/viewer/2022020110/549bceb9b47959ca318b4579/html5/thumbnails/9.jpg)
Классификация
Функция принятия решения
y(x) = w>φ(x) + b =N∑j=1
aj tjφ(xj)>φ(x) + b =
N∑j=1
aj tjk(xj , x) + b
Условия Karush-Kuhn-Tucker
aj ≥ 0
tjy(xj)− 1 ≥ 0
aj{tjy(xj)− 1} = 0
Опорным векторам xj ∈ S соответствуют aj > 0
b =1
Ns
∑i∈S
ti −∑j∈S
aj tjk(xi, xj)
![Page 10: L6: Метод опорных векторов](https://reader030.vdocuments.pub/reader030/viewer/2022020110/549bceb9b47959ca318b4579/html5/thumbnails/10.jpg)
Линейно-разделимый случай
ЗадачаДана обучающая выборка
x1 x2 tx1 1 −2 1x2 1 2 −1
Найти оптимальную разделяющую плоскость, используясопряженную задачу оптимизации
![Page 11: L6: Метод опорных векторов](https://reader030.vdocuments.pub/reader030/viewer/2022020110/549bceb9b47959ca318b4579/html5/thumbnails/11.jpg)
Линейно-неразделимый случай
![Page 12: L6: Метод опорных векторов](https://reader030.vdocuments.pub/reader030/viewer/2022020110/549bceb9b47959ca318b4579/html5/thumbnails/12.jpg)
Смягчение ограничений
Переменные ξj ≥ 0 (slacks):
ξj =
{0, если y(xj)tj ≥ 1
|tj − y(xj)|, иначе
Задача оптимизации
CN∑j=1
ξj +1
2‖w‖2 → min
w,b
![Page 13: L6: Метод опорных векторов](https://reader030.vdocuments.pub/reader030/viewer/2022020110/549bceb9b47959ca318b4579/html5/thumbnails/13.jpg)
Сопряженная задача
Сорпяженная задача
L̃(a) =N∑j=1
aj −1
2
N∑i=1
N∑j=1
aiaj ti tjφ(xi )>φ(xj)→ max
a
при условиях0 ≤ aj ≤ C , ∀j ∈ 1, . . . ,N
N∑j=1
aj tj = 0
НаблюденияI aj = 0 – правильно проклассифицированные объектыI aj = C – опорные векторы внутри отступаI 0 < aj < C – опорные векторы на границе
![Page 14: L6: Метод опорных векторов](https://reader030.vdocuments.pub/reader030/viewer/2022020110/549bceb9b47959ca318b4579/html5/thumbnails/14.jpg)
Классификация
Функция принятия решения
y(x) =N∑j=1
aj tjk(xj , x) + b
Константа b
b =1
NM
∑i∈M
ti −∑j∈S
aj tjk(xi, xj)
![Page 15: L6: Метод опорных векторов](https://reader030.vdocuments.pub/reader030/viewer/2022020110/549bceb9b47959ca318b4579/html5/thumbnails/15.jpg)
Связь с линейными моделями
Задача оптимизации
N∑j=1
ξj +1
2‖w‖2 ∼
N∑j=1
E (y(xj), tj) + λ‖w‖2 → minw,b
Hinge loss
E (yj , tj) =
{1− yj tj , если yj tj > 1
0, иначе
![Page 16: L6: Метод опорных векторов](https://reader030.vdocuments.pub/reader030/viewer/2022020110/549bceb9b47959ca318b4579/html5/thumbnails/16.jpg)
Численные методы оптимизации
I Chunking (Vapnik, 1982)I Decomposition (Osuna, 1996)I Sequential Minimal Optimization (Platt, 1999)
![Page 17: L6: Метод опорных векторов](https://reader030.vdocuments.pub/reader030/viewer/2022020110/549bceb9b47959ca318b4579/html5/thumbnails/17.jpg)
Задача регрессии
Переменные ξj ≥ 0, ξ̂j ≥ 0 (slacks):
tj ≤ y(xj) + ε+ ξn
tj ≥ y(xj)− ε− ξ̂nЗадача оптимизации
CN∑j=1
(ξ̂j + ξj) +1
2‖w‖2 → min
w,b
![Page 18: L6: Метод опорных векторов](https://reader030.vdocuments.pub/reader030/viewer/2022020110/549bceb9b47959ca318b4579/html5/thumbnails/18.jpg)
Функции ядра
φ(x) – функция преобразования x из исходного пространства вспрямляющее пространство
Проблема: количество признаков может быть очень велико
Идея Kernel TrickВ процессе тренировки и применения SVM исходные векторы xиспользуются только как аргументы в скалярном произведенииk(xi , xj) = φ(xi )>φ(xj). Но в этом случае можно избежатьвычисления ϕ(x)!
![Page 19: L6: Метод опорных векторов](https://reader030.vdocuments.pub/reader030/viewer/2022020110/549bceb9b47959ca318b4579/html5/thumbnails/19.jpg)
Теорема Мерсера
ТеоремаФункция k(x, z) является ядром тогда и только тогда, когда она
I симметричнаk(x, z) = k(z, x)
I неотрицательно определена∫x∈X
∫z∈X
k(x, z)g(x)g(z)dxdz, ∀g(x) : X→ R
ЗадачаПусть x ∈ R2, а преобразование φ(x)
φ(x) = (1,√2x1,√2x2, x
21 ,√2x1x2, x
22 ).
Проверить, что функция k(x, z) = (1 + x>z)2 является функциейядра для данного преобразования.
![Page 20: L6: Метод опорных векторов](https://reader030.vdocuments.pub/reader030/viewer/2022020110/549bceb9b47959ca318b4579/html5/thumbnails/20.jpg)
Некоторые стандартные функции ядра
I Линейное ядроk(x, z) = x>z
I Полиномиальное ядро степени d
k(x, z) = (x>z+ r)d
I Radial Basis Function
k(x, z) = e−γ|x−z|2
I Sigmoidk(x, z) = tanh(γx>z+ r)
![Page 21: L6: Метод опорных векторов](https://reader030.vdocuments.pub/reader030/viewer/2022020110/549bceb9b47959ca318b4579/html5/thumbnails/21.jpg)
Опять ирисы
![Page 22: L6: Метод опорных векторов](https://reader030.vdocuments.pub/reader030/viewer/2022020110/549bceb9b47959ca318b4579/html5/thumbnails/22.jpg)
SVM. Итоги
+ Нелинейная разделяющая поверхность+ Глобальая оптимизация+ Разреженное решение+ Хорошая обобщающая способность- Не поддерживает p(Ck |x)- Чувствительность к выбросам- Нет алгоритма выбора ядра- Медленное обучение
![Page 23: L6: Метод опорных векторов](https://reader030.vdocuments.pub/reader030/viewer/2022020110/549bceb9b47959ca318b4579/html5/thumbnails/23.jpg)
Эксперименты над SVMВ задаче рассматриваются 4 алгоритма генерации обучающихвыборок. Требуется разработать функцию, автоматическиподбирающую параметры модели SVM в зависимости от полученнойвыборки.
Инструкция по выполнению задания
1. Выкачать в локальный репо код из ветки svm
2. Запустить хелп, при желании изучить
$ python svm.py -h$ python svm.py cc -h
3. Запустить какой-нибудь пример, разобраться с картинкой
$ python svm.py gauss
4. Работать над кодом (функция select_model)
![Page 24: L6: Метод опорных векторов](https://reader030.vdocuments.pub/reader030/viewer/2022020110/549bceb9b47959ca318b4579/html5/thumbnails/24.jpg)
Домашнее задание 4
Машина опорных векторовИспользовать готовую имплементацию
I алгоритма SVM для задачи классификацииI алгоритма SVM для задачи регрессии
Ключевые датыI До 2014/04/05 00.00 предоставить решение задания
![Page 25: L6: Метод опорных векторов](https://reader030.vdocuments.pub/reader030/viewer/2022020110/549bceb9b47959ca318b4579/html5/thumbnails/25.jpg)
Спасибо!
Обратная связь