Fondements de l Apprentissage Automatique

Documents pareils
Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Chapitre 2. Matrices

1 Complément sur la projection du nuage des individus

L ANALYSE EN COMPOSANTES PRINCIPALES (A.C.P.) Pierre-Louis GONZALEZ

Analyse en Composantes Principales

Cours d Analyse. Fonctions de plusieurs variables

Résolution de systèmes linéaires par des méthodes directes

La classification automatique de données quantitatives

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Exercice : la frontière des portefeuilles optimaux sans actif certain

Cours d analyse numérique SMI-S4

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

Programmation linéaire

I. Ensemble de définition d'une fonction

INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES

3. Conditionnement P (B)

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Cours 02 : Problème général de la programmation linéaire

Programmation linéaire

Géométrie dans l espace Produit scalaire et équations

Structures algébriques

1 radian. De même, la longueur d un arc de cercle de rayon R et dont l angle au centre a pour mesure α radians est α R. R AB =R.

CHAPITRE V SYSTEMES DIFFERENTIELS LINEAIRES A COEFFICIENTS CONSTANTS DU PREMIER ORDRE. EQUATIONS DIFFERENTIELLES.

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

Master IMA - UMPC Paris 6 RDMM - Année Fiche de TP

Rappels et compléments, première partie : Nombres complexes et applications à la géométrie

Programmes des classes préparatoires aux Grandes Ecoles

Représentation géométrique d un nombre complexe

Théorie des Langages

Corrigé du baccalauréat S Asie 21 juin 2010

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé

Qu est-ce qu une probabilité?

I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES

Formes quadratiques. 1 Formes quadratiques et formes polaires associées. Imen BHOURI. 1.1 Définitions

Relation entre deux variables : estimation de la corrélation linéaire

Plus courts chemins, programmation dynamique

Exercices - Nombres complexes : corrigé. Formes algébriques et trigonométriques, module et argument

Optimisation des fonctions de plusieurs variables

Journées Télécom-UPS «Le numérique pour tous» David A. Madore. 29 mai 2015

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

Résolution d équations non linéaires

Mathématiques appliquées à l'économie et à la Gestion

LA NOTATION STATISTIQUE DES EMPRUNTEURS OU «SCORING»

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA

Algorithmique et Programmation Fonctionnelle

Représentation d un entier en base b

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

