Kernel trick

Kernel trick

En apprentissage automatique, le kernel trick (l'astuce du noyau) est une méthode qui consiste à utiliser un classifieur linéaire pour résoudre un problème non-linéaire, en transformant l'espace de représentation des données d'entrées en un espace de plus grande dimension, où le classifieur linéaire est alors utilisé. La discrimination linéaire dans l'espace de grande dimension (appelé aussi espace de redescription) est équivalente à une discrimination non-linéaire dans l'espace d'origine. Le kernel trick a été publié en 1964 par Aizerman et al.[1]

L'astuce du noyau s'utilise dans un algorithme qui ne dépend que du produit scalaire entre 2 vecteurs d'entrée x et y. Après passage à un espace de redescription par une transformation φ, l'algorithme n'est plus dépendant que du produit scalaire:

\varphi(x)\cdot\varphi(y)

Le problème de ce produit scalaire est qu'il est effectué dans un espace de grande dimension, ce qui conduit à des calculs impraticables. L'idée est donc de remplacer ce calcul par une fonction noyau telle que:

K(x,y) = \varphi(x)\cdot\varphi(y)

Pour réaliser cela, on utilise le théorème de Mercer, qui montre qu'étant donné une fonction noyau continue, symétrique, semi-définie positive K(x, y), elle peut s'exprimer comme un produit scalaire dans un espace de grande dimension.

Plus précisément, si les arguments de la fonction noyau sont à valeurs dans un espace mesurable X, et si le noyau est semi-défini positif, — i.e.

\sum_{i,j} K(x_i,x_j) c_i c_j \ge 0

pour tout sous-ensemble {x1, ..., xn} de X, et sous-ensemble {c1, ..., cn} d'objets (en général des réels) — alors il existe une fonction φ(x) dont l'image correspond à un espace préhilbertien possiblement de plus grande dimension tel que:

K(x,y) = \varphi(x)\cdot\varphi(y).

L'astuce du noyau consiste donc à remplacer un produit scalaire dans un espace de grande dimension par une fonction noyau, facile à calculer. De cette manière, un classifieur linéaire peut facilement être transformé en un classifieur non linéaire. Un autre avantage des fonctions noyau est qu'il n'est pas nécessaire d'expliciter la transformation φ. Celle-ci peut même transformer l'espace d'entrée en un espace de redescription infini, comme le noyau gaussien:

K(\mathbf{x},\mathbf{y})=\exp\left(- \frac{\|\mathbf{x} - \mathbf{y}\|^2}{2 \sigma^2}\right)

Après avoir été longuement négligée après la publication d'Aizerman de 1964, l'astuce du noyau a été popularisée par Boser at al. dans leur papier fondateur sur les Machine à vecteurs de support[2]. L'idée a depuis été appliquée à plusieurs types d'algorithmes en apprentissage automatique et en statistiques:

Voir aussi

Bibliographie

  • (en) Bernhard Schölkopf, Alexander J. Smola, Learning With Kernels: Support Vector Machines, Regularization, Optimization and Beyond, 2002, MIT Press.

Références

  1. (en)M. Aizerman, E. Braverman, and L. Rozonoer, « Theoretical foundations of the potential function method in pattern recognition learning », dans Automation and Remote Control, vol. 25, 1964, p. 821-837 
  2. (en) Bernhard E. Boser, Isabelle M. Guyon, Vladimir N. Vapnik, A Training Algorithm for Optimal Margin Classifiers In Fifth Annual Workshop on Computational Learning Theory, pages 144--152, Pittsburgh, ACM. 1992

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Kernel trick de Wikipédia en français (auteurs)

Игры ⚽ Поможем написать курсовую

Regardez d'autres dictionnaires:

  • Kernel trick — In machine learning, the kernel trick is a method for using a linear classifier algorithm to solve a non linear problem by mapping the original non linear observations into a higher dimensional space, where the linear classifier is subsequently… …   Wikipedia

  • Kernel — may refer to:Computing* Kernel (computer science), the central component of most operating systems ** Linux kernel * Kernel (programming language), a Scheme like language * kernel trick, in machine learningLiterature* Kernel ( Lilo Stitch ),… …   Wikipedia

  • Kernel principal component analysis — (kernel PCA) is an extension of principal component analysis (PCA) using techniques of kernel methods. Using a kernel, the originally linear operations of PCA are done in a reproducing kernel Hilbert space with a non linear mapping.ExampleThe two …   Wikipedia

  • Kernel methods — (KMs) are a class of algorithms for pattern analysis, whose best known elementis the Support Vector Machine (SVM). The general task of pattern analysis is to find and study general types of relations (for example clusters, rankings, principal… …   Wikipedia

  • Kernel (mathematics) — In mathematics, the word kernel has several meanings. Kernel may mean a subset associated with a mapping:* The kernel of a mapping is the set of elements that map to the zero element (such as zero or zero vector), as in kernel of a linear… …   Wikipedia

  • Reproducing kernel Hilbert space — In functional analysis (a branch of mathematics), a reproducing kernel Hilbert space is a Hilbert space of functions in which pointwise evaluation is a continuous linear functional. Equivalently, they are spaces that can be defined by reproducing …   Wikipedia

  • Machine a vecteurs de support — Machine à vecteurs de support Les machines à vecteurs de support ou séparateurs à vaste marge (en anglais Support Vector Machine, SVM) sont un ensemble de techniques d apprentissage supervisé destinées à résoudre des problèmes de… …   Wikipédia en Français

  • Machine À Vecteurs De Support — Les machines à vecteurs de support ou séparateurs à vaste marge (en anglais Support Vector Machine, SVM) sont un ensemble de techniques d apprentissage supervisé destinées à résoudre des problèmes de discrimination[1] et de régression. Les SVM… …   Wikipédia en Français

  • Machine à vecteur de support — Machine à vecteurs de support Les machines à vecteurs de support ou séparateurs à vaste marge (en anglais Support Vector Machine, SVM) sont un ensemble de techniques d apprentissage supervisé destinées à résoudre des problèmes de… …   Wikipédia en Français

  • Machine à vecteurs de support — Les machines à vecteurs de support ou séparateurs à vaste marge (en anglais Support Vector Machine, SVM) sont un ensemble de techniques d apprentissage supervisé destinées à résoudre des problèmes de discrimination[note 1] et de régression. Les… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”