опорные векторные машины - простое объяснение? - PullRequest
14 голосов
/ 28 мая 2011

Итак, я пытаюсь понять, как работает алгоритм SVM, но я просто не могу понять, как вы преобразуете некоторые наборы данных в точки n-мерной плоскости, которые имели бы математическое значение для разделения точек через гиперплоскость иклассифицируйте их.

Вот пример здесь , они пытаются классифицировать изображения тигров и слонов, они говорят: «Мы оцифровываем их в изображения размером 100x100 пикселей, поэтому у нас есть x в n-мерномплоскость, где n = 10000 ", но мой вопрос заключается в том, как они преобразуют матрицы, которые на самом деле представляют только некоторые цветовые коды IN точек, которые имеют математическое значение, чтобы классифицировать их в 2 категории?

Возможно, кто-то можетобъясните мне это в 2D-примере, потому что любое графическое представление, которое я вижу, это просто 2D, а не nD. svm

1 Ответ

16 голосов
/ 02 июня 2011

Краткий ответ: они не преобразуют матрицы, а обрабатывают каждый элемент матрицы как измерение (при машинном обучении каждый элемент будет называться Feature ). Таким образом, им нужно классифицировать элементы с 100x100 = 10000 объектов каждый. В случае linear SVM они используют гиперплоскость , которая делит пространство в 10 000 измерений на две отдельные области.

Более длинный ответ будет: Рассмотрим ваш 2D случай. Теперь вы хотите разделить набор двухмерных элементов. Это означает, что каждый элемент в вашем наборе может быть математически описан как 2-кортеж, а именно: e = (x1, x2) . Например, на вашем рисунке некоторые полные точки могут быть: {(1,3), (2,4)} , а некоторые полые могут быть {(4,2), ( 5,1)} . Обратите внимание, что для того, чтобы классифицировать их с помощью линейного классификатора , вам необходим двумерный линейный классификатор, который даст правило принятия решения, которое может выглядеть следующим образом:

  • е = (х1, х2)
  • if (w1 * x1 + w2 * x2)> C: решить, что e - полная точка.
  • в противном случае: e пусто.

Обратите внимание, что классификатор linear , так как он представляет собой линейную комбинацию элементов e. «W» называются «весами», а «C» - порогом принятия решения. Линейная функция с 2-мя элементами, как указано выше, является просто линией, поэтому на ваших рисунках H - это линии.

Теперь, возвращаясь к нашему n-мерному случаю, вы, вероятно, можете понять, что линия не поможет. В трехмерном случае нам понадобится плоскость: (w1 * x1 + w2 * x2 + w2 * x3)> C, а в n-мерном случае нам потребуется гиперплоскость: (w1 * x1 + w2 * x2 + ... + wn * xn)> C, чертовски сложно представить, тем не менее рисовать: -).

...