1 / 27

CSI 4506: Introduction à l’intelligence artificielle

CSI 4506: Introduction à l’intelligence artificielle. L’apprentissage inductif. Plan du Cours. Survol Théorie Version Spaces Arbres de décision Réseaux neuronaux. L’Apprentissage inductif: Survol. Il existe différents types d’apprentissage inductif:

vevay
Download Presentation

CSI 4506: Introduction à l’intelligence artificielle

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CSI 4506: Introduction à l’intelligence artificielle L’apprentissage inductif

  2. Plan du Cours • Survol • Théorie • Version Spaces • Arbres de décision • Réseaux neuronaux

  3. L’Apprentissage inductif: Survol • Il existe différents types d’apprentissage inductif: • L’Apprentissage supervisé: le programme essaie d’inférer une association entre des entrées et leur classe assignée • Apprentissage de concepts • Classification • L’Apprentissage non supervisé: le programme essaie d’inférer une association entre des entrées, mais aucune classe ne leur est assignée: • Apprentissage renforcé • Clustering • Découverte • L’Apprentissage Online vs. Batch •  Nous allons nous intéresser à l’apprentissage supervisé en mode Batch

  4. Théorie de l’inférence inductive (1) • Soit X l’ensemble de tous les exemples • Un concept C est un sous-ensemble de X • Un ensemble d’entraînement T est un sous-ensemble de X tel que certains exemples de T appartiennent a C (les exemples positifs) et certains exemples n’appartiennent pas à C (les exemples négatifs)

  5. Programme d’Apprentissage Théorie de l’inférence inductive (2) • Apprentissage: • {<xi,yi>}   f: X Y • avec i=1..n, • xi T, yi  Y (={0,1}) • yi= 1, si x1 est positif ( C) • yi= 0, si xi est négatif ( C) • Objectifs de l’apprentissage: • f doit être tel que pour tous les xj  X (pas seulement  T) - f(xj) =1 si xj  C • - f(xj) = 0, si xj  C

  6. Théorie de l’inférence inductive (3) • Problème: La tache d’apprentissage est mal posée car il existe un nombre infini de fonctions f qui satisfont l’objectif  Il est nécessaire de trouver un moyen de contraindre la recherche de f. • Définitions: • L’ensemble des tous les fs qui satisfont l’objectif s’appelle l’espace d’hypothèses • Les contraintes sur l’espace d’hypothèses s’appellent les biais inductifs. • Il y a deux types de biais inductifs: • Les biais de restriction de l’espace d’hypothèses • Les biais de préférence

  7. Théorie de l’inférence inductive (4) • Biais de restriction de l’espace d’hypothèses On restreint le langage de l’espace d’hypothèses. Exemples: • k-DNF: on restreint f à l’ensemble des formules en Forme Normale Disjonctive ayant un nombre de disjonctions arbitraire mais au plus, k conjonctif dans chaque conjonction. • K-CNF: on restreint f à l’ensemble des formules en Forme Normale Conjonctive ayant un nombre de conjonctions arbitraire mais au plus, k disjonctif dans chaque disjonction. • Propriétés de ce type de biais: • Positive: L’apprentissage sera simplifié (Computationnellement) • Négative: Le langage peut exclure la “bonne” hypothèse.

  8. Théorie de l’inférence inductive (5) • Biais de préférence: C’est un ordre ou une unité de mesure qui sert de base a une relation de préférence dans l’espace d’hypothèses. • Exemples: • Le Rasoir d’ Occam: On préfère une formule simple ou courte pour f. • Principe de la longueur minimale de description (Une extension du rasoir d’Occam): La meilleure hypothèse est celle qui minimise la taille totale de l’hypothèse et de la description des exceptions à cette hypothèse.

  9. Théorie de l’inférence inductive (6) • Comment implémenter l’apprentissage étant donné ces biais? • Biais de restriction d’espace d’hypotheses: • Étant donné: • Un ensemble S d’exemples d’entraînement • Un espace d’hypothèse restreint, H • Trouver: Une hypothèse f  H qui minimise le nombre d’exemples d’entraînement de S incorrectement classifiés.

  10. Théorie de l’inférence inductive (7) • Biais de Préférence: • Étant donne: • Un ensemble S d’exemples d’entraînement • Un ordre de préférence better(f1, f2) pour toutes les fonctions de l’espace d’hypothèses, H • Trouver: la meilleure hypothèse f  H (selon la relation “better”) qui minimise le nombre d’exemples d’entraînement de S incorrectement classifies. • Types de techniques de recherche utilisées: • Recherche heuristique • Hill Climbing • Simulated Annealing et recherche génétique

  11. Théorie de l’inférence inductive (8) • Quand peut-on croire à la réponse de notre algorithme d’apprentissage? • Réponse Théorique • Réponse Expérimentale • Réponse théorique: PAC-Learning (Valiant 84) • PAC-Learning nous donne des limites sur le nombre d’exemples nécessaires (étant donne un biais particulier) qui nous permettra de croire avec grande confiance que le résultat retourne par l’algorithme d’apprentissage est approximativement correct. Ce nombre d’exemples s’appelle la complexité d’échantillon (sample complexity) du biais. • Si le nombre d’exemple d’apprentissage excède la complexité d’échantillon du biais alors on peut avoir grande confiance en nos résultats.

  12. Théorie de l’inférence inductive (9): PAC-Learning • Soit Pr(X) la probabilité avec laquelle les exemples sont sélectionnés de l’ensemble X • Soit f, une hypothèse de l’espace d’hypothèses. • Soit D l’ensemble de tous les exemples pour lesquels f et C sont en désaccord • L’erreur associée à l’hypothèse f et le concept C est: • Error(f) = xD Pr(x) • f est approximativement correct avec une exactitude de  ssi: Error(f)   • f est probablement approximativement correct (PAC)avec probabilité  et exactitude  si Pr(Error(f) > ) < 

  13. Théorie de l’inférence inductive (10): PAC-Learning • Théorème: Un programme qui retourne n’importe quelle hypothèse consistante avec les exemples d’entraînement est PAC si n, le nombre d’exemples d’entraînement est plus grand que ln(/|H|)/ln(1-) ou |H| représente le nombre d’hypothèses dans H. • Exemples: • Pour 100 hypothèses, il faut 70 exemples pour réduire l’erreur au dessous de 0.1 avec une probabilité de 0.9 • Pour 1000 hypothèses, il en faut 90 • Pour 10,000 hypothèses, il en faut 110. •  ln(/|H|)/ln(1-) grandit lentement. Tant mieux!

  14. Théorie de l’inférence inductive(11) • Quand peut-on croire à la réponse de notre algorithme d’apprentissage? • Réponse théorique • Réponse expérimentale • Réponse expérimentale: estimation d’erreurs • Supposez que vous ayez accès a 1000 exemples pour un concept f. • Divisez les données en 2 ensembles: • Un ensemble d’entraînement • Un ensemble de test • Entraînez l’algorithme sur l’ensemble d’entraînement seulement. • Testez l’hypothèse qui en résulte sur l’ensemble test afin d’obtenir une estimation de la correction de cette hypothèse

  15. Version Spaces: Définitions • Soient C1 et C2, deux concepts représentes par des ensembles d’exemples. Si C1  C2, alors C1 est une spécialisation de C2 et C2 est une généralisation de C1. • C1 est aussi considéré plus spécifique que C2 • Exemple: L’ensemble de tous les triangles bleus est plus spécifique que l’ensemble de tous les triangles. • C1 est une spécialisation immédiate de C2 s’il n’y a pas d’autres concepts qui soit et une spécialisation de C2 et une généralisation de C1. • Un version space définit un graphe dont les noeuds sont des concepts et dont les arcs spécifient qu’un concept est une spécialisation immédiate d’un autre. • (Voir exemple en classe)

  16. Version Spaces: Survol (1) • Un Version Space a deux limites: La limite générale et la limite spécifique • Les limites sont modifiés après chaque présentation d’un nouvel exemple. • Au départ, la limite générale consiste simplement de (?,?,?); La limite spécifique consiste de toutes les feuilles de l’arbre de Version Space. • Lorsqu’un nouvel exemple positif est présenté, on généralise tous les exemples de la limite spécifique jusqu’a ce qu’elle soit compatible avec l’exemple • Lorsqu’un nouvel exemple négatif est présenté, on spécialise chacun des concepts de la limite générale jusqu’a ce qu’elle ne soit plus compatible avec l’exemple

  17. Plus général Limite spécifique Si f est ici, il inclut tous les exemples + Et exclut tous les exemples - Version Spaces: Survol (2) • Si les limites spécifiques et générales sont maintenues selon les règles que nous venons de présenter, alors un concept est garanti d’inclure tous les exemples positifs et d’exclure tous les exemples négatifs s’il tombe entre les limites générales et spécifiques. Limite générale Plus spécifique (Voir exemple en classe)

  18. Arbres de décision: Introduction • La forme la plus simple d’apprentissage est la mémorisation de tous les exemples d’entraînement. • Problème: La mémorisation n’est pas utile pour de nouveaux exemples  On doit trouver un moyen de généraliser au delà des exemples anciens. • Solution possible: Plutôt que de mémoriser chaque attribut de chaque exemples, on peut essayer de mémoriser seulement ceux qui permettent de distinguer entre les exemples positifs et négatifs. C’est ce que font les arbres de décision. • Note: Les mêmes données peuvent être représentées par des arbres différents. Le rasoir d’Occam suggère que l’on choisisse le plus petit. (Voir exemples en classe)

  19. Arbres de décision: Construction • Étape 1: On choisit un attribut A (= Noeud 0) et on divise les exemples selon la valeur de cet attribut. Chacun de ces groupes correspond à un enfant du noeud 0. • Étape 2: Pour chaque descendant du noeud 0, si les exemples de ce descendant sont homogènes (ont la même classe), on s’arrête. • Étape 3: Si les exemples de ce descendent ne sont pas homogènes, alors on appelle la procédure récursivement sur ce descendent. • (Voir exemple en Classe)

  20. Arbres de décision: Choisir des attributs qui mèneront à de petits arbres (I) • Pour obtenir un petit arbre, il faut choisir des attributs qui minimisent une mesure particulière de désordre dans les sous arbres qu’ils engendrent. • Le désordre et l’information son reliés de la manière suivante: plus il y a de désordre dans un ensemble S, le plus d’information est nécessaire afin de deviner correctement un élément de cet ensemble. • Information: Quelle est la meilleure stratégie pour deviner un nombre étant donné un ensemble fini S de nombres? i.e., Quel est le nombre minimal de questions nécessaires pour trouver la bonne réponse? Réponse: Log2|S| ou |S| représente la cardinalité de S.

  21. Arbres de décision: Choisir des attributs qui mèneront a de petits arbres (II) • Log2|S| peut être vu comme la valeur de l’information qui nous donne la valeur de x (le nombre à deviner) plutôt que d’avoir à le deviner nous même. • Soit U un sous-ensemble de S. Quelle est la valeur de l’information qui nous donne la valeur de x, une fois que l’on sait si x  U ou pas? • Log2|S|-[P(x U )Log2|U|+P(xU)Log2|S-U| • Soit S=PN (données positives et négatives). La valeur de l’information qui nous donne la valeur de x une fois que l’on sait si x est positif ou négatif est: • I({P,N})=Log2|S|-|P|/|S|Log2|P|-|N|/|S|Log2|N|

  22. Arbres de décision: Choisir des attributs qui mèneront a de petits arbres (III) • On veut utiliser la mesure précédente afin de choisir un attribut qui minimise le désordre dans la partition qu’il crée. Soit {Si | 1  i  n} une partition de S qui résulte d’un attribut particulier. Le désordre associe a cette partition est: • V({Si | 1  i  n}) = i=1n |Si|/|S| I({P(Si),N(Si)}) • Avec P(Si)= ensemble des exemples positifs en Si et N(Si)= ensemble des exemples négatifs en Si • (Voir exemple en classe)

  23. Arbres de décision: Autres questions • Il faut trouver un moyen de traiter les attributs qui ont comme valeurs des nombres continus ou des valeurs discrètes appartenant à un très grand ensemble. • Il faut trouver un moyen de traiter les valeurs d’attributs manquantes • Il faut trouver un moyen de traiter le bruit (erreurs) aussi bien dans l’étiquetage des exemples que dans les valeurs d’attributs.

  24. Réseaux neuronaux: Introduction (I) • Qu’est ce qu’un réseau neuronal? • C’est un formalisme pour représenter les fonctions qui s’inspire des systèmes biologiques et qui est composé d’unités de calcul qui performe de simples fonctions, mais chacune en parallèle. • Exemple de trois différents types d’unités de calcul: • Unité d’Addition • Unité de Multiplication • Unité de Seuil (Continu (exemple: la Sigmoïde) ou non) (Voir illustration en Classe)

  25. Réseaux neuronaux: Apprentissage (I) • Ces unités de base sont ensuite connectées afin de former un réseau capable de calculer des fonctions compliquées. • (Voir exemple en Classe: 2 représentations) • Puisque ce réseau à une sorti sigmoïdale, il implémente une fonction f(x1,x2,x3,x4) dont la sortie est dans la rangée [0,1] • Ce qui nous intéresse dans les réseaux neuronaux c’est qu’ils sont capable d’apprendre cette fonction. • L’apprentissage consiste à chercher dans l’espace de toutes les matrices possibles de valeurs de poids une combinaison de poids qui satisfait une base de données positives et négatives de quatre attributs (x1,x2,x3,x4) et deux classes (y=1, y=0)

  26. Réseaux neuronaux: Apprentissage (II) • Veuillez noter qu’un réseau neuronal avec un ensemble de poids ajustables représente un espace d’hypothèses restreint correspondant à une famille de fonctions. La taille de cet espace peut être augmentée ou diminuée en augmentant ou diminuant le nombre d’unités cachées présentes dans le réseau. • L’apprentissage est fait en utilisant une approche de “hill-climbing” appelée BACKPROPOAGATION et basée sur le paradigme de la recherche par gradient.

  27. Réseaux neuronaux: Apprentissage (III) • L’idée de la recherche par gradient est de prendre de petits pas dans la direction qui minimise le gradient (ou dérivative) de l’erreur de la fonction qu’on essaye d’apprendre. • Lorsque le gradient a la valeur zéro, on a atteint un minimum local, qui, on l’espère, est également un minimum global. • (Les détails de l’apprentissage par réseaux neuronaux seront couvert en classe si le temps le permet)

More Related