Ces dernières années, les méthodes du Noyau ont fait l’objet d’une attention particulière, notamment en raison de la popularité croissante des Machines Vectorielles de Support. Les fonctions du noyau peuvent être utilisées dans de nombreuses applications car elles fournissent un pont simple entre la linéarité et la non-linéarité pour les algorithmes qui peuvent être exprimés en termes de produits scalaires. Dans cet article, nous allons énumérer quelques fonctions du noyau et certaines de leurs propriétés.
- Vérifiez le code source de toutes les fonctions du noyau ici.
Bon nombre de ces fonctions ont été incorporées dans Accord.NET , un cadre pour la création d’applications d’apprentissage automatique, de statistiques et de vision par ordinateur.
- Contenu
- Méthodes du noyau
- L’astuce du noyau
- Propriétés du noyau
- Choisir le bon noyau
- Fonctions du noyau
- 1. Noyau linéaire
- 2. Noyau polynomial
- 3. Noyau gaussien
- 4. Noyau exponentiel
- 5. Noyau laplacien
- 6. Noyau ANOVA
- 7. Noyau Tangent Hyperbolique (Sigmoïde)
- 8. Noyau Quadratique Rationnel
- 9. Noyau multiquadrique
- 10. Noyau Multiquadrique Inverse
- 11. Noyau circulaire
- 12. Noyau sphérique
- 13. Noyau d’onde
- 14. Noyau de puissance
- 15. Log Kernel
- 16. Noyau spline
- 17. Noyau B-Spline (Fonction de Base Radiale)
- 18. Noyau de Bessel
- 19. Noyau de Cauchy
- 20. Noyau du Chi Carré
- 21. Noyau d’intersection d’histogramme
- 22. Intersection d’histogrammes généralisée
- 23. Noyau T-Student généralisé
- 24. Noyau bayésien
- 25. Noyau d’ondelettes
- Code source
- Voir aussi
- Citant ce travail
Contenu
- Méthodes du Noyau
- L’Astuce du Noyau
- Propriétés du Noyau
- Choisir le Bon Noyau
- Fonctions du Noyau
- Noyau Linéaire
- Noyau Polynomial
- Noyau Gaussien
- Noyau Exponentiel
- Noyau Laplacien
- Noyau ANOVA
- Noyau Tangent Hyperbolique (Sigmoïde)
- Noyau Quadratique Rationnel
- Noyau Multiquadrique
- Noyau Multiquadrique Inverse
- Noyau Circulaire
- Noyau Sphérique
- Noyau Wave
- Noyau Power
- Noyau Log
- Spline Noyau
- Noyau B-Spline
- Noyau Bessel
- Noyau Cauchy
- Noyau Chi-Carré
- Noyau d’Intersection d’Histogramme
- Noyau d’Intersection d’Histogramme Généralisé
- Noyau T-Student Généralisé
- Noyau Bayésien
- Noyau à Ondelettes
- Code source
- Voir aussi
Méthodes du noyau
Les méthodes du noyau sont une classe d’algorithmes pour l’analyse ou la reconnaissance de motifs, dont l’élément le plus connu est la machine à vecteurs de support (SVM). La tâche générale de l’analyse des modèles est de trouver et d’étudier des types généraux de relations (tels que les clusters, les classements, les composantes principales, les corrélations, les classifications) dans des types généraux de données (telles que des séquences, des documents texte, des ensembles de points, des vecteurs, des images, des graphiques, etc.) (Wikipedia, 2010a).
La principale caractéristique des méthodes du noyau, cependant, est leur approche distincte de ce problème. Les méthodes du noyau mappent les données dans des espaces de dimension supérieure dans l’espoir que dans cet espace de dimension supérieure, les données pourraient être plus facilement séparées ou mieux structurées. Il n’y a pas non plus de contraintes sur la forme de cette cartographie, ce qui pourrait même conduire à des espaces de dimensions infinies. Cette fonction de mappage, cependant, n’a guère besoin d’être calculée à cause d’un outil appelé astuce du noyau.
L’astuce du noyau
L’astuce du noyau est un outil très intéressant et puissant. Il est puissant car il fournit un pont entre la linéarité et la non-linéarité à tout algorithme pouvant s’exprimer uniquement en termes de produits scalaires entre deux vecteurs. Cela vient du fait que, si nous mappons d’abord nos données d’entrée dans un espace de dimension supérieure, un algorithme linéaire opérant dans cet espace se comportera de manière non linéaire dans l’espace d’entrée d’origine.
Maintenant, l’astuce du noyau est vraiment intéressante car ce mappage n’a pas besoin d’être calculé. Si notre algorithme ne peut être exprimé qu’en termes de produit interne entre deux vecteurs, il suffit de remplacer ce produit interne par le produit interne d’un autre espace approprié. C’est là que réside le « truc” : partout où un produit scalaire est utilisé, il est remplacé par une fonction Noyau. La fonction noyau désigne un produit interne dans l’espace des entités et est généralement notée :
K(x, y)=<φ(x), φ(y) >
En utilisant la fonction noyau, l’algorithme peut ensuite être transporté dans un espace de dimension supérieure sans mapper explicitement les points d’entrée dans cet espace. Ceci est hautement souhaitable, car parfois notre espace de caractéristiques de dimension supérieure pourrait même être de dimension infinie et donc irréalisable à calculer.
Propriétés du noyau
Les fonctions du noyau doivent être continues, symétriques et, de préférence, avoir une matrice de Gram (semi-) définie positive. Les noyaux qui sont censés satisfaire le théorème de Mercer sont semi-définis positifs, ce qui signifie que leurs matrices de noyaux n’ont que des valeurs propres non négatives. L’utilisation d’un noyau défini positif garantit que le problème d’optimisation sera convexe et que la solution sera unique.
Cependant, de nombreuses fonctions du noyau qui ne sont pas strictement définies positives se sont également révélées très performantes dans la pratique. Un exemple est le noyau Sigmoïde, qui, malgré son utilisation étendue, n’est pas semi-défini positif pour certaines valeurs de ses paramètres. Boughorbel (2005) a également démontré expérimentalement que les noyaux qui ne sont définis que conditionnellement positifs peuvent éventuellement surpasser la plupart des noyaux classiques dans certaines applications.
Les noyaux peuvent également être classés comme stationnaires anisotropes, stationnaires isotropes, compacts, localement stationnaires, non stationnaires ou non stationnaires séparables. De plus, les noyaux peuvent également être étiquetés invariants à l’échelle ou dépendants de l’échelle, ce qui est une propriété intéressante car les noyaux invariants à l’échelle conduisent le processus d’entraînement invariant à une mise à l’échelle des données.
Choisir le bon noyau
Choisir le noyau le plus approprié dépend fortement du problème à résoudre – et affiner ses paramètres peut facilement devenir une tâche fastidieuse et lourde. La sélection automatique du noyau est possible et est discutée dans les travaux de Tom Howley et Michael Madden.
Le choix d’un noyau dépend du problème à résoudre car il dépend de ce que nous essayons de modéliser. Un noyau polynomial, par exemple, nous permet de modéliser des conjonctions de caractéristiques jusqu’à l’ordre du polynôme. Les fonctions de base radiale permettent de choisir des cercles –ou des hypersphères) – en contraste avec le noyau linéaire, ce qui ne permet que de choisir des lignes (ou des hyperplans).
La motivation derrière le choix d’un noyau particulier peut être très intuitive et simple en fonction du type d’informations que nous attendons d’extraire sur les données. Veuillez consulter les notes finales sur ce sujet de l’Introduction à la recherche d’informations, par Manning, Raghavan et Schütze pour une meilleure explication sur le sujet.
Fonctions du noyau
Voici une liste de certaines fonctions du noyau disponibles dans la littérature existante. Comme c’était le cas avec les articles précédents, chaque notation LaTeX pour les formules ci-dessous est facilement disponible à partir de leur balise html de texte alternatif. Je ne peux pas garantir qu’ils sont tous parfaitement corrects, utilisez-les donc à vos risques et périls. La plupart d’entre eux ont des liens vers des articles où ils ont été initialement utilisés ou proposés.
1. Noyau linéaire
- Documentation du noyau linéaire – code source du noyau linéaire – comment créer des SVM dans .NET avec Accord.NET
Le noyau linéaire est la fonction de noyau la plus simple. Il est donné par le produit interne < x, y > plus une constante optionnelle c. Les algorithmes du noyau utilisant un noyau linéaire sont souvent équivalents à leurs homologues non-noyau, c’est-à-dire que KPCA avec un noyau linéaire est le même que PCA standard.
2. Noyau polynomial
Le noyau polynomial est un noyau non stationnaire. Les noyaux polynomiaux sont bien adaptés aux problèmes où toutes les données d’apprentissage sont normalisées.
Les paramètres réglables sont la pente alpha, le terme constant c et le degré polynomial d.
3. Noyau gaussien
Le noyau gaussien est un exemple de noyau de fonction de base radiale.
Alternativement, il peut également être implémenté en utilisant
Le paramètre réglable sigma joue un rôle majeur dans les performances du noyau et doit être soigneusement ajusté au problème en question. Si elle est surestimée, l’exponentielle se comportera presque linéairement et la projection de dimension supérieure commencera à perdre sa puissance non linéaire. En revanche, si elle est sous-estimée, la fonction ne sera pas régularisée et la limite de décision sera très sensible au bruit dans les données d’entraînement.
4. Noyau exponentiel
Le noyau exponentiel est étroitement lié au noyau Gaussien, seul le carré de la norme étant omis. C’est aussi un noyau de fonction de base radiale.
5. Noyau laplacien
Le noyau Laplace est complètement équivalent au noyau exponentiel, sauf qu’il est moins sensible aux modifications du paramètre sigma. Étant équivalent, c’est aussi un noyau de fonction de base radiale.
Il est important de noter que les observations faites sur le paramètre sigma pour le noyau gaussien s’appliquent également aux noyaux exponentiels et laplaciens.
6. Noyau ANOVA
Le noyau ANOVA est également un noyau de fonction de base radiale, tout comme les noyaux gaussiens et laplaciens. On dit qu’il fonctionne bien dans les problèmes de régression multidimensionnelle (Hofmann, 2008).
7. Noyau Tangent Hyperbolique (Sigmoïde)
Le Noyau Tangent Hyperbolique est également connu sous le nom de Noyau Sigmoïde et de noyau de Perceptron Multicouche (MLP). Le Noyau Sigmoïde provient du champ des réseaux de neurones, où la fonction sigmoïde bipolaire est souvent utilisée comme fonction d’activation des neurones artificiels.
Il est intéressant de noter qu’un modèle SVM utilisant une fonction de noyau sigmoïde équivaut à un réseau neuronal perceptron à deux couches. Ce noyau était très populaire pour les machines vectorielles de support en raison de son origine de la théorie des réseaux de neurones. En outre, bien qu’il ne soit défini que conditionnellement positif, il s’est avéré performant dans la pratique.
Il y a deux paramètres réglables dans le noyau sigmoïde, la pente alpha et la constante d’interception c. Une valeur commune pour alpha est 1/N, où N est la dimension des données. Une étude plus détaillée sur les noyaux sigmoïdes peut être trouvée dans les travaux de Hsuan-Tien et Chih-Jen.
8. Noyau Quadratique Rationnel
Le noyau quadratique Rationnel nécessite moins de calculs que le noyau Gaussien et peut être utilisé comme alternative lorsque l’utilisation de la Gaussienne devient trop coûteuse.
9. Noyau multiquadrique
Le noyau Multiquadrique peut être utilisé dans les mêmes situations que le noyau quadratique rationnel. Comme c’est le cas avec le noyau Sigmoïde, c’est aussi un exemple de noyau défini non positif.
10. Noyau Multiquadrique Inverse
Le noyau Multiquadrique Inverse. Comme pour le noyau gaussien, il en résulte une matrice de noyau de rang complet (Micchelli, 1986) et forme ainsi un espace caractéristique de dimension infinie.
11. Noyau circulaire
Le noyau circulaire est utilisé dans les applications géostatiques. C’est un exemple de noyau stationnaire isotrope et est défini positif en R2.
12. Noyau sphérique
Le noyau sphérique est similaire au noyau circulaire, mais est défini positivement dans R3.
13. Noyau d’onde
Le noyau d’onde est également semi-défini positif symétrique (Huang, 2008).
14. Noyau de puissance
Le noyau de puissance est également connu sous le nom de noyau triangulaire (non corrigé). C’est un exemple de noyau invariant à l’échelle (Sahbi et Fleuret, 2004) et n’est également défini que conditionnellement positif.
15. Log Kernel
Le noyau Log semble particulièrement intéressant pour les images, mais n’est défini que conditionnellement positif.
16. Noyau spline
Le noyau Spline est donné comme un polynôme cubique par morceau, tel que dérivé dans les travaux de Gunn (1998).
Cependant, ce que cela signifie réellement est:
17. Noyau B-Spline (Fonction de Base Radiale)
Le noyau B-Spline est défini sur l’intervalle. Il est donné par la formule récursive:
Dans le travail de Bart Hamers, il est donné par:
Alternativement, Bn peut être calculé en utilisant l’expression explicite (Fomel, 2000):
Où x+ est défini comme la fonction de puissance tronquée:
18. Noyau de Bessel
Le noyau de Bessel est bien connu dans la théorie des espaces fonctionnels de lissage fractionnaire. Elle est donnée par :
où J est la fonction de Bessel de premier type. Cependant, dans le Kernlab pour la documentation R, le noyau de Bessel est dit :
19. Noyau de Cauchy
Le noyau de Cauchy provient de la distribution de Cauchy (Basak, 2008). C’est un noyau à longue queue et peut être utilisé pour donner une influence et une sensibilité à longue portée sur l’espace de grande dimension.
20. Noyau du Chi Carré
Le noyau du Chi Carré provient de la distribution du Chi Carré:
Cependant, comme l’a noté le commentateur Alexis Mignon, cette version du noyau n’est que conditionnellement positive-définie (CPD). Une version définie positive de ce noyau est donnée dans (Vedaldi et Zisserman, 2011) sous la forme
et peut être utilisée par des méthodes autres que les machines vectorielles de support.
21. Noyau d’intersection d’histogramme
Le Noyau d’intersection d’histogramme est également connu sous le nom de Noyau Min et s’est avéré utile dans la classification des images.
22. Intersection d’histogrammes généralisée
Le noyau d’intersection d’histogrammes généralisés est construit sur la base du Noyau d’intersection d’histogrammes pour la classification des images, mais s’applique dans une plus grande variété de contextes (Boughorbel, 2005). Il est donné par :
23. Noyau T-Student généralisé
Le Noyau T-Student généralisé s’est avéré être un Noyau Mercel, ayant ainsi une matrice de noyau semi-définie positive (Boughorbel, 2004). Il est donné par:
24. Noyau bayésien
Le noyau bayésien peut être donné comme suit :
où
Cependant, cela dépend vraiment du problème modélisé. Pour plus d’informations, veuillez consulter les travaux d’Alashwal, Deris et Othman, dans lesquels ils ont utilisé un SVM avec des noyaux bayésiens dans la prédiction des interactions protéine-protéine.
25. Noyau d’ondelettes
Le noyau d’ondelettes (Zhang et al, 2004) provient de la théorie des ondelettes et est donné comme suit :
Où a et c sont les coefficients de dilatation des ondelettes et de translation, respectivement (la forme présentée ci-dessus est une simplification, veuillez consulter l’article original pour plus de détails). Une version invariante en traduction de ce noyau peut être donnée comme suit :
Où dans les deux h(x) désigne une fonction d’ondelettes mère. Dans l’article de Li Zhang, Weida Zhou et Licheng Jiao, les auteurs suggèrent un h(x) possible comme:
Qu’ils prouvent également comme une fonction de noyau admissible.
Code source
La dernière version du code source pour presque tous les noyaux énumérés ci-dessus est disponible dans le Accord.NET Cadre. Certains sont également disponibles dans la suite de cet article, Le noyau Supporte les Machines Vectorielles pour la Classification et la régression en C#. Ils sont fournis avec une implémentation complète et simple de SVM (Support Vector Machines) en C#. Cependant, pour les sources les plus récentes, qui peuvent contenir des corrections de bugs et d’autres améliorations, veuillez télécharger la version la plus récente disponible de Accord.NET .
Voir aussi
- Machines Vectorielles de Support du Noyau (kSVMs)
- Analyse en Composantes Principales (PCA)
- Analyse en Composantes Principales du Noyau (KPCA)
- Analyse Discriminante Linéaire (LDA)
- Analyse Discriminante Non Linéaire avec Noyaux (KDA)
- Analyse de Régression Logistique en C#
- Accord.NET Framework : Calcul scientifique en .NET
- Haar – détection d’objets en C# (Le Classificateur Viola-Jones)
- Reconnaissance de l’Écriture Manuscrite à l’aide de l’Analyse Discriminante du Noyau
- Reconnaissance de l’Écriture Manuscrite Revisitée: Support du Noyau Machines Vectorielles
- Analyse de Régression Logistique
- Contributeurs Wiki de Prédiction En ligne. » Méthodes du noyau. » Wiki de prédiction en ligne. http://onlineprediction.net/?n=Main.KernelMethods (consulté le 3 mars 2010).
- Genton, Marc G. « Classes de noyaux pour l’apprentissage Automatique: Une perspective statistique. »Journal of Machine Learning Research 2 (2001) 299-312.
- Hofmann, T., B. Schölkopf et A. J. Smola. « Méthodes du noyau dans l’apprentissage automatique.” Ann. Étatiste. Volume 36, Numéro 3 (2008), 1171-1220.
- Gunn, S. R. (1998, mai). « Supporte les machines vectorielles pour la classification et la régression. »Rapport technique, Faculté d’Ingénierie, de Sciences et de Mathématiques École d’Électronique et d’Informatique.
- Karatzoglou, A., Smola, A., Hornik, K. et Zeileis, A. « Kernlab – un paquet R pour l’apprentissage du noyau.” (2004).
- Karatzoglou, A., Smola, A., Hornik, K. et Zeileis, A. « Kernlab – an S4 package for kernel methods in R. » J. Statistical Software, 11, 9 (2004).
- Karatzoglou, A., Smola, A., Hornik, K. et Zeileis, A. « R: Fonctions du noyau. » Documentation pour le paquet ‘kernlab’ version 0.9-5. http://rss.acs.unt.edu/Rdoc/library/kernlab/html/dots.html (consulté le 3 mars 2010).
- Howley, T. et Madden, M.G. « The genetic kernel support vector machine: Description et évaluation ». Revue de l’intelligence artificielle. Volume 24, Numéro 3 (2005), 379-395.
- Shawkat Ali et Kate A. Smith. « Sélection de la Largeur du Noyau pour la classification SVM: Une approche de Méta-Apprentissage. »International Journal of Data Warehousing &Mining, 1(4), 78-97, Octobre-décembre 2005.
- Hsuan-Tien Lin et Chih-Jen Lin. « Une étude sur les noyaux sigmoïdes pour SVM et la formation des noyaux non PSD par des méthodes de type SMO. »Rapport technique, Département d’informatique, Université Nationale de Taiwan, 2003.
- Boughorbel, S., Jean-Philippe Tarel et Nozha Boujemaa. » Projet – Imedia : Reconnaissance d’objets. » INRIA – Rapports d’activité INRIA – RalyX. http://ralyx.inria.fr/2004/Raweb/imedia/uid84.html (consulté le 3 mars 2010).
- Huang, Lingkang. « Sélection de Variables dans une Machine Vectorielle de Support Multi-classes et Applications dans l’Analyse de Données Génomiques. » Thèse de doctorat, 2008.
- Manning, Christopher D., Prabhakar Raghavan et Hinrich Schütze. » SVM non linéaires. »Le Groupe Stanford NLP (Natural Language Processing). http://nlp.stanford.edu/IR-book/html/htmledition/nonlinear-svms-1.html (consulté le 3 mars 2010).
- Fomel, Sergey. » Interpolation B-spline inverse. » Projet d’exploration de Stanford, 2000. http://sepwww.stanford.edu/public/docs/sep105/sergey2/paper_html/node5.html (consulté le 3 mars 2010).
- Basak, Jayanta. « Une machine à noyau le moins carré avec des contraintes de boîte. »Conférence Internationale sur la Reconnaissance des formes 2008 1 (2008): 1-4.
- Alashwal, H., Safaai Deris et Razib M. Othman. » Un Noyau Bayésien pour la Prédiction des Interactions Protéine–Protéine. »International Journal of Computational Intelligence 5, no. 2 (2009): 119-124.
- Hichem Sahbi et François Fleuret. « Méthodes du noyau et invariance d’échelle à l’aide du noyau triangulaire”. Rapport de recherche INRIA, N-5143, mars 2004.
- Sabri Boughorbel, Jean-Philippe Tarel et Nozha Boujemaa. « Noyau d’intersection d’histogrammes généralisé pour la reconnaissance d’images »” Actes de la Conférence de 2005 sur le Traitement de l’image, volume 3, pages 161-164, 2005.
- Micchelli, Charles. Interpolation de données dispersées: Matrices de distance et fonctions définies conditionnellement positives. Approximation constructive 2, no 1 (1986): 11-22.
- Contributeurs de Wikipédia, « Méthodes du noyau », Wikipédia, L’Encyclopédie libre, http://en.wikipedia.org/w/index.php?title=Kernel_methods&oldid=340911970 (consulté le 3 mars 2010).
- Contributeurs de Wikipédia, ”Kernel trick », Wikipedia, L’Encyclopédie libre, http://en.wikipedia.org/w/index.php?title=Kernel_trick&oldid=269422477 (consulté le 3 mars 2010).
- Weisstein, Eric W. « Matrice semi-définie positive. »De MathWorld – Une Ressource Web Wolfram. http://mathworld.wolfram.com/PositiveSemidefiniteMatrix.html
- Hamers B. « Kernel Models for Large Scale Applications », Ph.D., Katholieke Universiteit Leuven, Belgique, 2004.
- Li Zhang, Weida Zhou, Licheng Jiao. Machine Vectorielle De Support d’Ondelettes. Transactions IEEE sur le Système, l’Homme et la cybernétique, Partie B, 2004, 34(1): 34-39.
- Vedaldi, A. et Zisserman, A. Noyaux Additifs efficaces via des Cartes d’entités Explicites. IEEE Transactions on Pattern Recognition and Machine Intelligence, Vol. XX, Non. XX, juin 2011.
Citant ce travail
Si vous le souhaitez, veuillez citer ce travail comme suit: Souza, César R. « Fonctions du noyau pour les applications d’apprentissage automatique. » 17 Mars. 2010. Web. <http://crsouza.blogspot.com/2010/03/kernel-functions-for-machine-learning.html> .