SPLEX Statistiques pour la classification et fouille de données en génomique Classification Linéaire Binaire CLB Pierre-Henri WUILLEMIN DEcision, Système Intelligent et Recherche opérationnelle LIP6 pierre-henri.wuillemin@lip6.fr http://webia.lip6.fr/~phw/splex Classification linéaire binaire CLB Définition CLB C = { -, + } Π D. C. D Ĉ. C w R d, w 0 R, f : R C, d x R d, Ĉx = f w i x i + w 0 Le problème d apprentissage : trouver w, w 0 et f. Modèles génératifs, modèles discriminants Modèles génératifs : classification grâce à une estimation de Px, y à partir de Π a et des connaissances a priori. Classifieur bayésien ML, MAP Classifieur bayésien naïf Discriminant linéaire de Fisher Modèles discriminants : estimation directe des w, w 0 à partir de Π a. Régression logistique Perceptron SVM SPLEX Statistiques pour la classification et fouille de données en génomique Classification Linéaire Binaire CLB 2 / 20 Le classifieur bayésien naïf binaire est un CLB? Classifieur bayésien naïf Ici, y 0 = - et y 1 = +. y = arg max y i P + d k=1 Px k + Py i d Px k y i k=1 Soit Rx = P - d k=1 Px k - Si Rx > 1 alors Ĉx = ^+ sinon Ĉx = ^- 1 si u < 0 Donc Ĉx = σ log Rx où σu = 0 si u = 0 +1 sinon Il vient alors P + d Ĉx = σ log P - + log Px k + Px k - Suite évidente dans le cas binomial D = { -, + } d. SPLEX Statistiques pour la classification et fouille de données en génomique Classification Linéaire Binaire CLB 3 / 20 k=1
Discrimination linéaire - cas gaussien Cadre gaussien CLB Modèle : Ĉx = σ gx = σ g + x g - x Régions { de décision } : } c ^-, ^+, R c = {x D, Ĉx = c } Frontière de décision : F = {x D, Ĉx = 0 Multinormalité : c { -, + }, Px c N µ c, Σ c Si homoscédasticité : c, Σ c = Σ alors, la fonction discriminante devient linéaire : avec x 0 = 1 2 µ + + µ - + gx = µ + µ - t Σ 1 x x 0 1 µ + µ - t Σ 1 µ + µ - P + log P - µ + µ - SPLEX Statistiques pour la classification et fouille de données en génomique Classification Linéaire Binaire CLB 4 / 20 Rappels de géométrie Soit yx = d w i x i + w 0 Ĉx = f yx, on peut également écrire : yx = w x + w 0 avec yx = 0 l équation d un hyperplan H a, b H, ya = yb = 0 ya yb = w a b = 0 w est un vecteur normal à H. Soit x H et x H sa projection perpendiculaire sur H, x x H est donc colinéaire à w, Soit r R, x x H = r w où r est la distance de x à H. w x = x H + r w x = w x H + r w w = w x H + r 2 yx = w x + w 0 = w x H + w 0 + r = yx H + r = r = w x H + r distance de x à H : r = yx W SPLEX Statistiques pour la classification et fouille de données en génomique Classification Linéaire Binaire CLB 5 / 20 Rappels de géométrie yx > 0 yx = 0 yx yx < 0 x w x H O w 0 SPLEX Statistiques pour la classification et fouille de données en génomique Classification Linéaire Binaire CLB 6 / 20
exemple : Hyper-plan séparateurs La frontière entre les deux classes est donnée par d w i x i + w 0 = 0 qui est l équation d un hyper-plan. Comment choisir cet hyper-plan? Exemple : CLB par régression linéaire Ajuster un modèle linéaire ^l k pour chaque { fonction indicatrice d une classe k : 1 si x est de classe k k { +, - },^l k x = 0 sinon. ^l + x = β + 0 + β + x et ^l - x = β - 0 + β - x Soit un x à classifier : Ĉx = arg max k ^l k x = σ^l + ^l - Frontière de décision : w = β + β - ^f + x = ^f - x hyperplan : et w 0 = β + 0 β - 0 SPLEX Statistiques pour la classification et fouille de données en génomique Classification Linéaire Binaire CLB 7 / 20 Séparabilité Définition CLB C = { -, + } Π D. C. D Ĉ. C w R d, w 0 R, f : R C, d x R d, Ĉx = f w i x i + w 0 Le problème d apprentissage : trouver w, w 0 W et f souvent σ. Séparabilité sur Π a Soit une base de données Π a = x i, y i i<n où y i est la classe de x i 1, +1. Π a est linéairement séparable si il existe un hyperplan d équation yx = w x + w 0 = 0 tel que i {1,, N}, yx i y i > 0 i.e. X W Y > 0 SPLEX Statistiques pour la classification et fouille de données en génomique Classification Linéaire Binaire CLB 8 / 20 Optimisation de W : moindres carrés Carl Friedrich Gauss X W Y est le vecteur des erreurs effectuées en classant Π a à l aide de W. L erreur quadratique obtenue sur Π a se calcule donc comme : e 2 W = X W Y X W Y Minimiser cette erreur en annulant le gradient donne : X = X X 1 X est la pseudo-inverse de X. W = X X 1 X Y = X Y Cette méthode souffre de plusieurs problèmes : Instabilité numérique pour des X de grande taille principalement, Manque de robustesse pour des distributions larges de classes. From : Pattern Recognition and Machine Learning C.Bishop p186 SPLEX Statistiques pour la classification et fouille de données en génomique Classification Linéaire Binaire CLB 9 / 20
Discrimants de Fisher : séparation entre les classes On note que y = w x correspond à la projection de x de dimension d + 1 sur la droite vectorielle w. Soit M + = 1 N + i + X i et M - = 1 N - i - X i On peut alors utiliser w = w M + M - comme mesure de la séparation des classes selon w. Afin de supprimer l influence sur w de la norme de w, on peut soit normaliser w, soit utiliser w comme mesure. From : Pattern Recognition and Machine Learning C.Bishop p188 La séparation des classes n est intéressante qu en fonction de la dispersion de chaque classe, i.e. k +, -, s k = i k y i w M k 2 les variances intra-classe. SPLEX Statistiques pour la classification et fouille de données en génomique Classification Linéaire Binaire CLB 10 / 20 De la régression linéaire vers la régression logistique Régression linéaire ^yx = w x + w 0 Frontière de séparation : hyperplan d équation yx = w x + w 0 = 0 En réutilisant MAP pour décider : ^y = arg max pc x c { +, - } On ne peut pas ajuster linéairement une probabilité : une droite n est pas bornée par [0, 1]. Idée : La frontière de décision correspond à p + x = p - x p + x p - x = 1 log p + x p - x = 0 On peut renforcer l idée que la frontière est un hyperplan CLB par : Régression logistique w, w 0, log p + x p - x = w x + w 0 SPLEX Statistiques pour la classification et fouille de données en génomique Classification Linéaire Binaire CLB 11 / 20 fonction logit On peut écrire log p + x p + x p - x = log 1 p + x Fonction logit log-odds p logitp = log 1 p La fonction logit est non bornée et donc peut être ajuster linéairement. logitp = w x + w 0 p 1 p = ew x+w x+w0 0 p = ew Modèle de la régression logistique p + x = ew x+w 0 1 + e w x+w 0 et p - x = 1+e w x+w 0 1 1 + e w x+w 0 SPLEX Statistiques pour la classification et fouille de données en génomique Classification Linéaire Binaire CLB 12 / 20
Utilisation de la régression logistique Soit une base Π a = X i, Y i avec Y i { +, - }, On peut calculer pour chacun w x + w 0, et donc calculer p + x = ew x+w 0 1+e w x+w 0. SPLEX Statistiques pour la classification et fouille de données en génomique Classification Linéaire Binaire CLB 13 / 20 Estimation des paramètres w, w 0 Comment calculer les valeurs de w et w 0 de la régression logistique? Moindre carrés? Impossible car les erreurs ne sont pas distribuées suivant une loi normale : Elle est quasi nulle quand p proche de 0 ou 1 et plus importante quand p 0.5. Utilisation du Maximum de Vraisemblance : Exprimer la vraisemblance LX ; w, w 0 pour w et w 0, Essayer de maximiser la vraisemblance En annulant la dérivée mais pas de forme exacte de la dérivée. Utiliser une méthode approchée : Algorithme de Newton-Raphson. Soit une base de données X, Y i N. Avec y i = 1 si + et 0 si -. i, Lx i ; w, w 0 = y i px i + + 1 y i px i - p + x Or si log p - x = w px + x + w 0 alors β, β 0, log px - = β x + β 0 px + = eβ x+β 0 1+e β x+β 0 et px - = 1 1+e β x+β 0 SPLEX Statistiques pour la classification et fouille de données en génomique Classification Linéaire Binaire CLB 14 / 20 Estimation des paramètres β + = β, β 0 En sommant sur toute la base la log-vraisemblance, LLβ + = N [ y i β + x i + On veut maximiser la log-vraisemblance. LLβ + β + i = ] log1 + β + x i + N x i y i px i ; β + Pas de forme simple, il faut utiliser une méthode approchée Newton-Raphson utilisant la dérivée seconde le Hessien 2 LLβ + β + β +. La mise à jour jusque convergence de β + prend la forme : β + t+1 = β+ t 2 LLβ + 1 β + β + LLβ+ β + SPLEX Statistiques pour la classification et fouille de données en génomique Classification Linéaire Binaire CLB 15 / 20
Méthode de Newton 1/2 fonction de classe C 2 f : [a, b] R R f : 2 fois dérivable f continue Méthode de Newton-Raphson : recherche de 0 de la dérivée principe : engendrer une suite de points x k tendant vers un point stationnaire point stationnaire : f x = 0 itération k : f est remplacée par sa linéarisée en x k : lx = f x k + [x x k ]f x k x k+1 déterminé par lx k+1 = 0 : = x k+1 = x k f x k f x k SPLEX Statistiques pour la classification et fouille de données en génomique Classification Linéaire Binaire CLB 16 / 20 Méthode de Newton 2/2 f x x x k+2 x k+1 x k SPLEX Statistiques pour la classification et fouille de données en génomique Classification Linéaire Binaire CLB 17 / 20 Un exemple 1/3 From Jia Li Pensylvania State University SPLEX Statistiques pour la classification et fouille de données en génomique Classification Linéaire Binaire CLB 18 / 20
Un exemple 2/3 From Jia Li Pensylvania State University SPLEX Statistiques pour la classification et fouille de données en génomique Classification Linéaire Binaire CLB 19 / 20 Un exemple 3/3 From Jia Li Pensylvania State University SPLEX Statistiques pour la classification et fouille de données en génomique Classification Linéaire Binaire CLB 20 / 20