20
правок
Изменения
Ядро
,Добавлено 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 — Виктор Китов Ядерные методы]
[[Категория: Машинное обучение]]
[[Категория: Классификация]]