Если ядро k положительно определено для любой пары примеров x и z, определитель матрицы грамм неотрицателен.
|k(x, x) k(x, z)|
| | = k(x,x)k(z,z) - k(x,z)^2 >= 0
|k(z, x) k(z, z)|
Для расстояния (включая расстояние Хэмминга) выполняются следующие свойства:
For any x, y:
1) d(x, z) >= 0 and d(x, z) = 0 <=> x = z
2) symmetry d(x, z) = d(z, x)
3) triangular inequality d(x, z) <= d(x, y) + d(y, z)
Учитывая k как расстояние Хемминга, согласно 1) мы бы имели:
a) k(x,x) = k(z,z) = 0
Но для того, чтобы быть положительно определенным ядром, нам нужно:
b) k(x,x)k(z,z) - k(x,z)^2 >= 0
применяя a) к b), мы имеем:
-k(x,z)^2 >= 0
k(x,z)^2 <= 0
, что означает, что k (x, z) не является действительным значением и, следовательно, не является допустимым ядром.
Если я что-то не упустил, я думаю, что это правильное ядро, потому что это внутренний продукт в следующем пространстве: K ("aab", "baa") = [0,1,0,1, 1,0] \ dot [1,0,0,1,0,1].
Это хороший способ определить функцию для ядра, но это не расстояние Хэмминга,Расстояние Хэмминга между «aab» и «baa» равно 2, первый и третий символы различны.но
[0,1,0,1,1,0] \dot [1,0,0,1,0,1] = 1.
Если экземпляр Хемминга не является положительно определенным, это не означает, что его нельзя использовать с SVM, но вы наверняка потеряете преимущества решения задачи выпуклой оптимизации.