J'essaie d'implémenter la régularisation du manifold dans les machines à vecteurs de support (SVM) dans Matlab. Je suis les instructions du document de Belkin et al. (2006), il y a l'équation:
où V est une fonction de perte et est le poids de la norme de la fonction dans la RHKS (ou norme ambiante), la force une condition de lissage sur les solutions possibles, et est le poids de la norme de la fonction dans le collecteur de faible dimension (ou norme intrinsèque), qui applique un lissage le long du M. échantillonné. Le régularisateur ambiant rend le problème bien posé, et sa présence peut être vraiment utile d'un point de vue pratique lorsque l'hypothèse du collecteur se maintient à un degré moindre .
Il a été montré dans Belkin et al. (2006) que admet une expansion en termes de points de S, La fonction de décision qui fait la distinction entre la classe +1 et -1 est .
Le problème ici est que j'essaie de former SVM à l'aide de LIBSVM dans MATLAB mais je ne veux pas modifier le code d'origine, j'ai donc trouvé la version précalculée de LIBSVM qui, au lieu de prendre les données d'entrée et les groupes de sortie comme paramètres , obtient la matrice Kernal calculée et les groupes de sortie et entraîne le modèle SVM. J'essaie de le nourrir avec la matrice de noyau régularisée (Gram Matrix) et je laisse le reste.
J'ai essayé de trouver la formule qui régularise le Kernal et je suis arrivé à ceci: Définir comme la matrice d'identité avec la même dimension que la matrice du noyau,
Dans laquelle est la matrice du graphe laplacien, est la matrice du noyau et est la matrice d'identité. Et est calculée en utilisant la multiplication interne de deux matrices et .
Y a-t-il quelqu'un qui peut m'aider à comprendre comment cela est calculé?
Réponses:
Bien que je ne l'ai pas testé, en lisant l'article, le problème d'optimisation, à la fois pour SVM et LapSVM , est donné comme suit :Pour SVM :
Alors que pour LapSVM, nous avons les éléments suivants (parenthèses ajoutées pour rendre la relation plus claire):
Nous pouvons définir si:
Dernier:
Je peux confirmer que cela fonctionne. Voir cet exemple avec un noyau gaussien et comment la classeγI=2500 γI=0
virginica
commence à se glisser dans les données non étiquetées lorsque par rapport à , qui est le SVM standard.la source