вычислить w вектор svm с ядром rbf - PullRequest
0 голосов
/ 02 февраля 2020

Мне нужно найти способ для вычисления вектора w SVM с ядром rbf. Обратитесь к документации libsvm, ядро ​​rbf определено как:

RBF: exp (-gamma * | uv | ^ 2)

Я знаю, что вы - 1 * n массив (model.sv_coef) и v - это матрица m * n (model.SVs)

. Теперь я не знаю, как я могу вычислить евклидово расстояние от u и v ---> | uv | (один из них - массив 1-й, а другой - массив 2-й), а после этого как я могу найти массив 1 * n, представляющий собой массив w?

Заранее спасибо.

1 Ответ

2 голосов
/ 02 февраля 2020

Невозможно выполнить операцию, о которой вы мечтаете. Нельзя рассчитать d (u, v), как в вашем случае, используя евклидово расстояние. Размеры не совпадают, когда вы определяете ЛЮБОЙ тип векторов / матриц, как вы задали в своем вопросе. u и v - это точки данных, но не результаты некоторой SV-оценки.

Уточните, каковы размеры ваших векторов / матриц. Попробуйте использовать DTW (динамическое искажение времени c) и т. П. При использовании векторов различной длины. Вы можете поместить DTW в ядро ​​RBF, по крайней мере это даст результаты на эмпирической основе (но имейте в виду, что DTW нарушает неравенство треугольника).

Еще одна вещь: u и v - точки данных. Вам следует больше узнать о SVM.

...