(Вы можете сначала посмотреть на «таблицу» ниже)
Начнем с «классических» опорных векторных машин. Они учатся различать две категории. Вы собираете несколько примеров категории A, некоторые категории B, и передаете их оба в обучающий алгоритм SVM, который находит линию / плоскость / гиперплоскость, которая лучше всего отделяет A от B. Это работает - и часто работает довольно хорошо - когда Вы хотите различать четко определенные и взаимоисключающие классы: мужчины против женщин, буквы алфавита и так далее.
Однако, предположим, что вы хотите идентифицировать «А» вместо этого. Вы можете рассматривать это как проблему классификации: как отличить буквы "не" от "не". Довольно легко собрать тренировочный набор, состоящий из изображений собак, но что должно входить в ваш тренировочный набор не-собак? Поскольку существует огромное количество вещей, которые не являются собаками, вам может быть трудно создать всеобъемлющий и в то же время репрезентативный обучающий набор всех не собачьих вещей. Вместо этого вы можете рассмотреть возможность использования классификатора одного класса. Традиционный классификатор с двумя классами находит (гипер) плоскость, которая отделяет A от B. Вместо этого SVM с одним классом находит линию / плоскость / гиперплоскость, которая отделяет все точки в классе ("A") от начала координат. ;
«Система» ансамбля SVM на самом деле представляет собой совокупность множества двухсекционных «субъединиц» SVM. Каждое подразделение обучается с использованием одногоположительный пример для одного класса и огромный набор отрицательных примеров для другого. Таким образом, вместо того, чтобы отличать собак от примеров, отличных от собак (стандартный SVM с двумя классами), или собак от происхождения (SVM с одним классом), каждая субъединица различает конкретную собаку (например, «Rex») и множество собак, не являющихся собаками. Примеры. Отдельные подразделения SVM обучаются для каждого примера положительного класса, поэтому у вас будет один SVM для Рекса, другой для Фидо, еще один для собаки вашего соседа, которая лает в 6 утра и так далее. Выходы этих SVM субъединиц калибруются и объединяются, чтобы определить, появляется ли собака, а не только один из конкретных образцов, в данных испытаний. Я думаю, вы могли бы также думать об отдельных подразделениях как что-то вроде SVM одного класса, где пространство координат смещено так, что единственный положительный пример лежит в начале координат.
Таким образом, основные различия:
Учебные данные
- Два класса SVM: положительные и отрицательные примеры
- Один класс SVM: только положительные примеры
- Ансамбль СВМ "Система": положительные и отрицательные примеры. Каждое подразделение обучается на одном положительном примере и множестве отрицательных примеров.
Количество машин
- Два класса СВМ: один
- Один класс SVM: один
- Ансамбль SVM "система": много (один субъединичный станок на положительный пример)
Примеры на класс (на машину)
- Два класса SVM: много / много
- Один класс SVM: много / один (исправлено в начале координат)
- Ансамбль СВМ "Система": много / много
- Ансамбль СВМ "Подразделение": один / много
Постобработка
- Два класса SVM: не обязательно
- Один класс SVM: не обязательно
- Ансамбль SVM: необходим для объединения выходных данных каждого SVM в прогноз на уровне класса.
Постскриптум: Вы спросили, что они подразумевают под «[другие подходы] требуют отображения образцов в общее пространство признаков, по которому можно вычислить ядро подобия». Я думаю, они имеют в виду, что традиционный SVM с двумя классами работает при условии, что все члены класса как-то похожи, и поэтому вы хотите найти ядро, которое помещает отличных датчан и такс рядом друг с другом, но далеко от всего остального. В отличие от этого, система SVM ансамбля обходит это, называя что-то собакой, если она достаточно велика, похожа на датчанина, или похожа на таксу, или похожа на пуделя, не беспокоясь об отношениях между этими образцами.