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

Lecture16 Kernels

Загружено:

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

Lecture16 Kernels

Загружено:

3layerperceptron
Авторское право
© © All Rights Reserved
Мы серьезно относимся к защите прав на контент. Если вы подозреваете, что это ваш контент, заявите об этом здесь.
Доступные форматы
Скачать в формате PDF, TXT или читать онлайн в Scribd
Вы находитесь на странице: 1/ 6

Лекция 16

Ядра в машинном обучении


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

Ядра позволяют превращать линейные методы машинного обучения в нели-


нейные за счёт подмены признакового пространства. При этом, поскольку подмена
производится через скалярное произведение, сложность методов не повышается. Мы
уже знаем, как конструируются ядра, а также изучили несколько их распространён-
ных примеров — например, полиномиальные и гауссовы ядра. Теперь мы перейдём к
теоретическим вопросам и выясним, как выглядит оптимальный алгоритм в спрям-
ляющем пространстве в общем виде. Далее мы обсудим вычислительные трудности,
связанные с ядровыми методами, и разберём методы их устранения с помощью ран-
домизации. Наконец, мы разберём ещё одно применение ядер — а именно, в методе
главных компонент.

1 Гильбертовы пространства и теорема о пред-


ставлении
Рассмотрим гильбертово пространство (т.е. линейное векторное пространство
со скалярным произведением, которое является полным) функций над объекта-
ми H ⊂ {f : X → R}. Нас будут интересовать гильбертовы пространства с вос-
производящими ядрами (reproducing kernel Hilbert space, RKHS) — грубо говоря, это
такие пространства функций, в которых результат применения функции f ∈ H к
объекту x ∈ X представим как скалярное произведение f на некоторый элемент
пространства ϕ(x) ∈ H:

f (x) = hf, ϕ(x)i


Заметим, что ϕ(x) — это тоже функция из H; значит, она представима в виде
ϕ(x)(z) = hϕ(x), ϕ(z)i

Данная функция K : X × X → R называется воспроизводящим ядром и является


симметричной и положительно определённой. Из функционального анализа извест-
но, что любому симметричному положительно определённому ядру соответствует
некоторое гильбертово пространство с воспроизводящим ядром — а значит, при ис-
пользовании ядер мы переводим объекты в некоторые функциональные гильбертовы
пространства.

1
2

При использовании ядер мы строим линейную модель в спрямляющем про-


странстве — то есть модель вида a(x) = hw, ϕ(x)i. Поскольку спрямляющее про-
странство может быть очень сложным (и даже бесконечномерным), есть риск, что
мы не сможем найти w и, как следствие, a(x) в явном виде. Тем не менее, до сих пор
в линейной регрессии и в SVM оказывалось, что оптимальная модель имеет вид

X
a(x) = αi K(x, xi )
i=1

Оказывается, это правило является достаточно общим, и в большинстве случаев ре-


шение задачи машинного обучения будет иметь такой вид. Данный результат назы-
вается теоремой о представлении (representer theorem). Сформулируем и докажем
её.

Теорема 1.1. Пусть K(x, z) — симметричное положительно определённое яд-


ро, соответствующее гильбертову пространству H. Пусть заданы функция по-
терь L((x1 , y1 , a(x1 )), . . . , (xℓ , yℓ , a(xℓ ))) и регуляризатор g(kak), где g : [0, +∞) → R —
монотонно возрастающая функция. Тогда решение задачи

a∗ = arg min {L((x1 , y1 , a(x1 )), . . . , (xℓ , yℓ , a(xℓ ))) + g(kak)} (1.1)
a∈H

имеет вид

X
a∗ (x) = αi K(x, xi ).
i=1

Доказательство.
Рассмотрим базис, состоящий из элементов ϕ(x1 ), . . . , ϕ(xℓ ). Любой элемент
гильбертова пространства a ∈ H можно представить в виде суммы двух компонент:
одна будет принадлежать линейной оболочке элементов ϕ(x1 ), . . . , ϕ(xℓ ), другая —
ортогональному дополнению:

X
a= αi ϕ(xi ) + v,
i=1

где hv, ϕ(xi )i = 0 для всех i = 1, . . . , ℓ.


Как мы выяснили выше, применение функции a к объекту x равносильно вы-
числению скалярного произведения a на ϕ(x). Тогда для объектов обучающей вы-
борки будет выполнено
* ℓ + ℓ
X X
a(xj ) = αi ϕ(xi ) + v, ϕ(xj ) = αi hϕ(xj ), ϕ(xi )i.
i=1 i=1

Мы получили, что ответ модели на объектах обучающей выборки не зависит от v —


значит, и значение функции потерь не зависит от v.
3

Теперь выясним, как элемент v влияет на регуляризатор. Воспользуемся его


монотонностью и запишем неравенство:

!
X
g(kak) = g αi ϕ(xi ) + v
vi=1 
u ℓ 2
u
t X
= g αi ϕ(xi ) + kvk2 

i=1


!
X
>g αi ϕ(xi )
i=1

Мы получили, что зануление v приводит к уменьшению значения регуляризатора


и никак не влияет на значение функции потерь. Значит, в решении задачи (1.1)
компонента v всегда будет равна нулю. Отсюда получаем, что это решение имеет
вид

X
a∗ (x) = αi K(x, xi ).
i=1

2 Аппроксимация спрямляющего пространства


