Это 10-й день моего участия в августовском испытании обновлений. Узнайте подробности события:Испытание августовского обновления
Эта статья является четвертой в серии заметок по курсу машинного обучения Эндрю Нг, в основном о введении и выводе алгоритма машин опорных векторов.
функция стоимости
обзорлогистическая регрессияв функции стоимости в:
сначала игнорировать,когда, надеемся, что стоимость минимальна, т. е. надеемся;когда, надеемся, что стоимость минимальна, т. е. надеемся, изображение выглядит следующим образом:
наблюдать за изображением, когдачас,становится больше, а стоимость уменьшается.Чтобы получить более высокую точность предсказания, SVM выпрямляет кривую в полилинию, принимаяявляется поворотным моментом, предыдущая логистическая регрессия была, прогнозируемый результат близок к, теперь SVM меняется на, прогнозируемый результат близок к. когдаТо же время. мы будемКогда две новые функции стоимости названы как, изображение выглядит следующим образом:
Заменить в функции стоимости логистической регрессии, мы можем получить функцию стоимости машины опорных векторов:
минимизировать стоимость
SVM определяет свой процесс минимизации стоимости прогнозирования как:
Как можно видетьПосле извлечения функция стоимости приведенного выше SVM может быть просто описана как:, нетрудно понять, что функция стоимости логистической регрессии также может быть просто описана как:.
На самом деле логистическая регрессия выполняетсядля настройки весов, а SVM преобразует ихдля регулировки веса. Фактическиможно считать эквивалентным.
Гипотетическая функция
Когда параметры получаются путем минимизацииПосле этого можно подставить следующую гипотетическую функцию для предсказания:
Большая маржинальная интуиция
В функции стоимости предыдущего SVM мы узнали, что когда, SVM ожидает; и когда, SVM ожидает. ииспользуется для регулировки веса. Рассмотрим частный случай, предположимзадается очень большим, то в процессе минимизации функции стоимости нам понадобится промежуточное значениеТо есть первый член функции стоимости равенвсегда для, что превращает задачу минимизации в задачу минимизации второго членаПроблема:
Черная линия на рисунке ниже — это граница решения, сделанная SVM. Видно, что существует большее кратчайшее расстояние между черной границей и обучающей выборкой.Это расстояние называется запасом SVM.SVM фактически пытается выбрать наилучшую границу решения, поэтому машину опорных векторов иногда называютКлассификатор с большим интервалом.
Математический вывод
Сначала просмотрите знания о векторном скалярном продукте. Предположим, что есть два двумерных вектораи:
Мы делаем геометрическую диаграмму, чтобы представить ее интуитивно, и пустьВыражается какпо прогнозамдлина, как показано на рисунке:
[Не удалось передать изображение по внешней ссылке, исходный сайт может иметь механизм защиты от пиявки, рекомендуется сохранить изображение и загрузить его напрямую (img-eZnPmNta-1628350970614)(/imgs/vector inner product.PNG)]
Тогда векторный внутренний продукт:
в,занорма, также известная как длина. должны знать о том,является числом со знаком, когда векторКогда прилежащий угол больше 90°,является отрицательным числом.
Вернувшись в SVM, мы предполагаем, что есть два параметра,Сейчас, и разреши, чтобы игнорировать перехват, так что вектормимо источника, то:
Видно, что все, что делает SVM, — это минимизирует вектор параметровКвадрат нормы (или длины) .
Дополнительно мы можем получить:,во-первыхобучающие выборкив векторе параметровпроекция на. Как показано ниже:
правильно, мы надеемся,если(В настоящее время) очень мало, тобудет очень большим; то же самое верно, мы надеемся,если(В настоящее время) очень мало, тобудет очень большим, что согласуется с нашим первоначальным желанием минимизировать вектор параметровКвадрат нормы противоречит. Поэтому мы предпочитаемдостаточно большой.
Функция ядра
определение
Во-первых, нам нужно понять линейную разделимость и нелинейную разделимость, как показано на рисунке ниже, набор данных на левом изображении является линейно разделимым, а правое изображение нелинейно разделимым.
Наша предыдущая проблема линейной классификации контента уже обсуждалась, чтобы с помощью прямой линии разделить набор данных и добиться наибольшей границы решения. Для нелинейных задач, прежде чем вспоминать логистическую регрессию, мы должны увеличить количество признаков с помощью сопоставления признаков (комбинации признаков) для выполнения полиномиального подбора. Для SVM полиномиальная регрессия высокого порядка не обязательно вносит существенный вклад, и поэтому использование SVM заключается во введении заранее выбранныхориентир, примерс достопримечательностямисходство как новый признак:
мера расстоянияЭта функция называется функцией ядра. Обычно используемые функции ядра Гаусса:
- когдас достопримечательностямиРасстояние между примерночас,
- когдас достопримечательностямиКогда расстояние между ними становится достаточно большим,
Стоит отметить, что перед использованием функции ядра Гаусса необходимо выполнить масштабирование признаков.
Выбор ориентира
Обычно количество ориентиров определяется в соответствии с количеством образцов в обучающем наборе, и каждый ориентир соответствует каждому образцу. Преимущество этого в том, что новые функции, которые мы получаем, основаны на расстоянии между исходными функциями и всеми другими функциями в обучающем наборе.
то есть предположим, что у нас естьобразцы, затем. доступны новые функции:
Соответственно, окончательный SVM минимизирует стоимость процесса:
Другие функции ядра
-
Полиномиальная функция ядра (Polynomial KerneПриходить)
-
ядро Лапласа
-
Строковая функция ядра (String kernel)
-
Функция ядра хи-квадрат (chi-square kernel)
-
Функция ядра пересечения гистограммы (histogram intersection kernel)
-
и т.д...
Совет по применению SVM
в настоящее времяsklearnСуществует много очень полных наборов инструментов для прямого вызова.Для приложений SVM общие параметрыВыбор функции ядра — два наиболее важных параметра применения SVM.
заРегулировка фактически связана с параметром регуляризацииНапротив:
- низкое смещение,высокая дисперсия, то есть столкнулсяпереоснащениеВремя:уменьшать ценность.
- высокое отклонение,низкая дисперсия, то есть столкнулсянедооснащениеВремя:увеличивать ценность.
Кроме того, когда SVM не применяет функцию ядра, по умолчанию вызываетсяЛинейная функция ядра. Когда количество выборок невелико, а функции велики, обычно используется SVM без функции ядра. Конечно, вы также можете использовать логистическую регрессию.
Когда количество выборок велико, а количество признаков мало, необходимо использовать функцию ядра. заФункция ядра Гаусса,разныеЭффект стоимости также отличается:
- Когда он больше, это может привести к низкой дисперсии и высокому смещению;
- Когда он мал, это может привести к низкому смещению и высокой дисперсии.
Столкнувшись с проблемами множественной классификации, мы можем использовать один и тот жеСтратегия «Один против всех».
На самом деле, поскольку вычислительная производительность нейронных сетей значительно улучшилась, столкнувшись с небольшим количеством выборок и большим количеством признаков, помимо использования SVM, мы также можем использоватьНейронные сети.
Прикреплен после реализации кода домашнего задания: