Изменения

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

Ядро

2949 байт добавлено, 02:23, 23 марта 2020
Добавлено 2 пунткта, изменена картинка
[[File:kernel3_2kernel2_3.png|500px|thumb|right|Пример использования ядерного трюка]]
'''Ядерный трюк'''(анг.-- ''kernel function'') метод в машинном обучении, позволяющий перевести элементы для случая линейной неразделимости в новое линейно разделимое пространство. Такое пространство называют '''спрямляющим'''. Поскольку для любой непротиворечивой выборки соответствующее пространство большей размерности существует, главной проблемой становится его найти.
Можно пойти ещё дальше, и вовсе отказаться от признаковых описаний объектов. Во многих практических задачах объекты изначально задаются информацией об их попарном взаимоотношении, например, отношении сходства. Если эта информация допускает представление в виде двуместной функции $K(x,x')$, удовлетворяющей аксиомам скалярного произведения, то задача может решаться методом [[Метод опорных векторов (SVM) | опорных векторов ]].
 
 
== Преимущества и недостатки ==
 
'''Преимущества'''
 
*обобщение линейных методов на нелинейный случай
 
** с сохранением вычислительной эффективности линейных методов
 
**с сохранением преимуществ линейных методов(локальный оптимум является глобальным, нет локальных оптимумов=>меньше переобучение)
 
*объекты для которых не существует векторныхпредставлений фиксированной длины
 
*ускоренное вычисление скалярных произведений для высоких значений D
 
'''Недостатки'''
 
*вычислительно сложно проверять принадлежность функции ядру
 
*поиск подходящего ядра экспоненциально сложен из-за их большого многообразия
 
== Характерные случаи применения ==
* Признаковое пространство высокой размерности
 
Например все полиномы до степени M, для случая Гаусовского ядра - признаковое пространство бесконечной размерности.
 
* Случай, когда сложно представить объекты векторами фиксированной длины
 
Такие как строки, множества, картинки, тексты, графы,3D-структуры и т.д.
 
* Существование естественного определения скалярного произведения
 
Такие как строки(число совместно встречающихся подстрок) или множества(напр. для множеств $S_1$ и $S_2$ ядром будет являться $K(S_1, S_2) = 2^{|S_1\cap S_2|}$)
 
* Скалярное произведение может быть подсчитано эффективно
== Выбор функции ядра ==
== Некоторые часто используемые функции ядра ==
0. '''Линейное''' $K(x, x')= \langle x, x'\rangle$
Такое ядро соответсвует бесконечномерному пространству. Поскольку оно является пределом последовательности полиномиальных ядер при стремлении степени ядра к бесконечности.
 
3.'''Сигмоидальное''' ядро $tangh (\gamma \langle x, x'\rangle + r)$
 
В отличии от предыдущих 3-х не является ядром Мерсера.
 
4.'''Строковое''' ядро
 
<ref>[https://ru.wikipedia.org/wiki/%D0%A1%D1%82%D1%80%D0%BE%D0%BA%D0%BE%D0%B2%D0%BE%D0%B5_%D1%8F%D0%B4%D1%80%D0%BE#%D0%9E%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5 - Строковые ядра]</ref> это разлиные вариации вычисления расстояний между двумя строками.
== См. также ==
#[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 — Ядерный метод]
#[http://www.machinelearning.ru/wiki/images/7/78/Kitov-ML-09-Kernel_methods.pdf www.machinelearning.ru — Виктор Китов Ядерные методы]
[[Категория: Машинное обучение]]
[[Категория: Классификация]]
20
правок

Навигация