Все ядровые методы используют матрицу Грама G = XX T вместо матри-
цы «объекты-признаки» X. Это позволяет сохранять сложность методов при сколь
угодно большой размерности спрямляющего пространства, но работа с матрицей
Грама для больших выборок может стать затруднительной. Так, уже при выбор-
ках размером в сотни тысяч объектов хранение этой матрицы потребует большого
количества памяти, а обращение станет трудоёмкой задачей, поскольку требует O(ℓ3 )
операций.
Решением данной проблемы может быть построение в явном виде такого пре-
образования ϕ̃(x), которое переводит объекты в пространство не очень большой раз-
мерности, и в котором можно напрямую обучать любые модели. Мы разберём метод
случайных признаков Фурье (иногда также называется Random Kitchen Sinks) [2],
который обладает свойством аппроксимации скалярного произведения:

hϕ̃(x), ϕ̃(z)i ≈ K(x, z).

Из комплексного анализа известно, что любое непрерывное ядро вида K(x, z) =


= K(x − z) является преобразованием Фурье некоторого вероятностного распреде-
ления (теорема Бохнера):
Z
T
K(x − z) = p(w)eiw (x−z) dw.
Rd
4

Преобразуем интеграл:
Z Z Z
iw T (x−z) T
p(w)e dw = p(w) cos(w (x − z))dw + i p(w) sin(w T (x − z))dw =
R d d d
ZR R

= p(w) cos(w T (x − z))dw.


Rd

Поскольку значение ядра K(x − z) всегда вещественное, то и в правой части мнимая


часть равна нулю — а значит, остаётся лишь интеграл от косинуса cos w T (x − z). Мы
можем приблизить данный интеграл методом Монте-Карло:
n
1X
Z
T
p(w) cos w (x − z)dw ≈ cos wjT (x − z),
Rd n j=1

где векторы w1 , . . . , wn генерируются из распределения p(w). Используя эти векторы,


мы можем сформировать аппроксимацию преобразования ϕ(x):
1
ϕ̃(x) = √ (cos(w1T x), . . . , cos(wnT x), sin(w1T x), . . . , sin(wnT x)).
n
Действительно, в этом случае скалярное произведение новых признаков будет иметь
вид
n
1X
cos(wjT x) cos(wjT z) + sin(wjT x) sin(wjT z)

K̃(x, z) = hϕ̃(x), ϕ̃(z)i =
n j=1
n
1X
= cos wjT (x − z).
n j=1

Данная оценка является несмещённой для K(x, z) в силу свойств метода Монте-
Карло. Более того, с помощью неравенств концентрации меры можно показать, что
дисперсия данной оценки достаточно низкая. Например, для гауссова ядра будет
иметь место неравенство
 
P sup |K̃(x, z) − K(x, z)| > ε 6 28 (2dσ 2 /ε)2 exp(−dε2 /4(d + 2)).
x,z

Разумеется, найти распределение p(w) можно не для всех ядер K(x − z). Как
правило, данный метод используется для гауссовых ядер exp(kx−zk2 /2σ 2 ) — для них
распределение p(w) будет нормальным с нулевым матожиданием и дисперсией σ 2 .

3 Ядровой метод главных компонент


Вспомним, что в методе главных компонент вычисляются собственные век-
торы u1, . . . , ud ковариационной матрицы X T X, соответствующие наибольшим соб-
ственным значениям. После этого новое признаковое описание объекта x вычисляется
с помощью его проецирования на данные компоненты:

(huj , xi)dj=1.
5

Попробуем теперь воспользоваться методом главных компонент в ядровом про-


странстве, где объекты описываются векторами ϕ(x). Поскольку зачастую отобра-
жение ϕ(x) нельзя выписать в явном виде, сформулируем метод главных компонент
в терминах матрицы Грама K = ΦΦT и ядра K(x, z). Отметим, что напрямую поль-
зоваться ковариационной матрицей ΦT Φ нельзя, поскольку она имеет размер d × d, а
число признаков d в спрямляющем пространстве может быть слишком большим; бо-
лее того, спрямляющее пространство может быть бесконечномерным, и в этом случае
ковариационную матрицу получить вообще не получится.
Пусть vj — собственный вектор матрицы Грама K, соответствующий собствен-
ном значению λj . Рассмотрим цепочку уравнений:
ΦT Φ(ΦT vj ) = ΦT (ΦΦT vj ) = λj ΦT vj ,
из которой следует, что ΦT vj является собственным вектором ковариационной мат-
рицы ΦT Φ, соответствующим собственному значению λj . Найдём норму данного век-
тора:
kΦT vj k2 = vjT (ΦΦT vj ) = λj vjT vj = λj ,
где мы воспользовались нормированностью собственных векторов vj . Значит, векто-
−1/2
ры uj = λj ΦT vj будут являться ортонормированной системой собственных векто-
ров ковариационной матрицы.
Преобразуем выражение для uj :

X ℓ
X
−1/2
u j = λj (vj )i ϕ(xi ) = αji ϕ(xi ),
i=1 i=1
−1/2
где αji = λj vj .
Мы выразили главные компоненты через признаковые описания объектов обу-
чающей выборки в ядровом пространстве. Теперь найдём проекции объекта ϕ(x) на
эти компоненты:
* ℓ +
X
huj , ϕ(x)i = αji ϕ(xi ), ϕ(x)
i=1

X
= αji hϕ(xi ), ϕ(x)i
i=1
Xℓ
= αji K(xi , x).
i=1

Итак, мы выразили проекции на главные компоненты через ядро и через собственные


векторы матрицы Грама — этого достаточно, чтобы вычислять проекции, не исполь-
зуя напрямую признаковые описания объектов из спрямляющего пространства.

Список литературы
[1] Drineas, Petros and Mahoney, Michael W. On the NyströM Method for
Approximating a Gram Matrix for Improved Kernel-Based Learning. // Journal of
Machine Learning Research, 2005.
6

[2] Rahimi, Ali and Recht, Benjamin Random Features for Large-scale Kernel
Machines. // Proceedings of the 20th International Conference on Neural Information
Processing Systems, 2007.

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