Краткий ответ: они не преобразуют матрицы, а обрабатывают каждый элемент матрицы как измерение (при машинном обучении каждый элемент будет называться 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, чертовски сложно представить, тем не менее рисовать: -).