Бывает так, что я выполняю домашнее задание 1 курса по методам машинного обучения. И, случается, проблема о расстоянии точки до гиперплоскости даже для ядра RBF.
Сначала мы знаем, что СВМ найти "оптимальный" вес для гиперплоскости WX + Ь = 0.
И дело в том, что
ш = \ sum_ {я} \ alpha_i \ Phi (x_i)
где эти x являются так называемыми вспомогательными векторами, а те альфа - их коэффициентом. Обратите внимание, что существует phi() вне x; это функция преобразования, которая преобразует x в какое-то высокоразмерное пространство (для RBF это бесконечная размерность). И мы знаем, что
[\phi(x_1)\phi(x_2) = K(x_1, x_2)][2]
поэтому мы можем вычислить
, то мы можем получить ш. Итак, расстояние, которое вы хотите, должно быть
svc.decision_function(x)/w_norm
где w_norm рассчитанная выше норма.
(StackOverflow не позволяет мне размещать более 2 ссылки, чтобы оказать латексной сами ба.)
В чем разница между выходом решающей функции, а г/w_norm? – user1566200
http://stackoverflow.com/questions/11030253/decision-values-in-libsvm ответ от @karenu был бы очень полезен. – yangjie
Значение решения - результат оценки w * x + b, y/w_norm - фактическое расстояние. Итак, чем ближе значение решения к 0, тем ближе к границе решения. И значение его решения указывает класс точки. – yangjie