Всем привет, добро пожаловать в тему машинного обучения вторника, в сегодняшней статье все же будет речь о модели SVM.
Может всем надоело видеть модель SVM, и думают, что я не умею писать новые трюки, и буду повторять снова и снова. На самом деле в этом нет ничего нового, по крайней мере, этоПоследняя статья в этой теме. На следующей неделе мы начнем наше путешествие по глубокому обучению. Я считаю, что многие студенты давно ждали этого дня. На самом деле, я такой же, потому что большая часть контента в этой теме будет использована только на собеседовании. процесс, а у меня уже давно нет интервью. Итак, давайте упакуем наше волнение и закончим с последней частью SVM.
Несмотря на то, что осталось только последнее содержание, сегодняшнее содержание очень важно и, можно сказать, является основной конечной точкой интервью модели SVM. Когда дело доходит до возможных вопросов двойственности SVM, лагранжев интервьюер может не задавать вам, и он может не обязательно знать это сам, но то, о чем я собираюсь говорить сегодняФункция ядра обязательно спросит. Потому что это кажется самым важным содержанием SVM на поверхности, на самом деле, когда я только менял карьеру и готовился к интервью, я ничего не знал о модели SVM, но я знал функцию ядра, поэтому я думаю, что каждый должен быть в состоянии понять глубокий смысл этого.
Что такое функция ядра
Прежде всего, давайте введем понятие функции ядра.Вам может быть очень любопытно.Очевидно, что мы полностью вывели принцип модели SVM, так почему появляется еще одна функция ядра. На самом деле функция ядра очень интересна и очень важна для SVM, потому что она устанавливает «состояние рек и озер» SVM, что также можно назвать самой большой особенностью модели SVM.
Прежде чем представить функцию ядра, давайте рассмотрим очень известную в истории машинного обучения задачу, которая называетсяили проблема. Все мы знаем, что в двоичном коде есть операция, которая называется или. Или операция на самом деле очень проста, то есть, если два числа совпадают, возвращается результат 0, иначе возвращается 1. Если бы наши данные были похожи или составлены, это выглядело бы так:
Если мы наблюдаем приведенную выше картину, мы обнаружим проблему, то есть мыВ любом случае невозможно найти строчку, завершающую приведенную выше классификацию.. Потому что линию можно разделить только на две области, а на приведенном выше рисунке явно четыре области.
Затем, если мы сопоставим приведенные выше данные с более высоким измерением, то приведенное выше изображение является двумерным изображением, и мы сопоставим его с трехмерным, мы сможем использовать плоскость для различения образцов. то естьСопоставьте выборки из n измерений с n+1 или более высокими измерениями с помощью функции сопоставления, так что изначально линейно неразделимые данные становятся линейно разделимыми, так что мы можем решить некоторые задачи, которые не могли быть решены изначально.
Так что же такое функция ядра? - это общий термин для ряда функций, входом которых является выборка x, а выходом - выборка, отображаемая в более высокое измерение.. Большинство функций, которые могут этого добиться, можно считать функциями ядра (не совсем точно, просто для удобства понимания).Конечно, хотя некоторые странные функции и являются функциями ядра, они могут не представлять для нас большой ценности, поэтому мы также очень мало использования, есть только несколько часто используемых функций ядра.
инструкции
Теперь, когда мы знаем, что такое функция ядра, как ее использовать?
Эта задача несложная. Математически более сложной является проблема представления. Это может быть наиболее трудной задачей для описания и ясного выражения проблемы. Когда она выражена, ее может быть намного легче решить. Итак, давайте сначала представим проблему с буквойдля представления функции ядра. Как упоминалось ранее, вход функции ядра — это выборка x, поэтому выборка после отображения.
Помните формулу, которую мы вывели до конца в прошлый раз? Давайте напишем это для всех, чтобы проверить.
Все, что нам нужно сделать, это подставить в нее функцию ядра, и все, после ее подстановки мы получим:
Здесь есть небольшая проблема, мы говорили ранее, что функцияотобразит x в более высокое измерение. Например, x сам по себе 10-мерный, после использования функции мы переводим его в 1000-мерный.Конечно, проблема его линейной неразделимости может быть решена, но это повлечет за собой другую проблему, т.е.Вычислительная сложность возросла. потому что изначальноПервоначально требовалось всего 10 вычислений, но теперь, после сопоставления, для получения результата требуется 1000 вычислений. Это не соответствует нашей психологии желания заниматься проституцией и нежелания тратить деньги, поэтому мы наложили некоторые ограничения на функцию ядра,Только функция отображения, которую можно использовать бесплатно, называется функцией ядра..
Пишем условия, которые нужно выполнить, что на самом деле очень просто. Мы вызываем функцию ядра, удовлетворяющую условию K, тогда K должно удовлетворять:
То есть, K парВычисление результата эквивалентно выполнению операции скалярного произведения над результатом после отображения, так что отображение может быть завершено без изменения вычислительной сложности. На самом деле, для функции ядра существует математическое определение, которое я здесь не публиковал. Во-первых, это выражение слишком сложно для использования, а во-вторых, мы не будем спрашивать такие подробности во время интервью. Нам нужно только знать его Природа прекрасна. Поскольку существует всего несколько часто используемых функций ядра, мы просто запоминаем их.
Давайте взглянем на общие функции ядра, их примерно четыре вида:
- Линейная функция ядра, на самом деле функции ядра нет. Мы выражаем это
- Полиномиальная функция ядра, эквивалентная полиномиальному преобразованию:,здесь, b и d — параметры, которые мы устанавливаем
- Ядро Гаусса, эта функция ядра используется очень часто,
- сигмоидальное ядро, его формула:
Мы используем функцию ядра очень просто, то есть используем функцию K для вычислениязначение для замены оригиналарезультат,Это не влияет на вывод модели SVM.. Вот почему мы использовали алгоритм SMO для вывода в предыдущей статье.При оптимизации метода пустьПричина в том, чтобы проложить путь для более позднего объяснения функции ядра.
Лично я считаю, что по сравнению с предыдущим выводом жесткого интервала и мягкого интервала, двойной задачи и алгоритма SMO, принцип функции ядра должен быть самым простым среди них. Даже если вы совсем не понимаете принцип модели SVM, вы можете понять функцию ядра. Так что у всех, кто читает эту статью, не должно быть слишком большого давления.
На этом статья заканчивается, если вам понравилось, надеюсь, вы сможете прийти на волнуСанлианПоддержка, еще раз спасибо за чтение (Подписывайтесь, делайте репосты, лайкайте).
Оригинальная ссылка, обратите внимание
В этой статье используетсяmdniceнабор текста
- END -