Функция расчета решения SVM вручную

Я пытаюсь вычислить решение-функцию классификатора SVC ВРУЧНУЮ (в отличие от использования встроенного метода) с использованием библиотеки Python SKLearn.

Я пробовал несколько методов, однако, я могу получить только ручной расчет, когда яне масштабировать мои данные.

z является контрольной базой данных (она была масштабирована), и я думаю, что другие переменные говорят сами за себя (также я использую ядро ​​rbf, если это не очевидно из кода).

Вот методы, которые я попробовал:

1 Циклический метод:
dec_func = 0
for j in range(np.shape(sup_vecs)[0]):

    norm2 = np.linalg.norm(sup_vecs[j, :] - z)**2 
    dec_func = dec_func + dual_coefs[0, j] * np.exp(-gamma*norm2)

dec_func += intercept
2 Векторизованный метод
diff = sup_vecs - z
norm2 = np.sum(np.sqrt(diff*diff), 1)**2
dec_func = dual_coefs.dot(np.exp(-gamma_params*norm2)) + intercept

Тем не менее, ни один из них никогда не возвращает такое же значение, какdecision_function, Я думаю, что это может иметь какое-то отношение к изменению масштаба моих ценностей или, скорее, это что-то глупое, что я проследил!

Любая помощь будет оценена.

Ответы на вопрос(0)

Ваш ответ на вопрос