Предисловие:
Этот раздел о машинах опорных векторов представляет собой курс, прочитанный Ху Хаоджи из Чжэцзянского университета на китайском онлайн-курсе, Я чувствую, что китайская лекция относительно ясна и проста для понимания. В сочетании с «Машинным обучением» Чжоу Чжихуа. Посмотрев видео, а затем прочитав книгу о дынях, я пойму, откуда берутся приведенные выше формулы.Может быть, для начинающих. Видеообучение на родном языке легче понять. Поначалу чтение гуашу было настоящей головной болью: сплошные математические формулы и никакого процесса вывода.
1. Машина опорных векторов
Определение: Неделимый и неделимый
Как показано на рисунке, если разные данные можно разделить прямой линией, то они линейно разделимы (linear separable)
Если разные данные не могут быть разделены прямой линией, они линейно разделимы (нелинейно разделимы).
Эта теория может быть распространена на трехмерное пространство и даже на пространство над мышлением. 3D использует плоскости для разделения данных, 4D и выше, потому что люди Его нельзя воспринять интуитивно, поэтому его нельзя нарисовать, но он может разделять данные Существование такой плоскости называется гиперплоскостью.
Двумерный линейно разделимый случай:
Математическое определение:
Определение вектора:
2. Машины опорных векторов
Описание проблемы:
В случае линейной разделимости, как найти гиперплоскость оптимальной классификацииИз рисунка гиперплоскость посередине оптимальна. Это лучший допуск для разделения данных. Например, это лучше, чем ограничения данных обучающего набора. Данные вне обучающего набора могут привести к неправильным результатам классификации при классификации линия. Однако выполнение на второй картинке затронуто меньше всего, и есть небольшая вероятность того, что новые данные повлияют на неверный результат.
Оптимальная линия классификации, найденная методом опорных векторов, должна удовлетворять:
2.1 Линия разделяет два класса
2.2 Линия максимизирует маржу
2.3 Линия находится в середине отрезка, а расстояние до всех опорных векторов равно
Приведенные выше правила также применяются к линейно разделимым многомерным пространственным признакам, за исключением того, что прямые линии становятся гиперплоскостями.
3. Постановка математически определенной линейно разделимой задачи:
Мне потребовалось много времени, чтобы понять формулу в этой части, много раз просмотрев видео, я едва понял ее, сравнивая книгу и информацию, которую нашел. Чем больше я учусь, тем больше понимаю, что запас моих математических знаний слишком мал. Сначала посмотрим на формулу расстояния от точки до плоскости:Можно найти, что эту формулу можно рассматривать как площадь параллелограмма, деленную на основание, и тогда полученная высота есть расстояние от точки до плоскости.
Затем начинаем выводить формулу решения линейно разделимой задачи: Давайте сначала посмотрим на две существующие формулы: Факт 1:
Факт 2
Давайте сначала посмотрим на формулу расстояния от любой точки пространства выборки до гиперплоскости: юх + б Здесь ω — вектор нормали, определяющий направление гиперплоскости, а b — член смещения, который представляет собой расстояние между гиперплоскостью и началом координат.
Вывод из факта 1 и факта 2:
Чтобы найти гиперплоскость с наибольшим интервалом, нужно найти параметры ω и b такие, что d является наибольшим. Таким образом, задача трансформируется в нахождение минимального значения ||ω||.
Таким образом, задача оптимизации формулируется так: Минимизируйте 1/2 * ||ω||^2 (это то же самое, что и минимизация ||ω||, но она приведена в эту форму для удобства вывода)
Эта формула представляет собой задачу квадратичного программирования, поэтому задача нахождения (ω, b) становится задачей квадратичного программирования.Потому что квадратичное программирование либо неразрешимо, либо имеет единственный минимум. И поскольку в задаче выпуклой оптимизации должно быть решение с уникальным минимальным значением, Следовательно, задача квадратичного программирования, являющаяся задачей выпуклой оптимизации, должна иметь оптимальное решение. Следовательно, пока оно преобразуется в квадратичное программирование, это проблема выпуклой оптимизации. Мы можем решить ее с помощью уже существующих инструментов для решения задач выпуклой оптимизации.
Примечание:
1. Опорные векторные машины тоже должны изучить содержание функции ядра, двойная задача, эти разделы не изучались, поэтому здесь не пишутся.
2. На следующей неделе я изучу функцию ядра и двойственную задачу, а затем изучу умножение Лагранжа, которое будет использоваться при выводе формулы двойственной задачи.