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