SVM consiste à trouver l'hyperplan qui sépare l'espace tout en respectant les deux catégories des données en entrée: toutes les données de la première catégorie sont du même côté de l'hyperplan et toutes les données de la deuxième catégorie sont de l'autre côté de l'hyperplan. Le meilleur hyperplan est celui avec la marge maximale (la distance entre l'hyperplan et la donée la plus proche de l'hyperplan est maximale). Si c'est donnée ne sont pas linéairement séparables, nous pouvons soit utiliser des noyaux pour les projeter dans un espace à grande dimension, soit autoriser quelques erreurs.
-
Problème à résoudre:
$$\min_{\theta} \frac{1}{2} \parallel \theta \parallel ^2$$ tel que$$y_i (\theta ^T X_i + b) \geq 1$$ -
Avec erreurs possibles:
$$\min_{\theta} \frac{1}{2} \parallel \theta \parallel ^2 + C \sum_k \zeta_k$$ tel que$$y_i (\theta ^T X_i + b) \geq 1 - \zeta_i $$ et$$\forall k, \zeta_k \geq 0$$ - Méthode: optimisation quadratique (en temps polynomial)
-
Dual:
$$\max_{\alpha} \sum_k \alpha_k - \frac{1}{2} \sum _{i,j} \alpha_i \alpha_j y_i y_j X_i^T X_j$$ tel que$$\alpha_k \geq 0$$ et$$\sum_k \alpha_k y_k = 0$$ . Notons $$\alpha^$$ les $$\alpha$$ qui maximisent cette équation. L'équation de l'hyperplan séparateur est $$h(X) = \sum _k \alpha_k^ y_k (X^T X_k)+ b$$ -
Kernels:
$$K(X,Y) = \Phi(X)^T \Phi(Y) = X^T Y$$ - Noyau linéaire:
$$K(X,Y) = X ^T Y$$ - Noyau polynomial:
$$K(X,Y) = (1 + X ^T Y)^p$$ - Noyau Gaussien (RBF):
$$K(X,Y) = exp ( -\frac{\parallel X-Y \parallel^2}{2 \sigma ^2} )$$ - Noyau tangente hyperbolique:
$$K(X,Y) = \tanh (\kappa X ^T Y + c)$$
- Noyau linéaire:
Le kernel polynomial correspond à transformer une entrée
Si nous voulons faire une
SVM régression
Le problème consiste à trouver un hyperplan pour lequel toutes les données se situent dans un hyper-cylindre centré sur cet hyperplan et de rayon