Поддержка векторных машин - простое объяснение?

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

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

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

Ответы

Ответ 1

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

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

  • e = (x1, x2)
  • 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, чего трудно себе представить, тем не менее рисовать: -).