Ядерные методы

реклама
Ядерные методы - Виктор Китов
Ядерные методы
Виктор Китов
[email protected]
МГУ им.Ломоносова, ф-т ВМиК, кафедра ММП.
I семестр 2015 г.
1/48
Ядерные методы - Виктор Китов
Ridge регрессия
Содержание
1
Ridge регрессия
2
Kernel trick
3
Ядерные функции
4
Ядерное обобщение метода опорных векторов
2/48
Ядерные методы - Виктор Китов
Ridge регрессия
Ridge регрессия
Ridge регрессия - оптимизируемый критерий:
Q(β) =
N X
xnT β
− yn
2
+λ
D
X
d=1
n=1
βd2 → min
β
Условие стационарности:
N
X
dQ(β)
=2
xnT β − yn xn + 2λβ = 0
dβ
n=1
В векторной форме:
X T (Xβ − Y) + λβ = 0
3/48
(1)
Ядерные методы - Виктор Китов
Ridge регрессия
Ridge регрессия
Решение прямой задачи:
X T X + λIβ = X T Y
β = (X T X + λI)−1 X T Y
Комментарий: X T X < 0 (неотрицательно определена), а
X T X + λI 0 (положительно определена), поэтому
параметры ridge регрессии всегда однозначно
идентифицируются.
Сложность оценивания:
X T X + λI: ND2 + D
X T Y: DN
(X T X + λI)−1 : D3
(X T X + λI)−1 X T Y: D2
Результирующая сложность оценивания:
O(ND2 + D3 ) = O(D2 (N + D)).
4/48
Ядерные методы - Виктор Китов
Ridge регрессия
Двойственное решение
Из векторная записи (1):
X T (Xβ − Y) + λβ = 0
следует двойственное решение для вектора коэффициентов
(линейная комбинация обучающих векторов):
β=
1 T
X (Y − Xβ) = X T α
λ
(2)
где
1
(Y − Xβ)
λ
называются двойственными переменными.
α=
Прогнозирование:
b
y(x) = xT β = xT X T α =
5/48
N
X
αi hx, xi i
(3)
Ядерные методы - Виктор Китов
Ridge регрессия
Двойственное решение
Для нахождения α подставим (2) в (3):
α=
1
1
(Y − Xβ) = (Y − XX T α)
λ λ
XX T + λI α = Y
−1
α = XX T + λI
Y
Сложность оценивания модели :
XX T + λI: N 2 D + N
−1
XX T + λI : N 3
−1
XX T + λI
Y: N 2
2 (D + N)).
Итоговая сложность обучения: O(N 2 D + N 3 ) =
PO(N
N
Сложность прогнозирования b
y(x) = hx, βi = i=1 αi hx, xi i:
ND.
6/48
Ядерные методы - Виктор Китов
Ridge регрессия
Преимущества двойственного решения
Оптимальные α зависят только от скалярных
произведений векторов (а не от полных признаковых
представлений объектов):
−1
T
Y = (G + λI)−1 Y
α = XX + λI
где G ∈ RNxN и {G}ij = hxi , xj i - G называется матрицей
Грамма.
Прогноз также зависит только от скалярных
произведений:
b
y(x) =
N
X
αi hx, xi i = αT v
i=1
где v ∈
RN
и vi = hx, xi i.
7/48
Ядерные методы - Виктор Китов
Ridge регрессия
Преимущества
Оценка модели становится вычислительно проще при
D>N
можно переходить в признаковые пространства большой
размерности, даже бесконечномерные.
Преимущество двойственного решения
Не нужно представление объекта в том признаковом
пространстве, в котором работает модель - в том
пространстве нужна только возможность вычислять скалярные
произведения для любой пары объектов.
8/48
Ядерные методы - Виктор Китов
Kernel trick
Содержание
1
Ridge регрессия
2
Kernel trick
3
Ядерные функции
4
Ядерное обобщение метода опорных векторов
9/48
Ядерные методы - Виктор Китов
Kernel trick
Kernel trick
Kernel trick
Определить не полное признаковое описание x, а только
функцию вычисления скалярного произведения K(x, x0 )
hx, x0 i имеет сложность O(D), а сложность вычисления
K(x, x0 ) может быть меньше.
10/48
Ядерные методы - Виктор Китов
Kernel trick
Комментарии
Kernel trick применим не только к ridge регрессии, но и к:
методу K ближайших соседей
K-средних, K-medoids (кластеризация)
nearest medoid
метод главных компонент (снижение размерности)
метод опорных векторов
многие другие
Когда исходное пространство объектов X = RM , то всегда
можно определить линейное ядро:
0
0
K(x, x ) = hx, x i =
D
X
d=1
11/48
xd xd0
Ядерные методы - Виктор Китов
Kernel trick
Характерные случаи применимости kernel trick
признаковое пространство высокой размерности
все полиномы степени до M
2
0
1
Гауссово ядро K(x, x0 ) = e− 2σ2 kx−x k соответствует
признаковому пространству бесконечной размерности.
сложно представить объекты векторами фиксированной
длины
строки, множества, картинки, тексты, графы,
3D-структуры и т.д.
существует естественные определения скалярного
произведения
строки: число совместно встречающихся подстрок
множества: размер общего подмножества
пример: для множеств S1 и S2 : K(S1 , S2 ) = 2|S1 ∩S2 | -ядро.
скалярное произведение может быть эффективно
посчитано
12/48
Ядерные методы - Виктор Китов
Kernel trick
Преимущества kernel trick
обобщение линейных методов на нелинейный случай
с сохранением вычислительной эффективности линейных
методов
с сохранением преимуществ линейных методов
локальный оптимум является глобальным
нет локальных оптимумов=>меньше переобучение
объекты для которых не существует векторных
представлений фиксированной длины
ускоренное вычисление скалярных произведений для
высоких значений D
13/48
Ядерные методы - Виктор Китов
Ядерные функции
Содержание
1
Ridge регрессия
2
Kernel trick
3
Ядерные функции
4
Ядерное обобщение метода опорных векторов
14/48
Ядерные методы - Виктор Китов
Ядерные функции
Определение ядра
x ∈ X заменяется признаковым описанием φ(x)
размерности D.
X - пространство объектов (первичное представление, не
обязательно RM )
Пример: [x] → [x, x2 , x3 ]
Ядро (Kernel)
Функция K(x, x0 ) : X × X → R является ядром, если найдется
такое признаковое описание φ(x) : X → X что
K(x, x0 ) = hφ(x), φ(x0 )i.
hx, x0 i определяется как hφ(x), φ(x0 )i = K(x, x0 )
Частные разновидности ядер:
K(x, x0 ) = K(x − x0 ) - стационарные ядра (инвариантны к
параллельным переносам)
K(x, x0 ) = K(kx − x0 k) - радиальные базисные функции
15/48
Ядерные методы - Виктор Китов
Ядерные функции
Иллюстрация
16/48
Ядерные методы - Виктор Китов
Ядерные функции
Полиномиальное ядро
Пример 1: пусть D = 2.
K(x, z) = (xT z)2 = (x1 z1 + x2 z2 )2 =
= x12 z21 + x22 z22 + 2x1 z1 x2 z2
= φT (x)φ(z)
√
где φ(x) = (x12 , x22 , 2x1 x2 )
Пример 2: пусть D = 2.
K(x, z) = (1 + xT z)2 = (1 + x1 z1 + x2 z2 )2 =
= 1 + x12 z21 + x22 z22 + 2x1 z1 + 2x2 z2 + 2x1 z1 x2 z2
= φT (x)φ(z)
√
√
√
где φ(x) = (1, x12 , x22 , 2x1 , 2x2 , 2x1 x2 )
В общем, для D ≥ 1 K(x, z) = (xT z)M соответствует
расширению признакового пространства до всех мономов
степени M, а (1 + xT z)M - до всех мономов степени не
выше M.
17/48
Ядерные методы - Виктор Китов
Ядерные функции
Свойства ядер
Теорема (Мерсер, упрощенная формулировка): Функция
K(x, x0 ) является ядром тогда и только тогда, когда
она симметрична: K(x, x0 ) = K(x0 , x)
она неотрицательно-определена (см. 2 эквивалентных
определения ниже).
определение 1: для произвольной функции g : X → R
ˆ ˆ
K(x, x0 )g(x)g(x0 )dxdx0 ≥ 0
X
X
определение 2: для произвольного конечного набора
объектов x1 , x2 , ...xm матрица Грамма {K(xi , xj )}M
i,j=1 0
(неотрицательно определена)
18/48
Ядерные методы - Виктор Китов
Ядерные функции
Построение новых ядер
Обучение ядер (kernel learning) - отдельная область.
Сложно доказывать неотрицательную определенность
K(x, x0 ) в каждом новом случае.
Новые ядра обычно строят из известных ядер, применяя
преобразования сохраняющие свойство ядра:
Известные ядра:
обычное скалярное определение hx, x0 i
константа K(x, x0 ) ≡ 1
xT Ax для любой A < 0
19/48
Ядерные методы - Виктор Китов
Ядерные функции
Преобразования, сохраняющие свойство ядра
Если K1 (x, x0 ), K2 (x, x0 ) - произвольные ядра, c > 0 константа, q(·) - полином с неотрицательными
коэффициентами, h(x) и ϕ(x) - произвольные функции,
отображающие X → R и X → RM соответственно, то ядрами
также являются:
1
K(x, x0 ) = cK1 (x, x0 )
2
K(x, x0 ) = K1 (x, x0 )K2 (x, x0 )
3
K(x, x0 ) = K1 (x, x0 ) + K2 (x, x0 )
4
K(x, x0 ) = K1 (ϕ(x), ϕ(x0 ))
5
K(x, x0 ) = h(x)K1 (x, x0 )h(x0 )
6
K(x, x0 ) = eK1 (x,x )
0
20/48
Ядерные методы - Виктор Китов
Ядерные функции
Часто используемые функции K(x, x0 )
K(x, x0 )
линейная
полиномиальная
RBF
сигмоидальное
определение
hx, x0 i
(γhx, x0 i + r)d
exp(−γ kx − x0 k2 )
tangh(γhx, yi + r)
Линейная, полиномиальная и RBF функция являются
ядрами Мерсера, а сигмоидальная - нет.
21/48
Ядерные методы - Виктор Китов
Ядерные функции
Дополнение
Другие алгоритмы, допускающие обобщение через ядра:
K-ближайших соседей, K-средних, K-medoids, nearest
medoid, метод главных компонент, метод опорных
векторов и многие другие..
Определение расстояния через ядро:
ρ(x, x0 ) = hx − x0 , x − x0 i = hx, xi + hx0 , x0 i − 2hx, x0 i
= K(x, x) + K(x0 , x0 ) − 2K(x, x0 )
Скалярное определение нормализованных векторов:
h
φ(x)
φ(x0 )
hφ(x), φ(x0 )i
p
p
,
i
=
=
kφ(x)k kφ(x0 )k
hφ(x), φ(x)i, hφ(x0 ), φ(x0 )i
K(x, x0 )
p
K(x, x)K(x0 , x0 )
22/48
Ядерные методы - Виктор Китов
Ядерное обобщение метода опорных векторов
Содержание
1
Ridge регрессия
2
Kernel trick
3
Ядерные функции
4
Ядерное обобщение метода опорных векторов
23/48
Ядерные методы - Виктор Китов
Ядерное обобщение метода опорных векторов
Линейный метод опорных векторов
Решение для весовых коэффициентов:
w=
X
αi yi xi
i∈SV
Дискриминантная функция
X
g(x) =
αi yi < xi , x > +w0
i∈SV

w0 =
1 
nSV
f

X
f
i∈SV
yi −
X X
αi yi hxi , xj i
f j∈SV
i∈SV
где SV = {i : yi (xiT w + w0 ≤ 1)} - индексы всех опорных
˜ = {i : yi (xT w + w0 = 1} - индексы граничных
векторов, а SV
i
опорных векторов.
24/48
Ядерные методы - Виктор Китов
Ядерное обобщение метода опорных векторов
Ядерное обобщение
Дискриминантная функция:
X
g(x) =
αi yi K(xi , x) + w0
i∈SV


w0 =
1 
nSV
f
X
f
i∈SV
yi −
X X
f j∈SV
i∈SV
25/48
αi yi K(xi , xj )
Ядерные методы - Виктор Китов
Ядерное обобщение метода опорных векторов
Области классов для ядерного обобщения
26/48
Ядерные методы - Виктор Китов
Ядерное обобщение метода опорных векторов
Линейное ядро - изменяемое C
27/48
Ядерные методы - Виктор Китов
Ядерное обобщение метода опорных векторов
Линейное ядро - изменяемое C
28/48
Ядерные методы - Виктор Китов
Ядерное обобщение метода опорных векторов
Линейное ядро - изменяемое C
29/48
Ядерные методы - Виктор Китов
Ядерное обобщение метода опорных векторов
Линейное ядро - изменяемое C
30/48
Ядерные методы - Виктор Китов
Ядерное обобщение метода опорных векторов
RBF ядро - изменяемое γ
31/48
Ядерные методы - Виктор Китов
Ядерное обобщение метода опорных векторов
RBF ядро - изменяемое γ
32/48
Ядерные методы - Виктор Китов
Ядерное обобщение метода опорных векторов
RBF ядро - изменяемое γ
33/48
Ядерные методы - Виктор Китов
Ядерное обобщение метода опорных векторов
RBF ядро - изменяемое γ
34/48
Ядерные методы - Виктор Китов
Ядерное обобщение метода опорных векторов
RBF ядро - изменяемое C
35/48
Ядерные методы - Виктор Китов
Ядерное обобщение метода опорных векторов
RBF ядро - изменяемое C
36/48
Ядерные методы - Виктор Китов
Ядерное обобщение метода опорных векторов
RBF ядро - изменяемое C
37/48
Ядерные методы - Виктор Китов
Ядерное обобщение метода опорных векторов
Полиномиальное ядро - изменяемое d
38/48
Ядерные методы - Виктор Китов
Ядерное обобщение метода опорных векторов
Полиномиальное ядро - изменяемое d
39/48
Ядерные методы - Виктор Китов
Ядерное обобщение метода опорных векторов
Полиномиальное ядро - изменяемое d
40/48
Ядерные методы - Виктор Китов
Ядерное обобщение метода опорных векторов
Полиномиальное ядро - изменяемое d
41/48
Ядерные методы - Виктор Китов
Ядерное обобщение метода опорных векторов
Полиномиальное ядро - изменяемое C
42/48
Ядерные методы - Виктор Китов
Ядерное обобщение метода опорных векторов
Полиномиальное ядро - изменяемое C
43/48
Ядерные методы - Виктор Китов
Ядерное обобщение метода опорных векторов
Полиномиальное ядро - изменяемое C
44/48
Ядерные методы - Виктор Китов
Ядерное обобщение метода опорных векторов
Сигмоидальное ядро - изменяемое γ
45/48
Ядерные методы - Виктор Китов
Ядерное обобщение метода опорных векторов
Сигмоидальное ядро - изменяемое γ
46/48
Ядерные методы - Виктор Китов
Ядерное обобщение метода опорных векторов
Сигмоидальное ядро - изменяемое γ
47/48
Ядерные методы - Виктор Китов
Ядерное обобщение метода опорных векторов
Сигмоидальное ядро - изменяемое C
48/48
Скачать