Apprentissage automatique Méthodes à noyaux - motivation
MODÉLISATION NON-LINÉAIRE prédicteur non-linéaire On a vu plusieurs algorithmes qui produisent des modèles linéaires (régression ou classification) Malheureusement, pas tous les problèmes peuvent être résolus avec un modèle linéaire Par contre, on peut obtenir des modèles non-linéaires à l aide de fonctions de base non-linéaires 2
FONCTION DE BASE fonctions de base polynomiales Exemple : fonctions de bases polynomiales (1D) j(x) =x j t 1 0 RAPPEL M = 9 On retrouve alors la régression polynomiale 1 0 x 1 3
APPROCHE PROBABILISTE DISCRIMINANTE 1 fonctions de bases 1 RAPPEL 2 fonctions de bases gaussiennes j x 2 φ 2 { (x µ j) 2 } 0 µ 2 0.5 exp 2s 2 1 µ 1 0 1 0 1 x 1 espace représenté par x 0 0.5 1 φ 1 espace représenté par 4
MÉTHODES À NOYAUX noyau, méthodes à noyaux On va maintenant voir une façon très simple d introduire des fonctions de bases non-linéaires dans un modèle linéaire les fonctions de bases vont être définies implicitement (pas besoin de représenter explicitement en mémoire (x)!) on aura seulement à calculer une comparaison k(x, x 0 ) entre les entrées x et x 0 La fonction k(x, x 0 ) est appelée un noyau les algorithmes utilisant un noyau sont appelées méthodes à noyaux 5
Apprentissage automatique Méthodes à noyaux - représentation duale (régression)
RÉGRESSION régression Revenons au problème de la régression (régularisée) : { } J(w) = 1 2 N n=1 { w T φ(x n ) t n } 2 + λ 2 wt w Si on fixe le gradient par rapport à w à 0, on observe que w = 1 λ N n=1 { w T φ(x n ) t n } φ(xn ) = N n=1 a n φ(x n ) = Φ T a 7
} RÉGRESSION régression Donc, la solution w est simplement une somme pondérée des entrées x n dans l ensemble d entraînement w = N n=1 a n φ(x n ) = Φ T a where Φ is the desi a = (a 1,..., a N ) T où chaque a n est la contribution de (x n ) à la solution Idée : plutôt qu optimiser par rapport à w, optimisons par rapport à a 8
{ } REPRÉSENTATION DUALE représentation duale Si on remplace w par obtient Φ T a, on peut démontrer qu on J(a) = 1 2 at ΦΦ T ΦΦ T a a T ΦΦ T t + 1 2 tt t + λ 2 at ΦΦ T a C est la représentation duale de J(w) 9
REPRÉSENTATION DUALE représentation duale, matrice de Gram Si on remplace w par obtient Φ T a, on peut démontrer qu on J(a) = 1 2 at KKa a T Kt + 1 2 tt t + λ 2 at Ka. On va aussi noter φ(x n ) T φ(x m ) = k(x n, x m ) La matrice de Gram K contient tous les K nm ) = k(x n, x m ) 10 de l ensemble d entraînement
REPRÉSENTATION DUALE représentation duale Si on remplace w par obtient Φ T a, on peut démontrer qu on J(a) = 1 2 at KKa a T Kt + 1 2 tt t + λ 2 at Ka. En fixant à 0 les gradients par rapport à a, on obtient a = (K + λi N ) 1 t. 11
REPRÉSENTATION DUALE représentation duale Pour faire une prédiction : y(x) = w T φ(x) = a T Φφ(x) = k(x) T (K + λi N ) 1 t où k(x) =(k(x 1, x),...,k(x N, x)) T 12
RÉGRESSION À NOYAU régression à noyau Algorithme de régression à noyau entraînement : prédiction : a = (K + λi N ) 1 t. y(x) =k(x) T a Pour exécuter cet algorithme, on a seulement besoin de calculer les produits scalaires du noyau φ(x n ) T φ(x m ) = k(x n, x m ) 13 Par contre, on doit toujours avoir accès aux entrées de l ensemble d entraînement
Apprentissage automatique Méthodes à noyaux - astuce du noyau
RÉGRESSION À NOYAU régression à noyau Algorithme de régression à noyau entraînement : prédiction : a = (K + λi N ) 1 t. y(x) =k(x) T a Pour exécuter cet algorithme, on a seulement besoin de calculer les produits scalaires du noyau φ(x n ) T φ(x m ) = k(x n, x m ) 15
ASTUCE DU NOYAU astuce du noyau L astuce du noyau vise à exploiter cet observation peut-on définir des noyaux tels que calculer k(x n,x m ) est plus efficace que de calculer (x n ) et (x m ) et ensuite faire (x n ) T (x m )? 16
ASTUCE DU NOYAU astuce du noyau La réponse est oui! Exemple (D=2): 3 multiplications et 1 addition k(x, z) = ( x T z ) 2 = (x1 z 1 + x 2 z 2 ) 2 = x 2 1z 2 1 + 2x 1 z 1 x 2 z 2 + x 2 2z 2 2 = (x 2 1, 2x 1 x 2, x 2 2)(z 2 1, 2z 1 z 2, z 2 2) T = φ(x) T φ(z). 2 fois 4 multiplications (construire (x) et (z) ) suivi de 3 multiplications et 2 additions (produit scalaire) 17
( ) NOYAU POLYNOMIAL noyau polynomial Une forme générale est le noyau polynomial k(x, x ) = ( x T x + c ) M bining kernels we see that où c est une constante >0 On peut montrer que le (x) implicite contient tous les produits possibles entre au plus M éléments de x (x) =(c 0, 18
( ) NOYAU POLYNOMIAL noyau polynomial Une forme générale est le noyau polynomial k(x, x ) = ( x T x + c ) M bining kernels we see that où c est une constante >0 On peut montrer que le (x) implicite contient tous les produits possibles entre au plus M éléments de x (x) =(c 0, c 1 x 1,...,c D x D, 18
( ) NOYAU POLYNOMIAL noyau polynomial Une forme générale est le noyau polynomial k(x, x ) = ( x T x + c ) M bining kernels we see that où c est une constante >0 On peut montrer que le (x) implicite contient tous les produits possibles entre au plus M éléments de x (x) =(c 0, c 1 x 1,...,c D x D, c 11 x 2 1,c 12 x 1 x 2,..., 18
( ) NOYAU POLYNOMIAL noyau polynomial Une forme générale est le noyau polynomial k(x, x ) = ( x T x + c ) M bining kernels we see that où c est une constante >0 On peut montrer que le (x) implicite contient tous les produits possibles entre au plus M éléments de x (x) =(c 0, c 1 x 1,...,c D x D, c 11 x 2 1,c 12 x 1 x 2,..., c 111 x 3 1,c 112 x 2 1x 2,c 123 x 1 x 2 x 3,...) 18
MALÉDICTION DE LA DIMENSIONNALITÉ nombre de paramètres Notre modèle de régression aura plus de paramètres RAPPEL D D D D D D y(x, w) = w 0 + w i x i + w ij x i x j + w ijk x i x j x k. i=1 i=1 j=1 i=1 j=1 k=1 pour M = 3,on a maintenant 1 + D + D 2 + D 3 paramètres De façon générale, augmente selon O(D M )! pour D=100, M=3, on a déjà plus d un million de paramètres 19
MALÉDICTION DE LA DIMENSIONNALITÉ nombre de paramètres Notre modèle de régression aura plus de paramètres RAPPEL D D D D D D y(x, w) = w 0 + w i x i + w ij x i x j + w ijk x i x j x k. i=1 i=1 j=1 i=1 j=1 k=1 pour M = 3,on a maintenant 1 + D + D 2 + D 3 paramètres De façon générale, augmente selon O(D M )! pour D=100, M=3, on a déjà plus d un million de paramètres 19
MALÉDICTION DE LA DIMENSIONNALITÉ nombre de paramètres Notre modèle de régression aura plus de paramètres RAPPEL D D D D D D y(x, w) = w 0 + w i x i + w ij x i x j + w ijk x i x j x k. i=1 i=1 j=1 i=1 j=1 k=1 pour M = 3,on a maintenant 1 + D + D 2 + D 3 paramètres On n a plus à apprendre un De façon générale, paramètre augmente w explicitement selon O(D M )!! pour D=100, M=3, on a déjà plus d un million de paramètres 19
MALÉDICTION DE LA DIMENSIONNALITÉ La difficulté à bien généraliser peut donc potentiellement augmenter exponentiellement avec la dimensionnalité D des entrées malédiction de la dimensionnalité RAPPEL Cette observation est appelée la malédiction de la dimensionnalité 20 Nécessite le design de modèles / algorithmes appropriés pour chaque problème on cherche des modèles / algorithmes qui vont bien exploiter les données à notre disposition
MALÉDICTION DE LA DIMENSIONNALITÉ La difficulté à bien généraliser peut donc potentiellement augmenter exponentiellement avec la dimensionnalité D des entrées malédiction de la dimensionnalité RAPPEL Cette observation est appelée la malédiction de la On risque quand même d être victime de sur-apprentissage, dimensionnalité lorsque la dimensionnalité (implicite) de augmente (x) 20 Nécessite le design de modèles / algorithmes appropriés pour chaque problème on cherche des modèles / algorithmes qui vont bien exploiter les données à notre disposition
Apprentissage automatique Méthodes à noyaux - construction de noyaux
ASTUCE DU NOYAU astuce du noyau L astuce du noyau vise à exploiter cet observation peut-on définir des noyaux tels que calculer k(x n,x m ) est plus efficace que de calculer (x n ) et (x m ) et ensuite faire (x n ) T (x m )? 22
( ) NOYAU POLYNOMIAL noyau polynomial Une forme générale est le noyau polynomial k(x, x ) = ( x T x + c ) M bining kernels we see that où c est une constante >0 On peut montrer que le (x) implicite contient tous les produits possibles entre au plus M éléments de x (x) =(c 0, c 1 x 1,...,c D x D, c 11 x 2 1,c 12 x 1 x 2,..., c 111 x 3 1,c 112 x 2 1x 2,c 123 x 1 x 2 x 3,...) 23
CONSTRUCTION DE NOYAUX construction de noyau Règles pour construire de nouveaux noyaux valides k(x, x ) = ck 1 (x, x ) k(x, x ) = f(x)k 1 (x, x )f(x ) k(x, x ) = q (k 1 (x, x )) k(x, x ) = exp (k 1 (x, x )) k(x, x ) = k 1 (x, x ) + k 2 (x, x ) (x x ) = (x x ) (x x ) où c>0, f(x) est une fonction, q(a) est un polynôme avec coefficients positifs, A est une matrice définie positive et x=(x a,x b ). Les noyaux k 1, k 2, k 3, k a et k b doivent être valides. k(x, x ) = k 1 (x, x )k 2 (x, x ) k(x, x ) = k 3 (φ(x), φ(x )) k(x, x ) = x T Ax k(x, x ) = k a (x a, x a) + k b (x b, x b) k(x, x ) = k a (x a, x a)k b (x b, x b) ( ) ( ) 24
CONSTRUCTION DE NOYAUX construction de noyau Exemple : ck 1 (x, x 0 ) où c>0 ck 1 (x, x 0 )=c 1 (x) T 1 (x 0 ) = p c 1 (x) T p c 1 (x 0 ) = (x) T (x 0 ) 25
NOYAU GAUSSIEN noyau gaussien Un noyau souvent utilisé est le noyau gaussien : k(x, x ) = exp ( x x 2 /2σ 2) Est valide puisque : x x 2 = x T x + (x ) T x 2x T x ( ) ( ) ( k(x, x ) = exp ( x T x/2σ 2) exp ( x T x /σ 2) exp ( (x ) T x /2σ 2) 26
NOYAU GAUSSIEN noyau gaussien Un noyau souvent utilisé est le noyau gaussien : k(x, x ) = exp ( x x 2 /2σ 2) k(x, x ) = ck 1 (x, x ) (x x ) = (x) (x x ) (x ) Est valide puisque : x x 2 = x T x + (x ) T x 2x T x { ( ) ( ) ( k(x, x ) = exp ( x T x/2σ 2) exp ( x T x /σ 2) exp ( (x ) T x /2σ 2) 26
NOYAU GAUSSIEN noyau gaussien Un noyau souvent utilisé est le noyau gaussien : k(x, x ) = exp ( x x 2 /2σ 2) Est valide puisque : k(x, x ) = ck 1 (x, x ) k(x, x ) = exp (x)(k ) (x 1 (x, x )) ) (x x ) = (x x ) + (x x x x 2 = x T x + (x ) T x 2x T x { { ( ) ( ) ( k(x, x ) = exp ( x T x/2σ 2) exp ( x T x /σ 2) exp ( (x ) T x /2σ 2) 26
NOYAU GAUSSIEN noyau gaussien Un noyau souvent utilisé est le noyau gaussien : k(x, x ) = exp ( x x 2 /2σ 2) Est valide puisque : x x 2 = x T x + (x ) T x 2x T x k(x, x ) = ck 1 (x, x ) k(x, x ) = exp (x)(k ) (x 1 (x, x )) ) k(x, x ) = f(x)k x ) + x 1 (x, x )f(x ) (x x ) = ( (x x )) { { ( ) ( ) ( k(x, x ) = exp ( x T x/2σ 2) exp ( x T x /σ 2) exp ( (x ) T x /2σ 2) 26
NOYAU GAUSSIEN noyau gaussien Un noyau souvent utilisé est le noyau gaussien : k(x, x ) = exp ( x x 2 /2σ 2) On peut même montrer que le taille infinie! (x) est un vecteur de 27
CONSTRUCTION DE NOYAUX construction de noyaux On peut également définir des noyaux pour des entrées qui ne sont pas des vecteurs x de taille fixe chaînes de caractères ensembles de vecteurs etc. Noyau de Fisher : un paradigme pour dériver de nouveaux noyaux à partir de modèles probabilistes génératifs voir fin de la section 6.2 28
Apprentissage automatique Méthodes à noyaux - résumé
RÉGRESSION À NOYAU résumé de la régression à noyau Modèle : y(x) = w T φ(x) = k(x) T a = p(t x, )=N(t y(x), 1 ) NX n=1 a n k(x, x n ) Entraînement : a = (K + λi N ) 1 t. Hyper-paramètres : λ et ceux dans le noyau k(x,x n ) c et M pour le noyau polynomial 2 pour le noyau gaussien 30 Prédiction : y(x)
( ) CAPACITÉ ET NOYAU lien entre capacité et noyau( ) Modèle : y(x) = w T φ(x) = k(x) T a = NX n=1 a n k(x, x n ) Noyau polynomial k(x, x ( ) = x T x ) M + c bining kernels we see that plus M est grand, plus le modèle a de la capacité Noyau gaussien k(x, x ( ) = exp x x 2 /2σ 2) 2 plus est petit, plus le modèle a de la capacité 31