CSI 4506: Introduction à l’intelligence artificielle

Slides:



Advertisements
Présentations similaires
LES NOMBRES PREMIERS ET COMPOSÉS
Advertisements

La Méthode de Simplexe Standardisation
A. Cornuéjols IAA (basé sur Rob Schapires IJCAI99 talk) Combiner des apprenants: le boosting.
Algorithmes et structures de données avancés
Classification et prédiction
Portée des variables VBA & Excel
Classification et prédiction
Regroupement (clustering)
Fonctions & procédures
Recherche de motifs par méthodes exploratoires: Comparaisons de performances et statistiques sur le score.
Apprentissage supervisé à partir de séquences
Calcul géométrique avec des données incertaines
Regroupement (clustering)
RECONNAISSANCE DE FORMES
Test statistique : principe
Les tests d’hypothèses (I)
GEF 435 Principes des systèmes d’exploitation
1. Les caractéristiques de dispersion. 11. Utilité.
Les tests d’hypothèses
INTRODUCTION.
Ordonnancement des mouvements de deux robots
Améliorer les performances du chiffrage à flot SYND
DEA instrumentation et commande
Mirta B. Gordon Laboratoire Leibniz-IMAG Grenoble
Apprendre à partir des observations
Plus courts chemins On présente dans ce chapitre un problème typique de cheminement dans les graphes : la recherche d'un plus court chemin entre deux sommets.
2-1 CIRCUITS ÉLECTRIQUES SIMPLES
Pourquoi les réseaux de neurones de type « perceptron multicouche » conviennent-ils à l’apprentissage Stéphane Canu, INSA de Rouen , PSI André Elisseeff,
1.2 COMPOSANTES DES VECTEURS
Cours Corporate finance Eléments de théorie du portefeuille Le Medaf
Méthode des k plus proches voisins
Optimisation non linéaire sans contraintes
DEA Perception et Traitement de l’Information
Gestion de Fichiers Arbres B.
SYSTEMES D’INFORMATION
Réseaux de neurones.
LES ARBRES IUP 2 Génie Informatique
Algorithme de Bellman-Ford
Arbres Rouge noir Démo : INF3105 Structures de données et algorithmes
Structures de données IFT-2000
Les réseaux de neurones
Représentation des systèmes dynamiques dans l’espace d’état
Représentation des systèmes dynamiques dans l’espace d’état
Courbes de Bézier.
CSI 4506: Introduction à l’intelligence artificielle
CSI 4506: Introduction à l’intelligence artificielle
1 CSI 4506: Introduction à lintelligence artificielle La recherche adversairiale.
Corrélation Principe fondamental d’une analyse de corrélation
Algorithmes d ’approximation
Recherche Opérationnelle
LE CHOIX DU CONSOMMATEUR ET LA DEMANDE
CSI 4506: Introduction à l’Intelligence Artificielle
Ordonnancement de tâches
Initiation à la conception des systèmes d'informations
Introduction à l’algèbre
Résoudre une équation du 1er degré à une inconnue
2. Optimisation sans contrainte Fonctions à une seule variable
Préférences et fonctions d’utilité
Atelier de formation : MAT optimisation II (les graphes).
Apprentissage par arbre de décision
Pour le chemin le plus court pour tous les couples
Programmation linéaire en nombres entiers : les méthodes de troncature
ASI 3 Méthodes numériques pour l’ingénieur
Programmation dynamique
INTRODUCTION.
Programmation linéaire en nombres entiers
CSI 4506: Introduction à l’Intelligence Artificielle
2008/ Plan du cours 1.Introduction –Contenu du cours 2.Logique mathématique –Calcul propositionnel –Calcul des prédicats –Logique floue et aide à.
1 CSI 4506: Introduction à l’Intelligence Artificielle La Recherche Adversariale.
Chap. 3 Récursion et induction. Les définitions par récurrence consistent à construire des objets finis, à partir d'autres, selon certaines règles. Les.
Transcription de la présentation:

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: 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

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)

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 Programme d’Apprentissage

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

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.

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.

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.

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

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.

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) > ) < 

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!

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

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)

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

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. Plus général Limite spécifique Si f est ici, il inclut tous les exemples + Et exclut tous les exemples - Limite générale Plus spécifique (Voir exemple en classe)

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)

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)

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.

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|

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)

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.

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)

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)

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.

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)