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


16

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

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

Ответы:


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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.