Уравнение разделительной гиперплоскости W.X + b = 0
.Python scikits learn - Разделительное уравнение гиперплоскости
Для support vector machine in scikit-learn, как производная отделяющая гиперплоскость? Что означают «a
» и «w
»?
Уравнение разделительной гиперплоскости W.X + b = 0
.Python scikits learn - Разделительное уравнение гиперплоскости
Для support vector machine in scikit-learn, как производная отделяющая гиперплоскость? Что означают «a
» и «w
»?
В scikit-learn coef_
атрибут содержит векторы разделительных гиперплоскостей для линейных моделей. Он имеет форму (n_classes, n_features)
, если n_classes > 1
(multi-class one-vs-all) и (1, n_features)
для двоичной классификации.
В этом примере бинарной классификации игрушек n_features == 2
, следовательно w = coef_[0]
- вектор, ортогональный гиперплоскости (гиперплоскость полностью определена им + перехватом).
Чтобы построить эту гиперплоскость в 2D-корпусе (любая гиперплоскость 2D-плоскости - это 1D-линия), мы хотим найти f
, как в y = f(x) = a.x + b
. В этом случае a
является наклоном линии и может быть вычислено a = -w[0]/w[1]
.
Почему 'a = -w [0]/w [1]'? И чтобы найти b, почему мы вычисляем '- (clf.intercept_ [0])/w [1]'. Не должно быть 'b = clf.intercept_ [0]'? –
Это просто переход к общей n-мерной параметризации гиперплоскости к двумерному уравнению линии 'y = ax + b': общий w_0 x + w_1 y + w_3 = 0' может быть (w_0/w_1) x + (w_0/w_1) ' – ogrisel
s/переключение/переключение с/ – ogrisel