Один класс SVM против образца SVM

16

Я понимаю, что одноклассные SVM (OSVM) были предложены с учетом отсутствия отрицательных данных, и что они стремятся найти границы решений, которые разделяют положительный набор и некоторую отрицательную опорную точку, скажем, источник.

В работе 2011 года предлагаются « Образцы SVM» (ESVM), которые обучают «единому классификатору для каждой категории», который утверждает, что он отличается от OSVM, в том смысле, что для ESVM «не требуется» отображать образцы в общее пространство признаков, в котором может находиться ядро ​​сходства. вычислен». Я не совсем понимаю, что это значит и чем ESVM отличаются от OSVM. И так, как они отличаются? И как избежать этого вычисления ядра подобия в ESVM?

bjou
источник

Ответы:

20

(Вы можете сначала посмотреть на «таблицу» ниже)

Начнем с «классических» опорных векторных машин. Они учатся различать две категории. Вы собираете несколько примеров категории 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 ансамбля обходит это, называя что-то собакой, если она достаточно велика, похожа на датчанина, или похожа на таксу, или похожа на пуделя, не беспокоясь об отношениях между этими образцами.

Мэтт Краузе
источник
Спасибо за отличный и исчерпывающий ответ. Просто чтобы прояснить, в некоторых местах вы действительно имеете в виду «Ансамбль» SVM Exemplar, а в других - просто «Exemplar» SVM? Я думаю, что будет справедливо сравнение с (1) ОДИНОЧНЫМ OSVM с ЕДИНЫМ ESVM или (2) АНСАМБЛЕЕМ OSVM с АНСАМБЛЕМ ESVM.
bjou
Я надеюсь, что это не слишком не по теме, чтобы спросить, насколько хорошо это обобщает несколько классов? Если у меня есть кошки, собаки и птицы, для этого требуется, чтобы esvm требовал одного «элемента» SVM для фидо против каждой кошки И одного «элемента» SVM для фидо против каждой птицы? Если бы у меня было 10 точек данных для каждой из 3 категорий, это означало бы, что у меня есть 20 элементов SVM на «собаку» или ансамбль, состоящий из 200 элементов? Что делать, если у меня 300 точек данных и 20 измерений, или 50 тысяч точек данных и 50 тысяч измерений. Если бы я делал случайный лес из SVM, то мог бы я использовать случайные подмножества, чтобы уменьшить влияние «проклятия размерности»?
EngrStudent - Восстановить Монику
@bjou, я был немного неаккуратен с терминологией ESVM, поэтому я вернулся и почистил ее. Я полагаю, что вы могли бы думать о «субъединице» системы ESVM как о OSVM, за исключением того, что система координат была перецентрирована, так что положительный пример лежит в начале координат.
Мэтт Краузе
1
@EngrStudent, это действительно обобщает очень хорошо. В статье они используют задачу POCAL VOC, которая имеет ~ 20 категорий. Чтобы расширить наш пример с животными, у вас будет подразделение для «Фидо» против (всех птиц, кошек и рыб), еще одно подразделение для «Рекса» против всех не собак и так далее для каждой собаки. Для птиц вы тренируете «Tweety» против (всех кошек, собак, рыб), «Polly» против всех не-птиц и так далее. Для каждого примера кошки и рыбы также будет подразделение, обученное против всех не кошек и не рыб соответственно. В итоге вы получите 1 SVM на каждый помеченный пример, независимо от количества классов.
Мэтт Краузе
Это звучит как двоюродный брат повышения (в смысле градиентных деревьев). Ансамбль, это взвешенная ошибка на выходе или равномерно взвешенная?
EngrStudent - Восстановить Монику
2

Короче говоря, модель ESVM представляет собой ансамбль SVM, обученных различать каждый элемент обучающего набора от всех остальных, в то время как OSVM представляет собой ансамбль SVM, обученных различать каждое подмножество обучающих элементов, принадлежащих одному классу. Таким образом, если в тренировочном наборе 300 образцов кошек и 300 собак, ESVM сделает 600 SVM, каждый на одного питомца, а OSVM сделает два SVM (первый для всех кошек, второй для всех собак).

Таким образом, ESVM не нужно находить пространство, в котором кластеры всего класса, а скорее пространство, в котором этот единственный элемент является выбросом, что, вероятно, проще и приводит к высокой точности. Напомним, что ансамбль предоставил отзыв.


источник