Популярное введение в машины опорных векторов (понимание трехуровневой области SVM)
Автор: июль. Кредиты: pluskid, Shiraishi, JerryLead.
Примечание: эта статья была первоначально написана в июне 2012 года, и ее неоднократно пересматривали и оптимизировали. Количество исправлений достигало сотен раз. Последняя редакция была сделана в ноябре 2016 года.
Отказ от ответственности: к этой статье уже прикреплены все справочные ссылки в 2012 году, и она отмечена как «учебная заметка» и указано, что она конкретно ссылается на статью pluskid et al. PDF-файл 2013 года в конце статьи является доказательством. Кроме того, если изображения/формулы в этой статье не отображаются нормально, нажмите ** в этой статье.Июльская онлайн-версия банка вопросов**.
предисловие
Чтобы написать эту машину опорных векторов, потребовалось много усилий и трудностей. Причина очень проста. Во-первых, эта вещь сама по себе непроста для понимания. Требуется много времени и энергии для глубокого изучения и исследования. легко объяснить две вещи ясно.Хотя некоторые друзья хорошо написали в Интернете (см. ссылку в конце статьи), этого все еще недостаточно при описании математических формул. Благодаря математическому доказательству моего одноклассника Шираиши, я все еще хочу попробовать его написать.Я надеюсь, что этой статьи будет действительно достаточно, чтобы быть полным обзором и введением в машины опорных векторов на основе простоты понимания.
В процессе написания этой статьи я ссылался на множество материалов, в том числе «Введение в машины опорных векторов», «Статистические методы обучения» и серию машин опорных векторов пользователей сети pluskid и т. Д. Здесь это все еще заметка для изучения. , просто добавляю свои собственные Если есть какое-либо неуместное понимание и резюме, пожалуйста, с нетерпением ждите Haihan. Полный текст понимает концепцию и использование машин опорных векторов в целом на макроуровне, а также изучает все тонкости некоторых теорем, доказательств и принципиальных деталей на микроуровне и стремится сохранить логику ясной и легкой для понимания. .
В то же время, при чтении этой статьи рекомендуется максимально использовать браузеры, такие как хром, чтобы формула лучше отображалась.Кроме того, при чтении вы можете взять лист бумаги и ручку, и вывести все теоремы и формулы в этой статье самостоятельно или распечатать их напрямую (вы можете напрямую распечатать веб-версию или PDF-файл, прикрепленный в конце этой статьи) и выполнить расчеты по рукописи, чтобы получить максимальное удовольствие от размышлений. и расчет в любое время и в любом месте.
Хорошо, это то же самое предложение, если у вас есть какие-либо вопросы, пожалуйста, не стесняйтесь исправлять меня и давать мне советы в любое время, спасибо.
Первый уровень, понимание SVM
Машина опорных векторов, из-за своего английского имени машина опорных векторов, обычно называется SVM, Вообще говоря, это модель классификации с двумя классами, Его базовая модель определяется как линейный классификатор с наибольшим интервалом в пространстве признаков. Его стратегия обучения. Это максимизация интервала, который в конечном итоге может быть преобразован в решение задачи выпуклого квадратичного программирования.
1.1, Происхождение критериев классификации: Логистическая регрессия
Чтобы понять SVM, мы должны сначала выяснить концепцию: линейный классификатор.
Учитывая некоторые точки данных, они принадлежат к двум разным классам, и теперь нам нужно найти линейный классификатор, чтобы разделить эти данные на два класса. Если x используется для представления точек данных, а y используется для представления категорий (y может принимать 1 или -1, представляя два разных класса соответственно), цель обучения линейного классификатора состоит в том, чтобы найти гиперплоскость в n-мерном пространстве данных. (гиперплоскость), уравнение этой гиперплоскости можно выразить как (T в wT означает транспонирование):
У некоторых читателей могут возникнуть сомнения по поводу выбора категории 1 или -1.На самом деле, этот стандарт классификации 1 или -1 возник из логистической регрессии.
Целью логистической регрессии является изучение модели классификации 0/1 на основе признаков, и эта модель использует линейную комбинацию признаков в качестве независимой переменной, поскольку диапазон значений независимой переменной находится в пределах от отрицательной бесконечности до положительной бесконечности. Поэтому используйте логистическую функцию (или сигмовидную функцию) для сопоставления независимой переменной с (0,1), и считается, что сопоставленное значение принадлежит вероятности y = 1.
Гипотетическая функция
Где x — n-мерный вектор признаков, а функция g — логистическая функция.
иИзображение
Как видите, бесконечность отображается в (0,1).
А функция гипотезы — это вероятность того, что признак принадлежит y=1.
Поэтому, когда мы хотим определить, к какому классу относится новая функция, нам нужно толькоможет, еслиБольше 0,5 — это класс y=1, в противном случае он принадлежит классу y=0.
также,только сСвязанный,>0, то, а g(z) используется только для отображения, реальное решение о категории по-прежнему лежит в. Кроме того, когдачас,=1, иначе=0. Если мы только начнем сНачиная, я надеюсь, что цель модели состоит в том, чтобы сделать функцию y = 1 в обучающих данных, но свойство y=0. Логистическая регрессия заключается в том, чтобы учиться, так что признаки положительных примеров намного больше 0, а признаки отрицательных примеров много меньше 0, и эта цель должна быть достигнута на всех обучающих примерах.
Затем попытайтесь преобразовать логистическую регрессию. Сначала замените используемые метки результатов y = 0 и y = 1 на y = -1, y = 1, затем замените()серединаЗамените на b и, наконец, замените следующеезаменить(который). Таким образом, есть. То есть, за исключением того, что y изменяется от y=0 до y=-1, формальное представление функции линейной классификации и логистической регрессииНет разницы.
Далее, функция гипотезы может бытьУпростите g(z) и сопоставьте его с y=-1 и y=1. Отношения отображения следующие:
1.2, пример линейной классификации
Вот простой пример. Как показано на рисунке ниже, теперь есть двумерная плоскость с двумя разными данными на плоскости, представленными кружками и крестиками. Поскольку эти данные линейно отделимы, для разделения двух типов данных можно использовать прямую линию.Эта прямая линия эквивалентна гиперплоскости.Y, соответствующий точкам данных на одной стороне гиперплоскости, равен -1, а соответствующий y на другой стороне равен - 1. Все y равны 1.
Эта гиперплоскость может использовать функцию классификацииЭто означает, что когда f(x) равно 0, x является точкой на гиперплоскости, а точка, где f(x) больше 0, соответствует точке данных y=1, а точка, где f(x ) меньше 0 соответствует y= -1 баллу, как показано на следующем рисунке:
Примечание. Некоторые данные определяют выходную функцию от объекта к результату., как определено здесьСуть та же. Зачем? потому что либо,все еще, не влияет на окончательный результат оптимизации. Ниже вы увидите, что когда мы переводим на оптимизациюПри для удобства решения примем yf(x) равным 1, т. е. будет ли yf(x) равно y(w^x + b) или y(w^x - b), для формулы max1 мы хотим оптимизировать /||w|| не имеет никакого эффекта.
(Друг, Flying Dog, из Mare_Desiderii. Прочитав приведенное выше определение, он спросил: Скажите, пожалуйста, что такое функциональный запас SVMЯвляется ли Y в =y(wTx+b)=yf(x) только 1 и -1? Единственная роль y заключается в обеспечении неотрицательности функционального запаса? Это так? Конечно нет, подробности смотрите на 43 этаже под комментариями к этой статье)
Другими словами, при классификации найдите новую точку данных x, подставьте x в f(x), если f(x) меньше 0, присвойте категории x значение -1, если f(x) больше 0 Затем присвойте категории x значение 1.
Следующий вопрос: как определить эту гиперплоскость? Интуитивно эта гиперплоскость должна быть лучшей линией для разделения двух типов данных. Критерием оценки «наиболее подходящего» является то, что эта линия имеет наибольшее расстояние от данных по обеим сторонам линии. Итак, нам нужно найти гиперплоскость с наибольшим расстоянием.
1.3, Функциональный интервал Функциональный запас и геометрический интервал Геометрический запас
Когда гиперплоскость w*x+b=0 определена, |w*x+b| может представлять расстояние от точки x до гиперплоскости, иО том, верна ли классификация ****, можно судить, наблюдая, согласуется ли знак w*x+b со знаком метки класса y., поэтому положительное и отрицательное значение (y*(w*x+b)) можно использовать для оценки или представления правильности классификации. Здесь мы вводим понятие функциональной маржи.
Задайте интервал функции (сВыражается как:
И гиперплоскость (w, b) имеет минимальный интервал функции всех точек выборки (xi, yi) в T (где x — признак, y — метка результата, а i представляет i-ю выборку), которая является гиперплоскостью ( w , b) интервал функции относительно обучающего набора данных T:
**= **minя (я=1,...n)
Но есть проблема с интервалом функции, определенным таким образом, то есть, если w и b изменить пропорционально (например, изменить их на 2w и 2b), значение интервала функции f (x) стало вдвое больше исходного (хотя в это время Гиперплоскость не изменилась), поэтому просто функции interval недостаточно.
На самом деле, мы можем наложить некоторые ограничения на вектор нормали w, что приводит к понятию геометрического поля, которое действительно определяет расстояние от точки до гиперплоскости.
Предположим, что для точки x пусть ее перпендикулярная проекция на соответствующую точку гиперплоскости равна x0, w — вектор, перпендикулярный гиперплоскости,- расстояние от образца x до гиперплоскости, как показано на следующем рисунке:
Согласно знаниям планиметрии имеем
Где ||w|| — норма второго порядка w (норма — понятие, подобное длине модуля),является единичным вектором (вектор, разделенный на его модуль, называется единичным вектором).
и из-заx0 — точка на гиперплоскости, удовлетворяющаяf(x0)=0, подставляем в уравнение гиперплоскости,Доступный,Сейчас.
Сразу пусть эта формулаУмножьте обе части на, то согласнои, можно вычислитьγ:
Чтобы получитьабсолютное значение , пустьУмножьте на соответствующую категорию y, чтобы получить геометрический интервал (созначает) определение:
Из приведенных выше определений функционального интервала и геометрического интервала видно, что геометрический интервал представляет собой интервал функции, деленный на ||w||, а интервал функции y*(wx+b) = y*f(x) равен на самом деле |f(x)| — просто искусственно определенная мера интервала, а геометрический интервал |f(x)|/||w|| — интуитивное расстояние от точки до гиперплоскости.
1.4, Определение классификатора максимальной маржи
При классификации точки данных чем больше «расстояние» гиперплоскости от точки данных, тем выше достоверность классификации. Следовательно, чтобы сделать достоверность классификации максимально возможной, необходимо выбрать гиперплоскость, которая максимизирует это значение «разноса». Этот интервал составляет половину промежутка на рисунке ниже.
Из предыдущего анализа видно, что интервал функции не подходит для максимизации значения интервала, потому что после фиксирования гиперплоскости длина w и значение b могут масштабироваться пропорционально, что может сделатьЗначение сколь угодно велико, т. е. интервал функцииможет быть сделан сколь угодно большим, в то время как гиперплоскость остается неизменной. Но геометрический интервал состоит в том, что в дополнение к, так что геометрический интервал при масштабировании w и bЗначение , не меняется, меняется только при изменении гиперплоскости, так что это более подходящий интервал. Другими словами, «интервал» в гиперплоскости классификации максимального поля, который можно найти здесь, относится к геометрическому краю.
Тогда целевая функция классификатора максимальной маржи может быть определена как:
При этом необходимо выполнение ряда условий.Согласно определению интервала, существуют
Среди них s.t., значение подлежащего, выводит ограничения.
Просмотрите определение геометрического интервала, видно, что если интервал функцииравно 1 (причина, по которойРавен 1, это для удобства вывода и оптимизации, и на оптимизацию целевой функции это никак не влияет, почему, см. ответ на 42 этаже под комментариями к этой статье), есть= 1 / ||w|| и, так что приведенная выше целевая функция преобразуется в
Эквивалентно соответствующим ограничениям, максимизируйте это значение 1/||w||, а 1/||w|| представляет собой геометрический интервал.
Как показано на рисунке ниже, сплошная линия посередине — это найденная оптимальная гиперплоскость (Optimal Hyper Plane), а расстояние до границы двух пунктирных линий равно, и это расстояние — геометрический интервал., расстояние между двумя штриховыми границами интервала равно 2, а пунктирная линияТочки на границе интервала являются опорными векторами. Поскольку эти опорные векторы находятся как раз на границе штрихового интервала, они удовлетворяют(Помните, мы установили функциональный запас равным 1? В предыдущем разделе: Для удобства вывода и оптимизации мы можем сделать= 1), а для всех точек, не являющихся опорными, очевидно, что.
Хорошо, пока вы поняли первый уровень SVM, его достаточно для тех, кто интересуется только тем, как использовать SVM, и вам не нужно идти дальше и изучать его более глубокие принципы.
Второй уровень, углубленный SVM
2.1, от линейно отделимого до линейно неразделимого
2.1.1 От исходной задачи к решению двойственной задачи
Затем рассмотрим целевую функцию, полученную ранее:
по запросуМаксимальное значение эквивалентно нахождениюМинимальное значение , поэтому приведенная выше целевая функция эквивалентна (w меняется от знаменателя к числителю, поэтому исходная максимальная проблема становится минимальной проблемой. Очевидно, что эти две проблемы эквивалентны):
Поскольку текущая целевая функция является квадратичной, а ограничения линейными, это задача выпуклого квадратичного программирования. Эту проблему можно решить с помощью готовыхQP (Quadratic Programming)пакет оптимизации для решения. Одним словом: при определенных ограничениях цель оптимальна и потери наименьшие.
Кроме того, в силу особой структуры этой задачи ее также можно преобразовать в задачу оптимизации двойственных переменных посредством двойственности Лагранжа, то есть путем решения эквивалентной исходной двойственной задачи.Оптимальное решение исходной задачи есть двойственный алгоритм машины опорных векторов при условии линейной сепарабельности.Преимущества этого заключаются в следующем: одну из двойственных задач часто легче решить, а другую можно естественным образом ввести функцию ядра, а затем обобщить до нелинейной задачи классификации.
Так что же такое лагранжева двойственность? Проще говоря, добавляя множитель Лагранжа к каждому ограничению, определите функцию Лагранжа (ограничения интегрированы в целевую функцию через функцию Лагранжа, так что наша задача может быть четко выражена только одним выражением функции):
тогда сделай
Легко проверить, когда ограничение не выполняется, например., то очевидно(покаможет быть использован). Когда все ограничения соблюдены, оптимальное значение равно, то есть сумма, которую нужно минимизировать изначально.
Таким образом, минимизация ограничений, необходимых для удовлетворения, что фактически эквивалентно прямой минимизации(Конечно, здесь тоже есть ограничения, т.≥0,i=1,…,n) , так как если ограничения не выполняются,будет равно бесконечности и, естественно, не минимальному требуемому нами значению.
В частности, целевая функция принимает вид:
используется здесьпредставляет собой оптимальное значение этой задачи и эквивалентно исходной задаче. Если решать ее напрямую, то придется столкнуться с двумя параметрами w и b, иЭто также ограничение неравенства, и этот процесс решения не так прост. Также можно поменять местами минимальную и максимальную позиции, чтобы они стали:
Новая задача после обмена является двойственной задачей исходной задачи, и оптимальное значение этой новой задачи определяется выражениемПредставлять. и здесь≤, при определенных условиях они равны, и в это время исходная задача может быть решена косвенно путем решения двойственной задачи.
Другими словами, причина из исходного вопроса minmax, что приводит к двойственной задаче максмин, потому чтодаПриближенные решения этих двух задач легче решать после их преобразования в двойственные задачи.
Затем мы можем сначала найти минимум L до w и b, а затем найти L доотлично.
2.1.2, условие ККТ
Вышеупомянутый "≤В случае выполнения определенных условий они эквивалентны», так называемое «удовлетворение определенных условий» означает выполнение условия ККТ.
Опечатки: Читатель qq_28543029 указал, что условие здесь не должно быть условием ККТ. Чтобы сделать два эквивалентными, должна быть удовлетворена сильная двойственность (сильная двойственность). Затем некоторые ученые предложили условие ККТ при сильной двойственности, и установление условие KKT должно удовлетворять условиям ограничения, и одним из требований ограничения является условие Слейтера. Так называемое условие Слейтера относится к: задаче выпуклой оптимизации, если существует точка x, такая, что установлены все ограничения равенства и строго установлены все ограничения неравенства (то есть знак строгого неравенства, а не знак равенства), то условие Слейтера выполняется. Для этого выполняется условие Слейтера, поэтому d*≤p* может принимать знак равенства.
В общем случае оптимизационная математическая модель может быть представлена в следующем стандартном виде:
Где f(x) — минимизируемая функция, h(x) — ограничение равенства, g(x) — ограничение неравенства, p и q — количество ограничений равенства и ограничений неравенства соответственно.
В то же время вы должны понимать следующие два момента:
- Концепция выпуклой оптимизации:выпуклое множество,является выпуклой функцией. Выпуклая оптимизация состоит в том, чтобы найти точку, так что каждыйудовлетворить.
- Смысл условия ККТ: это необходимое и достаточное условие для того, чтобы задача нелинейного программирования имела оптимальное решение.
Условие ККТ означает, что точка минимума x* в стандартной форме приведенной выше оптимизационной математической модели должна удовлетворять следующим условиям:
После демонстрации наша задача здесь удовлетворяет условию ККТ (во-первых, выполнено условие Слейтера, а f и gi также дифференцируемы, т. Первые два вопроса.
Другими словами, исходная задача была преобразована в двойственную задачу путем выполнения условия ККТ. Решение этой задачи двойного обучения делится на три шага: сначала пусть L(w, b, a) минимизирует w и b, а затем находят правильный, и, наконец, используйте алгоритм SMO для решения множителей Лагранжа в двойственной задаче.
2.1.3, 3 шага для решения двойной проблемы
(1), сначала исправлено*, * Для минимизации L по w и b возьмем частные производные по w и b соответственно, т. е. приравняем ∂L/∂w и ∂L/∂b к нулю (для пояснения результатов о выводе w см. п. 45 под комментариями к этой статье.пол ответ):
Подставьте приведенный выше результат в предыдущий L:
получить:
Напоминание: некоторые читатели могут спросить, как возник описанный выше процесс вывода? Честно говоря, конкретный процесс вывода более сложен, как показано на следующем рисунке:
Наконец, мы получаем:
Как сказал Джеррилид: "Вывод "последнего шага 4" в "последний шаг 3" использует операцию транспонирования линейной алгебры. Поскольку и ai, и yi являются действительными числами, транспозиция такая же, как она сама. Вывод от «3-го последнего шага» до «2-го последнего шага» использует алгоритм умножения (a+b+c+…)(a+b+c+…)=aa+ab+ac+ba+bb+bc+…. Последним шагом является корректировка порядка предыдущего шага.
Из последней приведенной выше формулы мы видим, что функция Лагранжа в настоящее время содержит только одну переменную, то есть(попросил оможно найти w и b. Можно видеть, что основная проблема, поднятая в разделе 1.2 выше: классификационная функция **** Это можно легко узнать).
(2), пожалуйста исправьте*Максимум , * — задача оптимизации о двойственной задаче. После нахождения w и b на первом шаге выше полученная функция Лагранжа не имеет переменных w, b, только. Из вышеприведенной формулы получаем:
Таким образом, просить,в соответствии с, можно найти w, то по, вы можете найти b и, наконец, получить гиперплоскость разделения и функцию решения классификации.
(3)При нахождении минимизации L(w, b, a) по w и b и приПосле максимума последний шаг может использовать алгоритм SMO для решения множителей Лагранжа в двойственной задаче..
То, что должна решить приведенная выше формула, находится в параметреЗадача нахождения максимального значения W выше, а дляивсе известные числа. Чтобы понять, как получен этот алгоритм SMO, перейдите к Разделу 3.5, Алгоритм SMO, ниже.
Пока наша SVM все еще относительно слаба и может иметь дело только с линейными случаями.Далее мы введем функцию ядра, а затем обобщим ее на нелинейные задачи классификации.
2.1.4 Случай линейной несепарабельности.
Хорошо, чтобы перейти к функции ядра, представленной в следующем разделе 2.2, давайте взглянем на некоторые интересные формы, полученные в ходе вышеупомянутого вывода. Первый касается нашей гиперплоскости, для точки данныхxфактически классифицировать, положивxпринестиРезультаты вычисляются, а затем классифицируются в соответствии с их знаками. В предыдущем выводе получаем
следовательноФункция классификацииза:
Интересная вещь о форме здесь заключается в том, что для новых точекx, просто вычислите его внутренний продукт с точками обучающих данных (Представляет внутренний продукт векторов), что имеет решающее значение и является основной предпосылкой использования ядра для нелинейного продвижения позже. Кроме того, здесь также показан так называемый Опорный вектор — фактически все коэффициенты, соответствующие Неопорному векторуравны нулю, поэтому вычисление внутреннего продукта для новых точек на самом деле нужно выполнять только для небольшого числа «опорных векторов», а не для всех обучающих данных.
Почему неопорный вектор соответствуетравен нулю? Интуитивно эти "задние" точки - как мы проанализировали ранее, не влияют на гиперплоскость. Поскольку классификация полностью определяется гиперплоскостью, эти нерелевантные точки не будут участвовать в задаче классификации, вычислении, поэтому она не будет иметь никакого значения. эффект.
Вспомним целевую функцию, которую мы получили с помощью множителя Лагранжа в разделе 2.1.1:
Обратите внимание, что еслиx iЕсли это опорный вектор, красная часть в приведенной выше формуле равна 0 (поскольку функциональный запас опорного вектора равен 1), а для не опорного вектора функциональный запас будет больше 1, поэтому красная часть больше нуля, иснова неотрицательно, чтобы удовлетворить максимизации,Должен быть равен 0 . Это ограничение этих точек не поддерживающего вектора.
На данный момент мы получили классификатор гиперплоскости с максимальным запасом, который называется машиной опорных векторов. Конечно,Пока наша SVM слаба и может обрабатывать только линейные случаи., однако после получения двойственной формыОбобщение ядра на нелинейностьСитуация становится очень простой (думаю, вы еще помните, что я сказал в начале этого раздела: «Оптимальное решение получается путем решения двойственной задачи, которая представляет собой двойственный алгоритм машины опорных векторов при линейно разделимом условие, Преимущество этого состоит в том, что: одну из двойственных задач часто легче решить; обе можно естественным образом ввести функцию ядра, а затем обобщить до задач нелинейной классификации").
2.2, Функция ядра
2.2.1 Неявное отображение пространства признаков: функция ядра
На самом деле большую часть времени данные не являются линейно разделимыми, и гиперплоскости, удовлетворяющей такому условию, вообще не существует. Выше мы узнали, что SVM имеет дело с линейно разделимыми случаями, а как насчет SVM с нелинейными данными? Для нелинейного случая метод обработки SVM заключается в выборе функции ядра κ(⋅,⋅) для решения проблемы линейной неразделимости в исходном пространстве путем отображения данных в многомерное пространство.
В частности, в случае линейной несепарабельности машина опорных векторов сначала завершает вычисление в низкоразмерном пространстве, а затем отображает входное пространство в многомерное пространство признаков через функцию ядра и, наконец, строит оптимальное гиперпространство разделения в плоскость многомерного пространства признаков, чтобы отделить нелинейные данные, которые нелегко разделить на плоскости. Как показано на рисунке, стопку данных нельзя разделить в двухмерном пространстве, поэтому она отображается в трехмерное пространство и делится:
Прежде чем мы столкнемся с функцией ядра, если используется исходный метод, то при использовании линейного обучаемого для изучения нелинейной связи необходимо выбрать набор нелинейных признаков и записать данные в новое представление, что эквивалентно применению Фиксированное нелинейное отображение, отображающее данные в пространстве признаков, где используется линейный обучаемый модуль, поэтому рассматриваемый набор допущений является функцией такого типа:
здесьϕ: X->F — это отображение из входного пространства в определенное пространство признаков, что означает, что построение нелинейного учащегося разделено на два этапа:
- Сначала преобразуйте данные в пространство признаков F, используя нелинейное отображение,
- Затем используйте линейный учащийся в пространстве признаков для классификации.
А поскольку двойственная форма является важным свойством линейных учеников, а это означает, что гипотеза может быть выражена как линейная комбинация точек обучения, правило принятия решения может быть выражено скалярным произведением контрольных точек и точек обучения:
Если есть способВычислите скалярный продукт непосредственно в пространстве признаков i· ф(х) >, как и в функции исходных входных точек, можно объединить два шага вместе для создания нелинейного обучаемого,Такой метод прямого расчета называется методом функций ядра:
Ядро — это функция K, которая для всех x, z(—X удовлетворяет условию, где φ — отображение из X в пространство признаков внутреннего продукта F.
2.2.2 Функция ядра: как работать с нелинейными данными
Давайте рассмотрим пример функции ядра. Два типа данных, показанных на рисунке ниже, распределены в форме двух кругов. Такие данные сами по себе линейно неразделимы. Как мы можем разделить эти два типа данных? (Ниже будет соответствующая трехмерная карта пространства.) ?
На самом деле набор данных, описанный выше, генерируется двумя окружностями с разными радиусами плюс небольшим количеством шума, поэтому идеальная граница должна быть «окружностью», а не линией (гиперплоскостью). Если вы используетеиДля представления двух координат этой двумерной плоскости мы знаем, что уравнение квадратичной кривой (окружность — это частный случай квадратичной кривой) можно записать в виде:
Обратите внимание на приведенную выше форму, если мы построим еще одно пятимерное пространство, значения пяти координат равны, , , ,, то, очевидно, приведенное выше уравнение можно записать в новой системе координат:
О новых координатах, что в точности является уравнением гиперплоскости! То есть, если мы делаем отображение,будет Сопоставляется в соответствии с приведенными выше правилами как, то исходные данные станут линейно разделимыми в новом пространстве, так что их можно будет обрабатывать с помощью алгоритма линейной классификации, который мы вывели ранее. Это основная идея метода ядра для решения нелинейных задач.
Перед дальнейшим описанием деталей ядра давайте взглянем на интуитивную форму приведенного выше примера после сопоставления. Конечно, мы с вами, возможно, не сможем нарисовать 5-мерное пространство, но поскольку я использовал здесь частный случай при создании данных, фактическое уравнение гиперплоскости здесь выглядит так (центр круга находится видеальный круг на оси):
поэтому мне просто нужно сопоставить его с,,В таком трехмерном пространстве результатом отображения является следующий рисунок.После соответствующего поворота координатной оси хорошо видно, что данные можно разделить плоскостью (pluskid: следующая gif анимация, Первый рисунок изображение с Matlab, а затем сделать коллаж с помощью Imagemagick):
Функция ядра эквивалентна исходной функции классификации:
сопоставляется с:
из которыхЕго можно получить, решив следующую двойную задачу:
Это решает проблему? Вроде так: получить нелинейные данные, найти отображение, а затем сопоставьте исходные данные с новым пространством, а затем выполните линейный SVM. Но на самом деле все не так просто.
Подумайте об этом, есть ли проблема с методом прямо сейчас?
- В исходном примере мы отображаем двумерное пространство, и новое выбранное пространство представляет собой все комбинации первого и второго порядка исходного пространства, что дает пять измерений;
- Если исходное пространство трехмерно (сочетание первого, второго и третьего порядка), то мы получаем: 3(первичное)+3(вторичное пересечение)+3(квадрат)+3(куб)+1(x1*x2 * x3)+2*3 (пересечение, по одному и по одному, аналогично x1*x2^2) = 19-мерное новое пространство, это число экспоненциально растет взрывообразно, поэтому оно должно датьВычисление , вызывает большие трудности, а если оно сталкивается с бесконечной размерностью, то вычисление вообще невозможно.
В это время может понадобиться ядро.
С тем же успехом можно начать с простого примера в начале, установить два вектораи,иТо есть отображение в пятимерное пространство, упомянутое выше, поэтому внутренний продукт после отображения:
(Описание формулы: в приведенных выше двух процессах вывода, вышеупомянутом отображении пятимерного пространства, вот метод отображения, описанный в разделе 2.2.1, просмотрите предыдущие правила отображения, а затем посмотрите на первый вывод, на самом деле нужно вычислить соответствующие скалярные произведения x1 и x2, а затем умножить и сложить их.
Кроме того, мы также заметили:
Между ними много общего. На самом деле нам нужно только линейно масштабировать определенные размеры, а затем добавить постоянный размер. В частности, результат вычисления приведенной выше формулы фактически совпадает с отображением
Внутренний продукт послеРезультаты равны, так какая разница?
- Один — отобразить в многомерное пространство, а затем вычислить его по формуле скалярного произведения;
- и другиеВычислять непосредственно в исходном низкоразмерном пространстве без явной записи отображаемого результата.
(Описание формулы: Среди приведенных выше две последние формулы, первая формула представляет собой метод полного квадрата со скалярным произведением, который можно разобрать, а затем получить, составив одну, а вторая формула также основана на первой формуле. рассчитывается по формуле)
Вспоминая размерный взрыв только что упомянутого отображения, в случае, когда первый метод больше не может быть рассчитан, второй метод все еще может спокойно справиться с ним даже в случае бесконечных измерений.
мы положили это здесьФункция, которая вычисляет скалярное произведение двух векторов в пространстве с неявным отображением, называется функцией ядра.(функция ядра) , например, в предыдущем примере наша функция ядра:
Энергия функции ядраУпрощение операций с внутренним произведением в сопоставленных пространствах- просто "случайно", по-нашемуТам, где необходимо рассчитать SVM, вектор данных всегда появляется в виде внутреннего произведения.из. По сравнению с формулой, которую мы написали выше, теперь нашаФункция классификацииза:
вРассчитывается из следующей двойной задачи:
Таким образом, проблема расчета решается, избегая прямого расчета в высокоммерном пространстве, и результат эквивалентен! Конечно, поскольку наш пример здесь очень просто, я могу вручную построить соответствующиеФункция ядра , если для любого отображения очень трудно построить соответствующую функцию ядра.
2.2.3 Несколько функций ядра
Обычно люди будут выбирать из некоторых часто используемых функций ядра (в соответствии с разными проблемами и данными выбираются разные параметры, фактически получаются разные функции ядра), например:
- Полиномиальное ядро, очевидно, пример, который мы только что привели, является здесь частным случаем полиномиального ядра (R = 1, d = 2). Хотя это более хлопотно и ненужно, отображение, соответствующее этому ядру, действительно может быть записано.Размерность пространства равна, где m — размерность исходного пространства.
- Гауссово ядро, это ядро — упомянутый в начале парень, который отображает исходное пространство в бесконечномерное пространство. Однако, еслиЕсли выборка очень велика, веса признаков высокого порядка на самом деле очень быстро затухают, так что фактически (численно аппроксимировано) эквивалентно низкоразмерному подпространству; и наоборот, еслиВыберите очень маленькое, и вы сможете отобразить произвольные данные, чтобы они были линейно разделимыми — конечно, это не всегда хорошо, потому что могут возникнуть очень серьезные проблемы переобучения. Однако, как правило, регулируя параметры, ядро Гаусса на самом деле довольно гибкое и является одной из наиболее широко используемых функций ядра. Пример, показанный на рисунке ниже, предназначен для отображения низкоразмерных линейно неразделимых данных в многомерное пространство с помощью функции ядра Гаусса:
- Линейное ядро, что на самом деле является внутренним произведением в исходном пространстве. Основная цель существования этого ядра состоит в том, чтобы унифицировать «задачи в пространстве после отображения» и «задачи в пространстве до отображения» по форме (имеется в виду, что мы иногда пишем код, или пишем формулы Иногда, пока вы написать шаблон или общее выражение, а потом подставить в разные ядра, можно.На данный момент форма унифицирована, и нет необходимости писать линейную и нелинейную отдельно).
2.2.4 Суть функции ядра
Сказав так много выше, читатели могут так и не понять, что такое функция ядра? Позвольте мне кратко резюмировать, а именно следующие три пункта:
- На практике мы часто сталкиваемся с линейно неразделимыми выборками.В настоящее время наша обычная практика состоит в том, чтобы отображать признаки выборки в многомерное пространство (как показано на первом рисунке в разделе 2.2 выше, отображать в многомерное пространство. После пространственное пространство, связанные признаки отделяются, и цель классификации достигается);
- Но далее, если все линейно неразделимые выборки всегда отображаются в многомерное пространство, то размер этого измерения будет ужасно велик (например, 19-мерный или даже бесконечномерный пример выше). Так что делать?
- В настоящее время функция ядра находится на этапе. Ценность функции ядра заключается в том, что, хотя она также преобразует функции из низкоразмерных в многомерные, перед этим функция ядра должна быть рассчитана в низкоразмерных, и будет по существу Эффект классификации проявляется в больших размерностях, что позволяет избежать сложных вычислений непосредственно в многомерном пространстве, как было сказано выше.
последняя цитатаздесьПример следующей функции ядра для иллюстрации интуитивного эффекта решения нелинейных задач.
Предположим теперь, что вы фермер и держите группу овец в неволе, но для того, чтобы волки не напали на овец, вам нужно построить забор, чтобы окружить овец. Но где строить забор? Скорее всего, вам нужно построить «классификатор» на основе местоположения крупного рогатого скота и волков.Сравнивая различные классификаторы на рисунке ниже, мы видим, что SVM завершил идеальное решение.
Этот пример кратко иллюстрирует преимущества SVM с использованием нелинейных классификаторов, в то время как логистическая модель и модель дерева решений используют прямолинейный метод.
Хорошо, я не буду вводить слишком много.Если вас больше интересуют функции ядра, вы также можете взглянуть.эта статья.
2.3, используя переменные Slack для обработки метода выбросов
При обсуждении машин опорных векторов в начале первого раздела этой статьи мы предполагали, что данные линейно разделимы, то есть мы можем найти подходящую гиперплоскость для полного разделения данных. Позже, чтобы иметь дело с нелинейными данными, метод ядра был использован для обобщения исходного линейного SVM в разделе 2.2 выше, чтобы можно было обрабатывать и нелинейную ситуацию. Хотя по отображениюПосле отображения исходных данных в многомерное пространство вероятность того, что их можно будет разделить линейно, значительно возрастает, но в некоторых случаях с этим все еще трудно справиться.
Например, это может быть не потому, что сами данные нелинейно структурированы, а просто потому, что данные зашумлены. Для точек данных, которые далеко отклоняются от нормального положения, мы называем их выбросами.В нашей исходной модели SVM наличие выбросов может иметь большое влияние, потому что сама гиперплоскость состоит всего из нескольких опорных векторов., если есть выбросы в этих опорных векторах влияние будет велико. Например, следующая картинка:
Синяя точка, обведенная черным кружком, это выброс, который отклоняется от полупространства там, где он должен быть.Если его прямо игнорировать, исходная разделяющая гиперплоскость еще неплохая, но из-за появления этого выброса, как В результате разделяющую гиперплоскость пришлось по пути сжать и превратить в черный пунктир (это всего лишь схема, а точные координаты строго не вычисляются), и запас соответственно меньше. Конечно, более серьезный случай заключается в том, что если выброс переместится немного дальше вправо вверх, мы не сможем построить гиперплоскость, которая может разделить данные.
Чтобы справиться с этой ситуацией, SVM позволяет точкам данных в определенной степени отклоняться от гиперплоскости. Например, на приведенном выше рисунке расстояние, соответствующее черной сплошной линии, — это расстояние, на которое отклоняется выброс.Если его переместить назад, он просто упадет на исходную границу синего интервала гиперплоскости, не деформируя гиперплоскость.
Вставьте понимание следующего читателя @Copper_PKU:"Другими словами, точка контура также принадлежит опорному вектору SV в случае релаксации.В то же время для разных опорных векторов значение параметра Лагранжа также различно, как показано на следующем рисунке в статье " Крупномасштабное машинное обучение":
Для точек, удаленных от плоскости классификации, значение равно 0; для точек на краю значение находится между [0, 1/L], где L — количество обучающих наборов данных, то есть размер данных установлен; для данных контура и внутренних данных значение равно 1/л. Для получения дополнительной информации см. статью 51 справочной статьи в конце этой статьи."
Хорошо, вернемся к нашему вопросу. Мы, исходные ограничения:
Теперь, учитывая проблему выброса, ограничения становятся:
вназывается резервной переменной и соответствует точке данныхВеличина функциональной маржи, которая может отклоняться. Конечно, если мы побежимЕсли оно сколь угодно велико, то подходит любая гиперплоскость. Итак, мы добавляем член после исходной целевой функции, делая этиСумма также минимальна:
в— это параметр, который управляет весом между двумя элементами целевой функции («найти гиперплоскость с наибольшим запасом» и «гарантировать минимальное отклонение точек данных»). Обратите внимание, что впеременная (одна из), которую необходимо оптимизировать, иявляется заданной константой. Полностью пишется так:
Используйте предыдущий метод, чтобы добавить ограничения или ограничения к целевой функции, чтобы получить новую функцию Лагранжа следующим образом:
Метод анализа такой же, как и раньше, после преобразования в другую задачу мы сначала даемпротив,иминимизировать:
будет вернутьИ упростим, чтобы получить ту же целевую функцию, что и раньше:
Однако, поскольку мы получаемИ есть(как условие множителя Лагранжа), поэтому имеем, так что теперь вся двойственная задача записывается так:
Сравните результаты до и после (исправление ошибки: Минимум в двойной формулировке на рисунке должен быть максим):
Вы можете видеть, что единственная разница в том, что теперь двойная переменнаяеще одна кепка. Нелинейная форма кернелизации остается той же, показаменитьВот и все. Таким образом, наконец-то представлена полная машина опорных векторов, которая может обрабатывать линейные и нелинейные вычисления, а также терпеть шум и выбросы.
Пока что мы можем подвести итоги.Если быть точным, SVM по сути является методом классификации, использующим w ^ T + b для определения функции классификации, поэтому найти w, b, чтобы найти максимальный интервал, привести к 1 /2||w||^2, а затем ввести множитель Лагранжа, который преобразуется в решение множителя Лагранжа a (в процессе решения будет задействована серия оптимизаций или выпуклого квадратичного программирования), значит, находим wb Это эквивалентно нахождению , и для решения можно использовать алгоритм быстрого обучения SMO. Что касается функции ядра, она используется для работы с нелинейными ситуациями. Если она напрямую отображается на многомерные вычисления, она может взорваться в размерность, поэтому в низкоразмерных вычислениях эквивалентная производительность высокой размерности.
Хорошо, понимание этого второго уровня может удовлетворить любопытство большинства людей по поводу принципа SVM, но этого недостаточно для тех, кто хочет понять SVM на уровне доказательства, но прежде чем перейти к третьему уровню понимания, вы должны иметь хорошее математический фундамент и способность к логическому доказательству, иначе вы будете страдать так же, как я.
Третий уровень, доказательство SVM
Честно говоря, когда дело доходит до доказательства, теория, как правило, не является чем-то, с чем можно связываться. Большую часть времени понять вещь несложно, но чтобы доказать вещь, нужны некоторые математические навыки. Далее, доказать вещь не особо сложно. Сложность в том, что когда ты изобретаешь эту вещь с нуля, очень сложно (т.к. в любую эпоху результаты исследований большинства людей основываются только на результатах исследований их предшественников. То, что они делали, это пионерская работа, которая зачастую является самой сложной и ценной, и их называют настоящими первооткрывателями. Ньютон также Он говорят, что он стоит только на плечах великанов, а мы с вами тем более).
Как сказал академик Чэнь Сижу в главе 4 своей книги "Краткая история математической статистики" "Минимальные квадраты: новаторство и прорыв многих концепций в научных исследованиях дается нелегко. Это было кем-то открыто, и теперь мы принимаем все как должное". , но прежде чем все будет открыто, многие ведущие ученые, возможно, завершили свою работу в одной битве, исчерпали свои жизни, усердно трудились десятилетиями и, наконец, напрасно вернулись.
Не будем волноваться, чтобы что-то доказать, надо сначала разобраться, где его основа, то есть какие теории составляют его основу. Хорошо, следующее содержание в основном представляет собой доказательство некоторых теорем, не упомянутых выше, включая логику, стоящую за этим, исходный фон и т. д., или заметки для чтения.
Введение в эту часть
- В разделе 3.1 Linear Learner в основном описан алгоритм персептрона;
- В разделе 3.2 нелинейные обучающиеся в основном объясняется теорема Мерсера;
- Раздел 3.3, функция потерь;
- Раздел 3.4, метод наименьших квадратов;
- Раздел 3.5, алгоритм SMO;
- Раздел 3.6, кратко рассказывающий о применении SVM;
3.1, Линейный ученик
3.1.1 Алгоритм персептрона
Алгоритм персептрона был предложен в 1956 г. Это было давно и действует до сих пор.Конечно, несомненно, что этот алгоритм не оптимален и будет объяснен более подробно позже. Однако вы должны четко понимать, для чего предназначен этот алгоритм: непрерывное обучение методом проб и ошибок, чтобы найти подходящую гиперплоскость (да, это так просто).
Ниже пример. Как показано на рисунке ниже, мы интуитивно можем видеть, что красная линия на рисунке является оптимальной гиперплоскостью, а синяя линия основана на непрерывном обучении алгоритма персептрона.В конце концов, если синяя линия может двигаться до красной линии через положение непрерывной тренировки, это означает, что тренировка прошла успешно.
Поскольку для того, чтобы синяя линия наконец стала оптимальной классификационной гиперплоскостью, требуется непрерывное обучение, сколько раз ее нужно тренировать? Теорема Новикова говорит нам, что при положительном интервале алгоритм персептрона будет сходиться за конечное число итераций, то есть теорема Новикова доказывает сходимость алгоритма персептрона, то есть можно получить оценку, которая не будет продолжаться в бесконечном цикле.
- Теорема Новикова: если классификационная гиперплоскость существует, ей нужно всего лишь несколько раз перебрать последовательность S, и оценка будетГиперплоскость классификации находится по количеству ошибок, и алгоритм останавливается.
здесь,это интервал расширения. Согласно формуле количества ошибочных классификаций количество итераций связано с интервалом обучающей выборки, соответствующим увеличенным (в том числе смещенным) весам.
Кстати, объясните этот так называемый интервал расширения,— расстояние от выборки до интервала классификации, т. е. отМаксимальный полученный интервал классификации. Хорошо, помните начало раздела 1.3 выше? следующее:"
Прежде чем дать определение геометрического интервала, давайте сначала посмотрим на него.Как показано на рисунке выше, для точки x соответствующая вертикальная проекция на гиперплоскость равна x0, так как w - вектор, перпендикулярный гиперплоскости,— расстояние от выборки x до интервала классификации, имеем
"
Тогда, как вывести максимальный интервал классификации в будущем, пожалуйста, вернитесь к первой и второй частям этой статьи, и записи на доске здесь повторяться не будут.
В то же время следует отметить, что хотя алгоритм персептрона может генерировать правильно классифицированные гиперплоскости для линейно разделимых данных путем простой итерации, это не является оптимальным эффектом.Как получить оптимальный эффект - это поиск, упомянутый в первой части выше. Гиперплоскость интервала максимального класса. Кроме того, доказательство теоремы Новикова можно найти вздесь.
3.2, нелинейный учащийся
3.2.1 Теорема Мерсера
Теорема Мерсера: если функция K(то есть отображение двух n-мерных векторов в область действительных чисел). Тогда, если K является допустимой функцией ядра (также называемой функцией ядра Мерсера), тогда и только тогда, когда для обучающих примеров, а соответствующая ей матрица функций ядра является симметричной положительно полуопределенной.
Чтобы понять эту теорему Мерсера, мы должны сначала понять, что такое положительная полуопределенная матрица.Чтобы понять, что такое положительная полуопределенная матрица, мы должны сначала узнать, что такоеположительно определенная матрица(Теория матриц обширна и глубока, и я читаю «Матричный анализ и применение» о рекомендациях по матрицам). потомздесьСуществует доказательство этой теоремы, которое можно увидеть ниже.
Как сказал @Copper_PKU: функция ядра играет важную роль в эффекте классификации SVM и, наконец,здесьЕсть учебник, чтобы посмотреть.
3.3, функция потерь
В разделе 1.0 этой статьи есть предложение «Машина опорных векторов (SVM) — это метод машинного обучения, основанный на теории статистического обучения, разработанной в середине 1990-х годов. Он улучшает способность обучающейся машины к обобщению, стремясь минимизировать структурные риск и реализует эмпирический риск, а доверительный интервал минимизируется, чтобы достичь цели получения хорошего статистического закона в случае небольшого размера статистической выборки». структурный риск и что такое эмпирический риск. Чтобы понять эти два так называемых «риска», мы должны снова начать с контролируемого обучения.
Обучение с учителем на самом деле является проблемой оптимизации эмпирического риска или функции структурного риска. Функция опасности измеряет, насколько хорошо модель предсказывает в среднем, а качество каждого предсказания модели измеряется функцией потерь. Он выбирает модель f из пространства гипотез F в качестве решающей функции.Для заданного входа X соответствующий выход Y задается f (X), и прогнозируемое значение f (X) этого выхода может быть или не быть последовательным. с истинным значением Y , используя функцию потерь для измерения степени ошибки предсказания. Функция потерь обозначается как L(Y, f(X)).
Обычно используемые функции потерь следующие (в основном цитируются из «Статистических методов обучения»):
Таким образом, у SVM есть второе понимание, то есть оптимизация + минимальные потери, или, как сказал @xiafen_Baidu, «SVM, повышение, LR и другие алгоритмы можно рассматривать с точки зрения функции потерь и алгоритма оптимизации, и может быть разные прибыли».
Хорошо, дополнительные вопросы о методах статистического обучения см.эта статья.
Что касается функции потерь, как указано в комментарии читателя ниже: вы можете увидеть «Статистическое поведение и согласованность методов классификации, основанных на выпуклой минимизации риска» Чжан Тонга. Функции потерь, обычно используемые в различных алгоритмах, в основном имеют непротиворечивость по Фишеру, и классификатор, полученный путем оптимизации этих функций потерь, можно рассматривать как «суррогат» апостериорной вероятности. Кроме того, у Чжан Тонга есть еще одна статья «Статистический анализ некоторых методов классификации с большой маржей в нескольких категориях», в которой анализируются потери маржи в случае нескольких категорий. В этих двух статьях очень тщательно анализируются функции потерь, используемые Boosting и SVM.
3.4, наименьших квадратов
3.4.1 Что такое метод наименьших квадратов?
Поскольку метод наименьших квадратов упоминался в начале этого раздела, ниже приводится краткое описание содержания книги «Прошлое и настоящее нормального распределения».
Мы часто говорим устно: в общем, в среднем. Например, в среднем здоровье некурящих лучше, чем у курильщиков.Причина добавления слова «средний» в том, что во всем есть исключения.Всегда есть особый человек, который курит, но из-за регулярных физических упражнений его здоровье может быть, было бы лучше, чем его некурящий друг. Одним из простейших примеров наименьших квадратов является среднее арифметическое.
Метод наименьших квадратов (также известный как метод наименьших квадратов) — это метод математической оптимизации. Он находит наилучшее функциональное совпадение данных, сводя к минимуму сумму квадратов ошибок. Неизвестные данные могут быть легко получены методом наименьших квадратов, а сумма квадратов ошибок между полученными данными и фактическими данными может быть минимизирована. Выражается в виде функции:
Метод минимизации квадрата суммы ошибки «так называемая ошибка, конечно, разница между наблюдаемым значением и фактическим истинным значением» для поиска оценочного значения называется методом наименьших квадратов, и оценка, полученная с помощью метод наименьших квадратов называется методом наименьших квадратов. Конечно, использование суммы квадратов в качестве целевой функции — лишь один из многих желательных подходов.
Общая форма метода наименьших квадратов может быть выражена как:
Эффективный метод наименьших квадратов был опубликован Лежандром в 1805 году. Основная идея состоит в том, чтобы думать, что в измерении есть ошибка, поэтому совокупная ошибка всех уравнений равна
Мы можем решить параметры, которые приводят к наименьшей кумулятивной ошибке:
Лежандр сделал несколько замечаний о превосходстве метода наименьших квадратов в своей статье:
- Метод наименьших квадратов минимизирует сумму квадратов ошибок и устанавливает баланс между ошибками различных уравнений, предотвращая доминирование одной крайней ошибки.
- При расчете требуется только частная производная для решения системы линейных уравнений, а процесс расчета понятен и удобен
- Метод наименьших квадратов может вывести среднее арифметическое как оценку
Что касается последнего пункта, это очень важное свойство со статистической точки зрения. Рассуждения следующие: предположим, что истинное значение равно, x1, ... , xn — n измерений, погрешность каждого измерения ei = xi -, по методу наименьших квадратов ошибка накапливается как
Решать сделатьдостичь минимума, который является в точности средним арифметическим.
Поскольку среднее арифметическое является испытанным и испытанным методом, а приведенные выше рассуждения показывают, что среднее арифметическое является частным случаем метода наименьших квадратов, оно иллюстрирует превосходство метода наименьших квадратов с другой точки зрения, что делает нас более уверенными в наименьшей степени. метод квадратов...
Метод наименьших квадратов был быстро признан и принят всеми после его публикации и быстро стал широко применяться в практике анализа данных. Однако некоторые люди в истории приписывают Гауссу изобретение метода наименьших квадратов. Гаусс также опубликовал метод наименьших квадратов в 1809 году и утверждал, что использовал его в течение многих лет. Гаусс изобрел математический метод позиционирования астероидов и использовал метод наименьших квадратов в анализе данных, чтобы точно предсказать положение Цереры.
Сказав так много, кажется, что это не имеет ничего общего с SVM, предметом этой статьи.Не волнуйтесь, пожалуйста, позвольте мне продолжить объяснение. По сути, метод наименьших квадратов - это метод оценки параметров, Когда дело доходит до оценки параметров, мы должны начать с одномерной линейной модели.
3.4.2, решение методом наименьших квадратов
Что такое одномерная линейная модель? позвольте мне процитироватьздесьВ содержании, прежде всего, следует разобраться со следующими основными понятиями:
- В обучении с учителем, если прогнозируемая переменная является дискретной, мы называем это классификацией (например, деревья решений, машины опорных векторов и т. д.), а если прогнозируемая переменная непрерывна, мы называем ее регрессией.
- В регрессионном анализе, если включены только одна независимая переменная и одна зависимая переменная, и связь между ними может быть аппроксимирована прямой линией, такой регрессионный анализ называется одномерным линейным регрессионным анализом.
- Если регрессионный анализ включает две или более независимых переменных и существует линейная связь между зависимой переменной и независимой переменной, такой анализ называется множественным линейным регрессионным анализом.
- Для двумерного пространства линейность — это прямая линия, для трехмерного пространства линейность — это плоскость, для многомерного пространства линейность — это гиперплоскость...
Для модели одномерной линейной регрессии предположим, что n групп наблюдений (X1, Y1), (X2, Y2), …, (Xn, Yn) получены из совокупности. Для этих n точек на плоскости можно использовать бесконечное количество кривых. Требуется, чтобы выборочная функция регрессии соответствовала этому набору значений как можно лучше. В совокупности наиболее разумно, чтобы эта линия находилась в центре выборочных данных.
Критерий выбора наилучшей кривой аппроксимации может быть определен как минимизация общей ошибки аппроксимации (т. е. полной невязки). Есть три критерия на выбор:
- Определение положения линии с «минимумом остаточной суммы» является одним из подходов. Но вскоре обнаружилось, что при вычислении «остаточной суммы» возникает проблема взаимной компенсации.
- Использование «остаточного абсолютного значения и минимума» для определения положения линии также является подходом. Но вычисление абсолютного значения более проблематично.
- Принцип метода наименьших квадратов заключается в определении положения прямой линии путем «минимизации остаточной суммы квадратов». Помимо удобства расчета, оценка, полученная методом наименьших квадратов, обладает отличными характеристиками. Этот метод очень чувствителен к выбросам.
Наиболее часто используется метод обычных наименьших квадратов (OLS): выбранная модель регрессии должна минимизировать остаточную сумму квадратов всех наблюдений, то есть использовать квадрат функции потерь.
Мы определяем образец регрессионной модели как:
где ei — ошибка выборки (Xi, Yi).
Затем определите квадрат функции потерь Q:
Затем определяется прямая по минимуму Q, т. е. для определения,отДля переменных и рассмотрения их как функции Q становится проблемой нахождения экстремальных значений, которые можно получить, взяв производные.
Найдите частные производные Q по двум оцениваемым параметрам:
Согласно математическим знаниям, мы знаем, что крайняя точка функции — это точка, в которой смещение равно 0. Быть
Решения должны:
Это решение метода наименьших квадратов, которое заключается в нахождении крайней точки квадрата функции потерь. С тех пор вы видели, как решение метода наименьших квадратов похоже на решение задачи SVM, особенно определение функции потерь и последующее нахождение экстремума через частные производные.
Хорошо, для получения дополнительной информации, пожалуйста, обратитесь к Главе 4, Метод наименьших квадратов «Краткой истории математической статистики» академика Чэнь Сиру.
3.5, Алгоритм СМО
Выше мы упомянули алгоритм SMO с минимальной оптимизацией последовательности для решения двойственных задач, но не упомянули его конкретное решение. Сначала посмотрите на последний вопрос без ответа:
эквивалентно решению:
В 1998 году Джон С. Платт из Microsoft ResearchбумагаРешение вышеупомянутой проблемы предлагается в «Последовательной минимальной оптимизации: быстрый алгоритм для обучения машин опорных векторов»: алгоритм SMO, который быстро стал самым быстрым алгоритмом оптимизации квадратичного программирования, особенно для линейного SVM и производительности с разреженными данными.
Далее мы обратимся к книге Джона С. Платта.этоСтатья, чтобы увидеть, как решение SMO.
3.5.1 Вывод алгоритма SMO
Давайте сначала определим функцию вывода от функции к результату:
Примечание: этот u такой же, как тот, который мы определили ранее.Суть та же.
Затем переопределим нашу первоначальную задачу оптимизации, и мы должны снова просмотреть ее следующим образом:
Вывод, чтобы получить:
Заменятьсредний, доступный.
После преобразования в двойственную задачу путем введения множителей Лагранжа получаем:
с.т:
и
Примечание: функция min, полученная здесь, по сути, такая же, как и наша предыдущая функция max, потому что изменен символ, то есть проблема преобразования min в max, и yi также такая же, как и предыдущая.Эквивалентен, как и yj.
После добавления резервных переменных модель изменяется на:
Итак, в конце концов наша проблема становится:
Необходимо решить следующую задачу:Найдите минимальное значение вышеуказанной целевой функции. Чтобы найти эти множители, случайным образом вытяните из них два множителя за раз.и, затем исправленоидругие множители, так что целевая функция примерноиФункция. Таким образом, два решения выбираются случайным образом из набора множителей, а подзадачи решаются итеративно, и, наконец, достигается цель решения исходной задачи.
А целевая функция подзадачи изначально-двойственной задачи может быть выражена как:
в
Чтобы решить эту подпроблему, первая проблема заключается в том, как каждый раз выбиратьи. На самом деле один из множителей является наиболее серьезным недопустимым условием ККТ, а другой множитель выбирается другим ограничением.
По условию ККТ можно получить, что в целевой функцииСмысл значения:
здесьИли множители Лагранжа:
- Для первого случая покажите, что- нормальная классификация внутри границы интервала (точки, которые мы знаем, правильно классифицированы);
- Для второго случая показано, что– опорный вектор на границе интервала;
- Для третьего случая показано, чтонаходится между границами двух интервалов;
Оптимальное решение должно удовлетворять условиям ККТ, то есть должны выполняться три вышеуказанных условия, а следующие условия не будут выполняться:
-
=C - >=1, но>0 не устраивает, а оригинал=0
- =1 но=0 или=C указывает, что оно не выполняется, и должно быть 0<C
То есть, если есть условие, которое не удовлетворяет ККТ, то вам нужно обновить эти, что является первым ограничением. Кроме того, на обновление также распространяется второе ограничение, а именно
Итак, если мы предположим, что выбраны два множителяи, они были соответственно до обновления,, после обновления соответственно,, то значения до и после обновления должны удовлетворять следующему уравнению, чтобы гарантировать ограничение, что сумма равна 0:
в,является константой.
Два множителя решить одновременно непросто, поэтому можно сначала найти второй множительРешение (),получитьРешение (), затем используйтеРешение ()ВыражатьРешение ().
чтобы решить, необходимо сначала определитьдиапазон значений. Если предположить, что его верхняя и нижняя границы равны H и L соответственно, то имеем:
Далее всеобъемлющееиЭти два ограничения, найтидиапазон значений.
Когда y1 != y2, согласноДоступный,Так и есть,,Как показано ниже:
При y1 = y2 также согласноДоступный:,Так и есть,,Как показано ниже:
Итак, по y1 и y2 с одинаковым знаком или с одним и тем же знаком можно получитьВерхняя и нижняя границы:
Просмотрите второе ограничение, умножив обе части приведенного выше уравнения на y1, мы можем получить
в,.
следовательноМожно использоватьВыражать,, так что целевая функция подзадачи преобразуется и содержит толькоПроблема:
правильнопопросить совета
Упрощать:
Потом,,иПодставьте в приведенную выше формулу, чтобы получить:
сделать(представляющий разницу между прогнозируемым значением и истинным значением),, затем разделите обе части вышеприведенного уравнения на, чтобы получить одномернуюРешение:
Это решение не принимает во внимание его ограничения, то есть неотредактированное решение.
Затем рассмотрим ограничениядоступно после редактированияАналитическое решение:
После запроса, его можно найти,придется.
Итак, как выбрать множительиШерстяная ткань?
- за, то есть первый множитель, который можно найти по трем только что упомянутым условиям, не удовлетворяющим ККТ;
- И для второго множителяВы можете найти условия, которые соответствуют:множитель.
И b удовлетворяет следующим условиям:
Обновление б ниже:
И каждый раз, когда обновляется оптимизация двух множителей, b и соответствующее значение Ei необходимо пересчитывать.
последнее обновление все, y и b, поэтому модель выходит, так что можно найти предложенную нами в начале классификационную функцию:
также,здесьТакже есть аналогичная статья, на которую вы можете сослаться.
3.5.2 Шаги алгоритма SMO
Таким образом, основные этапы SMO сводятся к следующему:
смысл в том,
- Первый шаг – выбрать паруи, метод выбора использует эвристический метод;
- Второй шаг – исправитьиДругие параметры, кроме , определяют условие экстремального значения W.,Зависит отВыражать.
Предположим, что в какой-то итерации необходимо обновить,Соответствующие множители Лагранжа,, то эта мелкомасштабная задача квадратичного программирования записывается так:
Итак, на каждой итерации, как обновлять множитель? ЦитироватьздесьДва описания PPT выглядят следующим образом:
Зная, как обновить множители, какие множители выбраны для обновления? Конкретный метод выбора состоит из следующих двух шагов:
- Шаг 1: Сначала «просканируйте» все множители и используйте первый, который нарушает условие ККТ, в качестве объекта обновления, пусть это будет a1;
- Шаг 2: Среди всех множителей, которые не нарушают условие ККТ, выберите a2, который максимизирует |E1 −E2| для обновления, чтобы можно было максимизировать значение целевой функции (аналогично градиентному спуску).,и, полученное E представляет собой разницу между предсказанным значением функции ui для входа xi и реальной меткой выходного класса yi).
Наконец, после каждого обновления оптимизации двух множителей необходимо пересчитывать b и соответствующее значение Ei.
Таким образом, основная идея алгоритма SMO состоит в том, чтобы довести до предела метод фрагментации, предложенный Вапником в 1982 г. Алгоритм SMO выбирает только два компонента ai и aj для корректировки на каждой итерации, а остальные компоненты остаются фиксированными. После ai и aj используйте ai и aj для улучшения других компонентов. По сравнению с обычным алгоритмом декомпозиции, хотя он может потребовать большего количества итераций, количество вычислений каждой итерации относительно невелико, поэтому алгоритм демонстрирует более быструю сходимость, не требует хранения матрицы ядра и матричных операций.
3.5.3 Реализация алгоритма SMO
На данный момент я считаю, что после того, как SVM в определенной степени понимает, он действительно может вывести соответствующие формулы от начала до конца, начальную функцию классификации, максимизировать интервал классификации, max1/||w||, min1/2 || w||^2, выпуклое квадратичное программирование, функция Лагранжа, преобразованная в двойственную задачу, алгоритм SMO — все это для нахождения оптимального решения, оптимальной плоскости классификации. Разбирайтесь пошагово, почему так, слишком много всего можно исследовать и наконец осознать. Как показано ниже:
Что касается функции ядра, которая будет описана ниже, она должна лучше справляться с нелинейной разделимой ситуацией, в то время как резервная переменная предназначена для исправления или ограничения небольшого количества «беспокойных» или неклассифицированных факторов, которые находятся вне коллектива.
Профессор Линь Чжижэнь из Тайваня написал пакет, инкапсулирующий алгоритм SVM.библиотека libsvm, видите, кроме тогоздесьСуществует также аннотированная документация для libsvm.
В дополнение к логическому коду алгоритма SMO, данному Платтом в этой статье, «быстрое обучение машин опорных векторов с использованием последовательной минимальной оптимизации»,здесьТам же есть код реализации SMO, можете глянуть.
3.6, SVM-приложение
Возможно, мы слышали, что SVM имеет много применений во многих областях, таких как классификация текста, классификация изображений, анализ биологических последовательностей и интеллектуальный анализ биологических данных, распознавание рукописных символов и т. д., но, возможно, вы не совсем понимаете, что SVM может быть успешно применена. поле выходит далеко за рамки того поля, которое уже разрабатывается и применяется.
3.6.1, классификация текста
Система классификации текстов — это не только система обработки естественного языка, но и типичная система распознавания образов.Входом системы является текст, который необходимо классифицировать, а выходом системы является категория, связанная с текстом. Из-за нехватки места в этой статье подробно не описывается другое более конкретное содержание.
Хорошо, хотя название этого раздела — доказательство SVM, умные читатели, должно быть, уже заметили, что в этом разделе не так много доказательств (извините), что нам делать? См. книгу «Введение в машины опорных векторов», она краткая и интересная. Этот раздел закончился.
Отзывы читателей
После того, как эта статья была опубликована,ВейбоМногие друзья на сайте высказали множество мнений, вот несколько замечательных комментариев из выдержек:
- Комментарии по поводу внезапного увеличения «давления» →//@Скрытый фронт: я вырос, наблюдая за сообщением в блоге великого Бога июля//@zlkysl: Только после прочтения последнего я решил сосредоточиться на SVM . --Weibo.com/1580904460/….
- @张金辉:"Тройное царство SVM — это статья, которую нужно перевернуть. На самом деле, Эндрю Ын говорил о машинах опорных векторов на курсе Coursera, но, очевидно, он не заострял на этом внимание К тому же метод нг, рассказывающий о машинах опорных векторов, какое-то время мне было бы трудно полностью усвоить, поэтому я не стал много об этом знаю. Настоящим началом понимания машины опорных векторов является чтение этой «тройной области», а затем у меня есть общее представление об этом алгоритме, как его использовать, каков его принцип, а затем к доказательству машины опорных векторов, и Т. Д. Короче,Эта статья положила начало моему многомесячному исследованию машин опорных векторов до сегодняшнего дня.." --station.renren.com/profile/249….
- @lonely watchman: «Наконец, функция стоимости svm — это потеря петли, а затем сравните функции стоимости других методов, чтобы показать, что их целевые функции очень похожи, поэтому вопрос в том, почему svm так популярен? Вы можете добавить больше VC измерения и некоторые ошибки математики, нажмите, чтобы дать идею и направление". --Weibo.com/1580904460/….
- @xiafen_baidu:"Во время собеседования инспектирующий SVM может инспектировать все аспекты возможностей машинного обучения: целевую функцию, процесс оптимизации, параллельный метод, сходимость алгоритма, сложность выборки, применимые сценарии и опыт настройки параметров, но лично я считаю, что неплохо инспектировать бустинг и ЛР. Кроме того, с непрерывным прогрессом статистического машинного обучения SVM используется только в качестве альтернативного исследования шарнира потерь 01, предлагается более общий метод, функция потерь исследует взаимосвязь между альтернативными потерями и байесовскими потерями, стабильность алгоритма исследует альтернативные потери и Обобщение Соотношение производительности, исследование выпуклой оптимизации, как решить выпуклую целевую функцию, SVM, бустинг и другие алгоритмы являются лишь специфическим компонентом этих общих методов."
- Сестра обезьяны @curie: Что касается проблемы функции потерь SVM, вы можете увидеть это «Статистическое поведение и согласованность методов классификации, основанных на выпуклой минимизации риска» г-на Чжан Тонга. Функции потерь, обычно используемые в различных алгоритмах, в основном имеют непротиворечивость по Фишеру, и классификатор, полученный путем оптимизации этих функций потерь, можно рассматривать как «суррогат» апостериорной вероятности. Кроме того, у Чжан Тонга есть еще одна статья «Статистический анализ некоторых методов классификации большой маржи в нескольких категориях», в которой анализируются потери маржи в случае нескольких категорий. Эти две статьи очень тщательно анализируют функции потерь, используемые Boosting и SVM. .
- @ 夏粉_Baidu: SVM использует потери шарнира, потери шарнира неуправляемы, их не так просто оптимизировать, как другие альтернативные потери, а вероятность преобразования проблематична. Функция ядра тоже не очень полезна.Сейчас эра больших данных, и выборка очень большая.Невозможно представить как хранится и вычисляется матрица ядра n^2. Более того, сейчас нелинейность вообще опирается на глубокое обучение. //@Copper_PKU: Каковы типичные применения svm в отрасли? Как отрасль выбирает функцию ядра, эмпирический метод? Как оптимизировать процесс обучения svm?
- @Copper_PKU: июльское руководство по svm Я лично считаю, что следующие части могут быть добавлены и изменены: (1) для интерпретации опорного вектора он может быть выражен в сочетании с графиками и параметрами Лагранжа, sv не записывается в релаксации (2) алгоритм SMO. Часть, добавляющая алгоритм, упомянутый в статье Иоахимса, а также метод выбора рабочего пространства для алгоритма SMO, включая оценку сходимости алгоритма SMO и предыдущий метод решения сопряженного градиента.Хотя это более ранний алгоритм, он очень хорош для понимания алгоритма SMO Эффект. Оптимизация и решение модели являются итеративными процессами, и исторические алгоритмы добавляются для улучшения трехмерного ощущения. --Weibo.com/1580904460/….
- //@Liao Linchuan: Причина, по которой sgd работает лучше на больших обучающих наборах, заключается в следующем: 1. Потому что оптимизация SGD использует подмножество выборок для каждой итерации, что намного быстрее, чем использование полного обучающего набора (особенно порядка миллионов); 2 , Если цель Если функция выпуклая или псевдовыпуклая, SGD почти наверняка может сходиться к глобальному оптимуму, в противном случае он будет сходиться к локальному оптимуму 3. SGD обычно не нужно сходиться к глобальному оптимуму, если как только будет получено достаточно хорошее решение, его можно будет немедленно остановить. //@Copper_PKU: основная идея sgd: итеративное обучение, каждый раз при получении выборки вычисляется функция потерь на основе текущего w(t), t представляет t-е обучение, а затем следующее w (t+1) update , w(t+1)=w(t)-(скорость обучения) * градиент функции потерь, что аналогично методу обучения параметров в bp в нейронной сети. выборка за пробой заключается в обработке только одной пробы за раз вместо одной партии.
- //@Copper_PKU: С точки зрения функции потерь: первичная проблема может быть понята как член регуляризации + функция потерь, а цель решения состоит в том, чтобы найти баланс между ними. так что есть параметр C. //@Researcher July: SVM — это на самом деле проблема поиска оптимального значения целевой функции при определенных ограничениях, то есть при ограничениях, и в то же время, чтобы снизить процент ошибочных оценок, попытаться минимизировать потери .
- ...
Мне очень нравится эпоха такого рода общенациональных дискуссий: никто не обязательно прав или не прав, но каждый выражает свое понимание и мнение, и это здорово!
Ссылки и рекомендуемая литература
- "Введение в машины опорных векторов", [английский] Нелло Кристианини / Джон Шоу-Тейлор;
- Сайт поддержки книги Introduction to Support Vector Machines:www.support-vector.net/;
- «Введение в интеллектуальный анализ данных», [США] Панг-Нинг Тан / Майкл Стейнбах / Випин Кумар;
- «Интеллектуальный анализ данных: концепции и методы», (добавлено) Джиавэй Хань, Мишелин Камбер;
- «Новые методы интеллектуального анализа данных: машины опорных векторов» Дэн Найян и Тянь Инцзе;
- "Машины опорных векторов — теория, алгоритмы и расширения", Дэн Найян и Тянь Инцзе;
- Серия опорных векторов,pluskid:blog.plus kid.org/?Afraid_ID=68…;
- Woohoo.360doc.com/content/07/…;
- Предварительное исследование десяти классических алгоритмов интеллектуального анализа данных;
- Руководство по машинам опорных векторов для распознавания образов, CJC Burges;
- "Статистические методы обучения", Ли Ханг;
- «Статистическая обработка естественного языка» под редакцией Цзун Чэнцина, глава 12, Классификация текстов;
- Серия записей SVM, Джаспер:Woohoo.blog Java.net/Zhenan Daci/…;
- Реализация и сравнение решения ближайшего соседа и распознавания цифр SVM, автор неизвестен;
- Чистый SVM с белой доской:Woohoo.Расстояние также читайте.com/video/play/…
- Оригинальные конспекты лекций из Стэнфордского курса машинного обучения:woo woo woo.cn blog on.com/Jerry lead/ ах…;
- Примечания к курсу Стэнфордского машинного обучения:Блог woohoo.cn на.com/Jerry lead/He…;
- woo woo woo.cn blog on.com/Jerry lead/ ах…;
- Математический вывод алгоритма SMO:woo woo woo.cn blog on.com/Jerry lead/ ах…;
- Знание теории вероятностей и математической статистики, необходимых для интеллектуального анализа данных;
- Для статей о машинном обучении вы можете прочитать:блог woohoo.cn на.com/vivo unicorn…;
- Рекомендуемые учебники для кафедры математики:blog.sna.com.talent/is/blog_5oh63…;
- «Нейронные сети и машинное обучение (исходная книга, 3-е издание)» [плюс] Саймон Хайкин;
- Прошлое и настоящее нормального распределения:t.cn/zlH3Ygc;
- "Краткая история математической статистики", академик Чэнь Сижу;
- «Теория оптимизации и алгоритмы (второе издание)» под редакцией Чен Баолиня;
- A Gentle Introduction to Support Vector Machines in Biomedicine:Woohoo. Может работать с informatics.org/downloads/ yes…, эта РРТ очень хороша, разве что глубины задачи выпукло-квадратичного программирования после введения лагранжевых двойственных переменных не хватает, все остальное очень хорошо, картинки очень захватывающие, в этой статье есть несколько картинок, которые цитируются из этого РРТ;
- PPT из Университета Карнеги-Меллона (CMU), объясняющий SVM:woohoo.auto, что такое lab.org/tutorials/…;
- Раздаточный материал по машинному обучению SVM тайваньского профессора Лин Чжирена, который изобрел libsvm в 2006 году:Library.Baidu.com/Lincoln?URL=PW…;
- staff.u STC.Amount.Talent/~Classroom/ppt…;
- Введение в машины опорных векторов (SVM), Дебпракаш Патнаи М.Е. (SSA),woohoo.google.com.soon/url?sah=he и так далее…;
- рекомендуется многимиlibsvm:Woohoo. Сотрите его до смерти. Грязь. Квота. Тайвань/~Чэнь Цзялин/Четверг…;
- «машинное обучение в действии», китайская версия — «машинное обучение в действии»;
- Предложение алгоритма SMO: последовательная минимальная оптимизация. Быстрый алгоритм для обучения машин опорных векторов.:research.Microsoft.com/um-US/um/PE…;
- «Суть статистической теории обучения», [США] Владимир Н. Вапник, очень неясно, не рекомендую слишком много;
- Чжан Чжаосян, Машины опорных векторов в машинном обучении, лекция 5IR IP. Не AA. Квота. Способность/~ CEO/co…;
- Теоретическое объяснение размерности VC:Woohoo.SVM это .org/VC-die bro..., китайское объяснение размера VCСяося 001.ITeye.com/blog/116333…;
- Раздаточный материал по SVM от Джейсона Уэстона из NEC Labs AmericaУ-у-у. В это время. Колумбия. Квота/~Кэти/47 в это время…;
- Раздаточный материал SVM от Массачусетского технологического института:Woohoo.Персик.Квота/~9.520/Судный день…;
- Вопросы ПАК:Woohoo. В это время. Регистрация домохозяйства. AC.IL/~Какая книга/Боюсь...;
- Две статьи г-на Чжан Тонга из Baidu: «Статистическое поведение и непротиворечивость методов классификации, основанных на выпуклой минимизации риска».home.OLE Miss.Amount/~эквивалент/676/…, "Статистический анализ некоторых многокатегориальных методов классификации с большой маржей";
- jacoxu.com/?p=39;
- «Матричный анализ и применение» Чжан Сянда из Университета Цинхуа;
- Реализация алгоритма SMO:blog.CSDN.net/специальный пропуск/art IC…;
- Краткое изложение идей алгоритма машинного обучения для обычных интервью:Блог woohoo.cn на.com/tornado, встреча…;
- Страница Матрицы в Википедии:Это.Wikipedia.org/wiki/%E7%9F…;
- Метод наименьших квадратов и его реализация:blog.CSDN.net/Up 12559671…;
- Введение в статистические методы обучения:blog.CSDN.net/Up 12559671…;
- Эй .csdn.net / Статья / 201 ...;
- Учебное пособие по регрессии опорных векторов:alex.zamora.org/papers/2003…;сокращенная версия SVR:Woohoo. Звуковой сигнал двери автомобиля. Протрите его до смерти. Грязь..
- SVM-организация:www.support-vector-machines.org/;
- Коллобер Р. Крупномасштабное машинное обучение, докторская диссертация в Парижском университете VI, 2004 г.:Ronan.col доля RT.com/universal/mat OS/2…;
- Как сделать крупномасштабное обучение SVM практичным:Уууу. В это время Корнелл. квота/люди/рекомендация/боюсь...;
- Текстовая классификация и SVM:blog.CSDN.net/Чжан Жилин202/AR…;
- Working Set Selection Using Second Order Information
для обучения машин опорных векторов:Ухуууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууу-ууу-у-у-у-у-у-у-у-у-у-у-у-у-у-у-у-у-у-у-у-у-у — грязь, квота, тайвань/~Чэнь Цзялин/Боюсь...; - Оптимизация SVM: обратная зависимость от размера обучающего набора:IC ml2008. В это время. Helsinki.FI/papers/266. …;
- Крупномасштабные машины опорных векторов: алгоритмы и теория:Color Web.UCSD.Amount/~AK Дверь вкл./Повторно…;
- Концепция выпуклой оптимизации:В это время 229.Stanford.Amount/section/В это время 2…;
- «Выпуклая оптимизация», автор: Стивен Бойд/Ливен Ванденберге, оригинальное название: Выпуклая оптимизация;
- Крупномасштабная нелинейная классификация: алгоритмы и оценки Чжуан Ван рассказал о многих новых разработках в алгоритмах SVM:IJ просто 13.org/files/tutor…;
- Реализовать SVM на основе алгоритма SMO:Woohoo. В это время. Состояние IA. Quota/~ho that var/what...;
- Некоторые документы, связанные с SVM, рекомендованные медью (конечно, многие из них были упомянуты в приведенной выше записи):Из .blog.sna.com.capable/profile.php…;
- Редактировать формулу латекса онлайн:private.code cogs.com/LaTeX/EQ как насчет D….
постскриптум
Хорошо, эта статья начала писаться в мае 2012 года и постоянно пересматривалась, создавая лучшее из трех, то есть самое долгое время написания, самые большие усилия и самые большие изменения, потому что моя цель состоит в том, чтобы никто не Машинное обучение может понять эту статью, поэтому я постоянно меняюсь, продолжаю меняться и не хочу упускать ни одной мелочи. Кроме того, цитируя слова Хоу Цзе: «Великая работа в мире должна выполняться в деталях.
Наконец, я очень благодарен pluskid и многим друзьям за их статьи и работы, которые дали мне возможность обобщать и углублять на их основе. Если у вас есть какие-либо вопросы, пожалуйста, не стесняйтесь критиковать и исправлять читателей в любое время, спасибо.
PDF-версия этой статьи
- 25 ноября 2013 г. откройте статью в браузере Chrome, щелкните правой кнопкой мыши, чтобы распечатать, откройте окно печати и измените цель в верхнем левом углу на «Сохранить как PDF», чтобы стать первым PDF:v disk.twitter.com/yes/as FL6ox кг….
- 7 декабря 2013 года мой друг Ву Синьлун использовал «Evernote», чтобы извлечь текст блога и передать его в офис, чтобы отредактировать в этот PDF-файл:v disk.twitter.com/yes/as FL6ox кг…, добавлена полная закладка из предыдущей версии.
- 18 февраля 2014 г. мой друг Ву Шужэ переставил все формулы в этой статье с помощью латекса и пометил все формулы и изображения.Адрес для загрузки латексной версии PDF:v disk.twitter.com/yes/as FL6ox кг….
- 8 января 2015 года мой друг Чен Шэн написал еще одну статью для этого SVM.Последняя вторая версия LaTeX, адрес загрузки:pan.baidu.com/s/1eQrgiOU.
Эта статья будет постоянно обновляться.Кроме того, опыт чтения вышеупомянутых четырех PDF-файлов не самый лучший.Если друг сделал лучший PDF-файл, пожалуйста, поделитесь им со мной:weibo.com/julyweibo,Благодарность.
Июль, 17 января 2016 г. Изменение N (N > 100).
Срочные новости: моя новая книга «Метод программирования: интервью и уроки алгоритмов» наконец-то поступит в продажу 14 октября 2015 года! Цзиндонадрес привязки:item.JD.com/11786791.Контракт…. Jingdong, Dangdang, Amazon и другие крупные интернет-магазины проводят спотовые продажи. Новая книга включает в себя эту SVM, и качество новой книги намного выше, чем у блога. 29 июля 2015 г.