Изменения

Перейти к: навигация, поиск

Ядро

2102 байта добавлено, 03:53, 22 марта 2020
Добавлено описание ядер, подредактированы формулы
[[File:kernel3_2.png|600px500px|thumb|right|Пример использования ядерного трюка]]
'''Ядерный трюк'''(анг. ''kernel function'') метод в машинном обучении, позволяющий перевести элементы для случая линейной неразделимости в новое линейно разделимое пространство пространство. Такое пространство называют '''спрямляющим'''. Поскольку для любой непротиворечивой выборки соответствующее пространство большей размерности существует, главной проблемой становится его найти.
Функция $K(x,x'):X×X\rightarrow \mathbb{R}$ называется '''ядром''', если она может быть представлена в виде $K(x,x')=\langle \varphi(x),\varphi(x')\rangle_H$ при некотором отображении $\varphi(x):X\rightarrow H$,где H {{---}} пространство со скалярным произведением.
Поскольку для задачи линейного разделения объектов не требуется их признаковое описание, а достаточно скаляров, то можно заменить скалярное произведение $\langle x,x'\rangle$ на ядро $K(x,x')$ Более того, можно вообще не строить спрямляющее пространствоHв явномвидепространство $H$ в явном виде, и вместо подбора отображения $\varphi$ заниматься непосредственно подбором ядра.
Можно пойти ещё дальше, и вовсе отказаться от признаковых описаний объек-товобъектов. Во многих практических задачах объекты изначально задаются информациейоб информацией об их попарном взаимоотношении, например, отношении сходства. Если эта инфор-мация допускает представление в виде двуместной функции $K(x,x')$, удовлетворяю-щей удовлетворяющей аксиомам скалярного произведения, то задача может решаться методом [[Метод опорных векторов (SVM) | SVM ]].
== Теорема Мерсера Выбор функции ядра == '''Теорема Мерсера''': Функция K(x,y) является ядром тогда и только тогда, когдаона симметрична: $K(x,y)=K(y,x)$ и неотрицательно определена, то есть $\forall g:X \rightarrow \mathbb{R}, \int_X \int_X K(x, x')g(x)g(x')dxdx' \geqslant 0$
Она симметрична: $K(xТаким образом мы видим,y)=K(y,x)$что класс ядер достаточно широк.
Она неотрицательно определенаПроверка неотрицательной определённости функции в реальных задачах может быть сложной. Чаще всего ограничиваются перебором конечного числа функций, то есть $\forall g: X \rightarrow \mathbb{R}про которые известно, \int_X \int_X Kчто они являются ядрами. Среди них выбирается лучшая(xобычно по критерию скользящего контроля). Такое решение не будет оптимальным и на сегодняшний день проблема выбора ядра, оптимального для данной конкретной задачи, x')g(x)g(x')dxdx' \geqslant 0$остаётся открытой.
== Конструктивные способы построения ядер ==
3. Произведение ядер $K(x,x')=K_1(x,x')K_2(x,x')$является ядром.
4. Для любой функции $\psi :X\rightarrow R$ произведение <tex>$K(x,x′) =\psi(x)\psi(x′x')</tex>${{---}} ядро.
5. Линейная комбинация ядер с неотрицательными коэффициентами $K(x,x′x') ==\alpha_1K_1(x,x') +\alpha_2K_2(x,x')$является ядром.
6. Композиция произвольной функции $\varphi:X \rightarrow X$ и произвольного ядраK0является ядра $K_0$ является ядром: $K(x,x') =K_0(\varphi(x),\varphi(x'))$.
7. ЕслиsЕсли $s:$X×X\rightarrow R$ произвольная симметричная интегрируемая функция, то $K(x,x′) =\int Xsint_Xs(x,z)s(x',z)dz$dzявляется является ядром.//TODO
8. Функция вида $K(x,x') = k(x−x)$ является ядром тогда и только тогда, когдаФурьекогда Фурье-образ $F[k](\omega) = (2\Pipi)n_2∫Xe−i〈^{\owmegafrac{n}{2}}\int_Xe^{−i\langle\omega,x〉kx\rangle }k(x)dx $ неотрицателен.
9. Предел локально-равномерно сходящейся последовательности ядер {{---}} ядро.
10. Композиция произвольного ядраK0и ядра $K_0$ и произвольной функции ''$f'':R\rightarrow R$, представимой в виде сходящегося степенного ряда с неотрицательными коэффициентами $K(x,x') = f(K_0(x,x'))$, является ядром. В частности, функции $f(z) =e^z$ и $f(z) =\frac{1/}{1−z} $ от ядра являются ядрами.
== Ядерный трюк Некоторые часто используемые функции ==Поскольку для обучения зачастую необходима уже функция "расстояния" между элементами в новом пространстве, то вместо явного нахождения ядра {{---}} его можно зашить внутрь соответсвующей функции k(x, x'). Такую функцию k называют '''ядерной функцией'''
 
== Некоторые часто используемые функции ==
0.Линейное $K(x, x')= \langle x, x'\rangle$
Используется в алгоритме [[Метод опорных векторов (SVM) | SVM ]] по умолчанию.
1.Полиномиальное ядро $K(x, x') = (\langle x, x' \rangle + R)^d$
Используется когда необходимо получить полином $p(y)$, где в качестве y выступает скалярное произведение $\langle x, x' \rangle$. Поскольку в конструктивных возможностях у нас есть умножение ядер, умножение на коэффициент и сложение, то любой многочлен так же является ядром. 2.Гаусово ядро RBF K(x, x') = $exp(-\gamma ||frac{\parallel x - x'||\parallel^2}{2\sigma^2})$ Такое ядро соответсвует бесконечномерному пространству. Поскольку оно является пределом последовательности полиномиальных ядер при стремлении степени ядра к бесконечности.
== См. также ==
* [[Метод опорных векторов (SVM)]]
== Примечания ==
<references/>
== Источники информации ==
#[http://www.machinelearning.ru/wiki/images/6/6d/Voron-ML-1.pdf Ядра и спрямляющие пространства p.73-75 — К. В. Воронцов Математические методы обучения по прецедентам]
#[https://github.com/esokolov/ml-course-msu/blob/master/ML16/lecture-notes/Sem12_linear.pdf github.com/esokolov/ml-course-msu — Евгений Соколов Ядра и их применение в машинном обучении]
#[https://ru.wikipedia.org/wiki/%D0%AF%D0%B4%D0%B5%D1%80%D0%BD%D1%8B%D0%B9_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4#%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0:_%D1%8F%D0%B4%D0%B5%D1%80%D0%BD%D1%8B%D0%B9_%D1%82%D1%80%D1%8E%D0%BA wikipedia.org — Ядерный метод]
[[Категория: Машинное обучение]]
[[Категория: Классификация]]
20
правок

Навигация