[ édité le 30 avril 2015 Enoncés 1

1S Modèles de rédaction Enoncés

Angles orientés et trigonométrie

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre :

Optimisation, traitement d image et éclipse de Soleil

Chapitre 11. Séries de Fourier. Nous supposons connues les formules donnant les coefficients de Fourier d une fonction 2 - périodique :

3 Approximation de solutions d équations

Calcul différentiel sur R n Première partie

Un K-espace vectoriel est un ensemble non vide E muni : d une loi de composition interne, c est-à-dire d une application de E E dans E : E E E

TS 35 Numériser. Activité introductive - Exercice et démarche expérimentale en fin d activité Notions et contenus du programme de Terminale S

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

Algèbre binaire et Circuits logiques ( )

données en connaissance et en actions?

INF6304 Interfaces Intelligentes

Simulation de variables aléatoires

Eteindre. les. lumières MATH EN JEAN Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

(51) Int Cl.: H04L 29/06 ( ) G06F 21/55 ( )

Projet de traitement d'image - SI 381 reconstitution 3D d'intérieur à partir de photographies

NOMBRES COMPLEXES. Exercice 1 :

Chapitre 3. Les distributions à deux variables

AC AB. A B C x 1. x + 1. d où. Avec un calcul vu au lycée, on démontre que cette solution admet deux solutions dont une seule nous intéresse : x =

Exercices Corrigés Premières notions sur les espaces vectoriels

Algorithmes pour la planification de mouvements en robotique non-holonome

LE PRODUIT SCALAIRE ( En première S )

Cours d initiation à la programmation en C++ Johann Cuenin

Cours de méthodes de scoring

Correction du Baccalauréat S Amérique du Nord mai 2007

Problème 1 : applications du plan affine

Cours 7 : Utilisation de modules sous python

Limites finies en un point

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Texte Agrégation limitée par diffusion interne

Déroulement d un projet en DATA MINING, préparation et analyse des données. Walid AYADI

Intégrales doubles et triples - M

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

Cours de mathématiques

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours.

Seconde Généralités sur les fonctions Exercices. Notion de fonction.

BACCALAURÉAT PROFESSIONNEL ÉPREUVE DE MATHEMATIQUES. EXEMPLE DE SUJET n 2

Probabilités sur un univers fini

FORMULAIRE DE STATISTIQUES

CORRIGE LES NOMBRES DECIMAUX RELATIFS. «Réfléchir avant d agir!»

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Déterminants. Marc SAGE 9 août Inverses et polynômes 3

Le théorème de Thalès et sa réciproque

Initiation à la programmation en Python

I- Définitions des signaux.

Fonctions de plusieurs variables : dérivés partielles, diérentielle. Fonctions composées. Fonctions de classe C 1. Exemples

Analyses multivariées avec R Commander (via le package FactoMineR) Qu est ce que R? Introduction à R Qu est ce que R?

Compter à Babylone. L écriture des nombres

Transcription:

Fondements de l Apprentissage Automatique Réduction de la dimensionalité hadrien.glaude@univ-lille1.fr Université Lille 1 - CRIStAL (SequeL) - Thales Systèmes Aéroportés Master 1 Info 1/28

1 2 3 4 5

Réduction de la dimensionalité Objectif : résumer l information apportée par un grand nombre de variables par un nombre restreint de nouvelles variables. A quoi ça sert? Représentation visuelle des données. Produit un nuages de points interprétable par l homme. Compression de données. L information la moins pertinente est supprimée. Prétraitement pour l apprentissage supervisé. Simplifie, réduit, et nettoie les données. En apprentissage automatique, aide à généraliser en diminuant le risque de sur-apprentissage, diminue le temps d apprentissage. 2/28

Réduction de la dimensionalité Deux branches Sélection d attributs Parmi les variables qui décrivent les individus quelles sont les plus utiles à la tâches? Ex : le prix d un logement ne dépend pas beaucoup de la couleur des murs, mais plutôt de la surface. Le boosting permet sélectionner des attributs quand les classifieurs faibles ne tiennent compte que d un attribut. Extraction d attributs Comment combiner des attributs pour en créer un nouveau sans perdre de l information? Ex : pour prédire le prix d un logement, le nombre de séjours, salons, chambres, bureaux, etc, peut se résumer par le nombre de piècse. Sert aussi à supprimer les attributs redondants (corrélés) comme la surface et le nombre de pièces. 3/28

Réduction de la dimensionalité Programme d aujourd hui En cours, En TP, d, des matrices à la diagonalisation composante principale : une technique de réduction de la dimensionnalité Un classifieur très simple : les k plus (k-nn) de Détection de visage (AdaBoost) Reconnaissance de visage (ACP et k-nn) 4/28

1 2 3 4 5

Matrices et vecteurs Définitions Une matrice A est un tableau de réels de dimensions finies : ( ) 0 3.3 7 A = 2 4 9.1 (np.array([[0, 3.3, 7], [-2, 4, 9.1]])) A est de taille m n si elle est composée de m vecteurs lignes n vecteurs colonnes Les nombres du tableau sont appelés coefficients de A Le coefficient à la i-ème ligne et j-ième colonne est noté a ij. On note A = (a ij ). Une matrice est carrée si n = m La matrice carrée avec des 1 sur la diagonale et des 0 ailleurs est notée I. On l appelle l identité. (np.eye) La matrice nulle est noté 0 (np.zeros) 5/28

Matrices et vecteurs Addition et multiplication Addition (A + B) taille 2 2 ( ) ( ) ( ) a b α β a + α b + β + = c d γ δ c + γ d + δ Multiplication (A.dot(B)) taille 2 2 ( ) ( ) ( a b α β aα + bγ aβ + bδ = c d γ δ cα + dγ cβ + dδ... détails au tableau... ) 6/28

Matrices et vecteurs Quelques règles Pour la suite A, B et C sont des matrices de même taille, α et β sont des réels. Pour l addition : A + B = B + A A + (B + C) = (A + B) + C A + 0 = A (α + β)a = αa + βb α(a + B) = αa + αb 7/28

Matrices et vecteurs Quelques règles (suite) Pour la multiplication : A(BC) = (AB)C A(B + C) = AB + AC et (B + C)A = BA + CA A0 = 0 et 0A = 0 IA = A et AI = A ATTENTION : en général AB BA 8/28

Matrices et vecteurs Inverse Une matrice carrée A est inversible (np.linalg.inv) si il existe une matrice B de même taille tel que, AB = I et BA = I Dans ce cas B est unique. C est l inverse de A. On note B = A 1 A est aussi l inverse de B.... cas des matrices diagonales au tableau... Il existe des matrices qui ne sont pas inversible. Exemple : 0 Si A et B sont inversible, AB est inversible et (AB) 1 = B 1 A 1 9/28

Matrices et vecteurs Transposition et matrice symétrique La transposée (A.T) d une matrice A de taille m n est une matrice de taille n m noté A, où l on a inversé les lignes et les colonnes : a b A = (a ij ) = c d d e A = (a ji ) = ( a c d b d e Une matrice carrée est symétrique ssi A = A Une matrice est orthogonale si AA = A A = I, dans ce cas A = A 1 ) 10/28

Matrices et vecteurs Vecteurs, valeurs propres et diagonalisation Un vecteur non nul x est un vecteur propre de A si Ax = λx λ est la valeur propre associé à x. (np.linalg.eig) Une matrice carrée est diagonalisable si elle peut s écrire A = PDP 1 avec P inversible et D diagonale. Dans ce cas P est une matrice contenant des vecteurs propres (en colonnes) et D contient les valeurs propres associé sur sa diagonale. 11/28

Matrices et vecteurs Diagonalisation (suite) ATTENTION : toutes les matrices ne sont pas diagonalisables. Théorème (Théorème spectral pour les matrices réels) Soit A une matrice symétrique réelle, alors il existe une matrice P orthogonale et une matrice D diagonale dont tous les coefficients sont réels et positifs, telles que A = PDP 1 = PDP. 12/28

1 2 3 4 5

Objectif Soit un tableau X de n individus caractérisés par p attributs : x ij est la valeur du ième attribut sur le j-ieme individu. On veut déterminer de nouveaux attributs ˆx ij décrivant les individus en perdant le moins possible d information déterminer un tableau ˆX de taille n q avec q < p. Technique : chaque nouvel attribut est une combinaison s anciens : ˆx ij = p k=1 u ikx kj. Notation matricielle ˆx ij = u i x :j, ˆx :j = Ux :j avec U matrice dont la i-ème ligne vaut u i Technique : projeter le nuage de points sur un espace de dimension q de façon à conserver le maximum de variance dans les données. 13/28

Moyenne, variance, covariance Un individu x :j est un échantillon d un vecteur aléatoire X. On note x i: = 1 n p j=1 x ij l estimateur empirique de la moyenne du i-ième attribut. Notation matricielle : X = (x ij x i: ) ij On note var(x i: ) = 1 n p j=1 (x ij x i: ) 2 l estimateur empirique de la variance du i-ième attribut. Notation matricielle : var(x i: ) = (x i: x i: )(x i: x i: ) On note cov(x i:, x k: ) = 1 n p j=1 (x ij x i: )(x kj x k: ) l estimateur empirique de la covariance entre le i-ième et le k-ième attribut. Notation matricielle : cov(x i:, x k: ) = (x i: x i: )(x k: x k: ), matrice de covariance C = (cov(x i:, x k: )) ik = (X X )(X X ) Deux variables sont fortement corrélés lorsqu elles varient ensemble. Cela implique une certaine redondance dans les données. 14/28

Illustration 15/28

Dérivation On cherche une base orthonormé U = (u 1,..., u q ) tel que les individus projetés ˆx :j U IR q conservent une variance maximale. On procède variables par variables. On centre les données X = X X. Soit u 1 X le vecteur ligne des valeurs pour chaque individu du premier nouvel attribut. La variance du premier attribut vaut u 1 X X u 1 = u 1 Cu 1, avec C la matrice de covariance de X On résout donc, u 1 = arg max u = u Cu tel que u u = 1 On écrit le Lagrangien, L(u, λ) = u Cu λ(u u 1) 16/28

Dérivation (suite) On dérive L par rapport à u et on égalise à zéro Cu = λu (u, λ) est donc un couple vecteur propre, valeur propre de C On remplace dans l objectif u 1 = arg max u = arg max u u Cu = arg max u λ u u u = arg max λ u u Conclusion : u 1 est le vecteur propre associé à la valeur propre maximale de C. On recommence avec la seconde composante 17/28

Dérivation (suite 2) Pour trouver u 2, on rajoute la contrainte d orthogonalité à u 1, L(λ, u, µ) = u Cu λ(u u 1) µu u 1 On dérive L par rapport à u et on égalise à zéro On multiplie par u 1 2Cu 2λu µu 1 = 0 µ = 2u 1 Cu 2λu 1 u = 0 car u 1 est un vecteur propre de C et est orthogonale à u On retrouve que Cu = λu De même (u, λ) est donc un couple vecteur propre, valeur propre de C En remplaçant dans l objectif, on trouve que u 2 est le vecteur propre associé à la seconde valeur propre maximale de C. 18/28

Algorithme Algorithme : Note : Les observations peuvent être transformées en données centrées et réduites par transformation (soustraction de la moyenne et division par l écart-type). Cette opération est importante si les ordres de grandeur des variables sont très différents. Par calcul de la matrice de covariance des données, on retrouve les axes principaux. On garde les q premiers (associées aux plus grandes valeurs propres). On peut pondérer les individus en fonction de leur importance. En pratique, on peut se passer de calculer la matrice de covariance en utilisant la décomposition en valeurs singulières (plus rapide). 19/28

Propriétés ˆX est centrée La variance de la i-ième composante principale vaut λ i var(ˆx i: ) = j = u i ( j (ˆx ij ) 2 = j (x :j u i ) 2 = j x :j x :j )u i = u i Cu i = λ i On dit que le i-ème attribut explique 100λ i k λ k variance. Les sont décorélées cor(ˆx i:, ˆx k: ) = j ˆx ij ˆx kj = j u i x :j x :j u i % de la u i x :j x: j u k = u i Cu k = λ k u i u k = 0 On peut montrer que U est la projection qui converse le mieux les distances entre pairs d individus. 20/28

21/28

22/28

23/28

24/28

1 2 3 4 5

Un algorithme de classification simple Algorithme de classification instance-based : Étant donné un ensemble d individus étiquetés, la classe d un nouvel individu est la classe majoritaire parmi ces k plus. La distance peut être quelconque. En pratique marche bien après une ACP, en utilisant la distance euclidienne. Le paramètre k est appris par cross-validation. 25/28

1 2 3 4 5

Décomposition de la variance Idée : utiliser les étiquettes des individus pour trouver un espace de faible dimension q dans le quel on peut bien discriminer les classes. Soit n individus, répartis en k classes de n k individus chacune. On note : g 1,..., g k leurs moyennes et g la moyenne de tous les individus, C 1,..., C k leurs matrices de covariance et C la matrice de covariance de tous les individus, B = n k k n (g k g)(g k g) la matrice de covariance inter-classes (=covariance des moyennes), W = k (=moyenne des covariances) n k n C k la matrice de covariance intra-classes 26/28

Résolution On cherche à projeter sur une base orthonormé tel que : la variance inter-classe soit maximale, la variance intra-classe soit minimale. On cherche, u 1 = arg max u u Bu u W u On montre que u 1 est le vecteur propre maximal de W 1 B. 27/28

Démonstration On pose W 1/2 z = u, possible car W est définie positive Par symétrie de W, le problème est équivalent à : z 1 = arg max z z W 1/2 BW 1/2 z z z z 1 = arg max z W 1/2 BW 1/2 z tel que z z = 1 z Comme pour l ACP z 1 est le vecteur propre maximal de W 1/2 BW 1/2. W 1/2 BW 1/2 z 1 = λ 1 z 1 On multiplie à gauche par W 1/2, W 1 BW 1/2 z 1 = λ 1 W 1/2 z 1 Or W 1/2 z 1 = u 1, donc W 1 Bu 1 = λ 1 u 1 Finalement, u 1 est le vecteur propre maximal de W 1 B. 28/28

6 Travaux dirigés

Travaux dirigés I Énoncé 1 Pour les rapports utiliser le Notebook de IPython. 2 Télécharger la Extended Yale Face Database B, ou la créer en utilisant ses photos Facebook avec les tags (voir script pour utiliser l api Facebook). Dans la base de donnée, prendre les images originales. 3 Utiliser Adaboost de OpenCV (voir ici) pour détecter les visages dans les images, puis extraire le visage de l image. Le fichier XML contenant les paramètres du classifieur Adaboost se trouve dans les sources de OpenCV. 4 Entrainer un classifieur utilisant les plus sur les visages extraits et projeté sur un espace de faible dimension. Projeter les visages sur un espace de faible dimension en utilisant l analyse en composante principale OU l analyse discriminante de. Argumenter le choix du nombre de. Travaux dirigés 1/4

Travaux dirigés II Énoncé Visualiser la moyenne des visages et les premiers visages propres. Appliquer les k plus : argumenter le choix de k et estimer l erreur de généralisation. En général, il n y a pas une seule bonne solution, mais plusieurs ap possibles. Vous n êtes pas contraint de suivre l énoncé pas à pas tant que au final vous proposez une solution complète au problème de détection et reconnaissance de visages. Face aux problèmes que vous pourriez rencontrer et que je n ai pas mentionnés, j attends une démarche autonome et argumentée. Travaux dirigés 2/4

Travaux dirigés Vecteurs propres en grandes dimensions La matrice de covariance C = X X des visages risque d être de grandes dimensions. Par exemple, pour des images 100 100, C sera de taille 10000 10000. Vous allez rencontrer des problèmes de mémoire et de temps de calcul pour les vecteurs propres. Il existe alors plusieurs solutions : 1 Réduire la taille des images en entrée. 2 Si le nombre d individus N (ici de visages) est faible. Calculer les vecteurs propres de C = X X de taille N N. Remarquer que si C v i = λ i v i alors X C v i = λ i X vi, et donc C( X v i ) = λ i ( X v i ). Ainsi u i = X v i est un vecteur propre associé à λ i de C. 3 Utiliser la décomposition en valeurs singulières de X. Travaux dirigés 3/4

Décomposition en valeurs singulières Relation avec les vecteurs propres Toute matrice X admet une décomposition en valeurs singulières, X = USV, où U, V sont formés de vecteurs colonnes orthonormés et S est une matrice diagonale. En écrivant X X = VS U USV = VS 2 V et XX = USV VS U = US 2 U, on remarque que : U contient les vecteurs propres de XX V contient les vecteurs propres de X X X X et XX ont les mêmes valeurs propres S 2 qui sont les carrés des valeurs singulières de X. Travaux dirigés 4/4