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
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
1 Efficient Data and Program Integration Using Binding Patterns Ioana Manolescu, Luc Bouganim, Francoise Fabret, Eric Simon INRIA.
INTRODUCTION.
Ordonnancement des mouvements de deux robots
CSI3525: Concepts des Langages de Programmation Notes # 11: Sous-Programmes ( Lire Chapitre 8 )
Améliorer les performances du chiffrage à flot SYND
DEA instrumentation et commande
Mirta B. Gordon Laboratoire Leibniz-IMAG Grenoble
Apprendre à partir des observations
UNIVERSITE DES SCIENCES ET DE LA TECHNOLOGIE D’ORAN
1 Cours numéro 3 Graphes et informatique Définitions Exemple de modélisation Utilisation de ce document strictement réservée aux étudiants de l IFSIC.
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.
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
Tableaux de distributions
Gestion de Fichiers Arbres B.
SYSTEMES D’INFORMATION
Réseaux de neurones.
Algorithme de Bellman-Ford
Arbres Rouge noir Démo : INF3105 Structures de données et algorithmes
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
Représentation des systèmes dynamiques dans l’espace d’état
Courbes de Bézier.
1 CSI3525: Concepts des Languages de Programmation Notes # 3: Description Syntaxique des Languages.
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
Ordonnancement de tâches
Initiation à la conception des systèmes d'informations
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 Theorie Version Spaces Arbres de Decision Reseaux Neuronneaux

L’Apprentissage Inductif: Survol Il existe differents types d’apprentissages inductifs: L’Apprentissage Supervise: le programme essaie d’inferrer une association entre des entrees et leur classe assignee Apprentissage de Concepts Classification L’Apprentissage Non-Supervise: le programme essaie d’inferrer une association entre des entrees, mais aucune classe ne leur est assignee: Apprentissage Reinforce Clustering Decouverte L’Apprentissage Online vs. Batch  Nous allons nous interesser a l’apprentissage Supervise en mode Batch

Theorie de l’Inference Inductive (1) Soit X l’ensemble de tous les exemples Un concept C est un sous-ensemble de X Un ensemble d’entrainement 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 a C (les exemples negatifs)

Theorie de l’Inference 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 negatif ( C) Objectifs de l’Apprentissage: f doit etre 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

Theorie de l’Inference Inductive (3) Probleme: La tache d’apprentissage est mal-posee car il existe un nombre infini de fonctions f qui satisfont l’objectif  Il est necessaire de trouver un moyen de contraindre la recherche de f. Definitions: L’ensemble des tous les fs qui satisfont l’objectif s’appelle l’espace d’hypotheses Les contraintes sur l’espace d’hypotheses s’appellent les biais inductifs. Il y a deux types de biais inductifs: Les biais de restriction de l’espace d’hypotheses Les biais de preference

Theorie de l’Inference Inductive (4) Biais de restriction de l’espace d’hypotheses  On restreint le langage de l’espace d’hypotheses. Exemples: k-DNF: on restreint f a l’ensemble des formules en Forme Normale Disjonctive ayant un nombre de disjonctions arbitraire mais au plus, k conjunct dans chaque conjonction. K-CNF: on restreint f a l’ensemble des formules en Forme Normale Conjonctive ayant un nombre de conjonctions arbitraire mais au plus, k disjunct dans chaque disjonction. Proprietes de ce type de biais: Positive: L’apprentissage sera simplifie (Computationnellement) Negative: Le langage peut exclure la “bonne” hypothese.

Theorie de l’Inference Inductive (5) Biais de Preference: C’est un ordre ou une unite de mesure qui sert de base a une relation de preference dans l’espace d’hypotheses. Exemples: Le Rasoir d’ Occam: On prefere une formule simple ou courte pour f. Principe de la longueur minimale de description (Une extension du rasoir d’Occam): La meilleure hypothese est celle qui minimise la taille totale de l’hypothese et de la description des exceptions a cette hypothese.

Theorie de l’Inference Inductive (6) Comment implementer l’apprentissage etant donne ces biais? Biais de restriction d’espace d’hypotheses: Etant donne: Un ensemble S d’exemples d’entrainement Un espace d’hypothese restreint, H Trouver: Une hypothese f  H qui minimise le nombre d’exemples d’entrainement de S incorrectement classifies.

Theorie de l’Inference Inductive (7) Biais de Preference: Etant donne: Un ensemble S d’exemples d’entrainement Un ordre de preference better(f1, f2) pour toutes les fonctions de l’espace d’hypotheses, H Trouver: la meilleure hypothese f  H (selon la relation “better”) qui minimise le nombre d’exemples d’entrainement de S incorrectement classifies. Types de techniques de recherche utilisees: Recherche Heuristique Hill Climbing Simulated Annealing et Recherche Genetique

Theorie de l’Inference Inductive (8) Quand peut-on croire a la reponse de notre algorithme d’apprentissage? Reponse Theorique Reponse Experimentale Reponse Theorique: PAC-Learning (Valiant 84) PAC-Learning nous donne des limites sur le nombre d’exemples necessaires (etant donne un biais particulier) qui nous permettra de croire avec grande confiance que le resultat retourne par l’algorithme d’apprentissage est approximativement correct. Ce nombre d’exemples s’appelle la complexite d’echantillon (sample complexity) du biais. Si le nombre d’exemple d’apprentissage excede la complexite d’echantillon du biais alors on peut avoir grande confiance en nos resultats.

Theorie de l’Inference Inductive (9): PAC-Learning Soit Pr(X) la probability avec laquelle les exemples sont selectionnes de l’ensemble X Soit f, une hypothese de l’espace d’hypotheses. Soit D l’ensemble de tous les exemples pour lesquels f et C sont en desaccord L’erreur associee a l’hypothese 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 probabilite  et exactitude  si Pr(Error(f) > ) < 

Theorie de l’Inference Inductive (10): PAC-Learning Theoreme: Un programme qui retourne n’importe quelle hypothese consistente avec les exemples d’entrainement est PAC si n, le nombre d’exemples d’entrainement est plus grand que ln(/|H|)/ln(1-) ou |H| represente le nombre d’hypotheses dans H. Exemples: Pour 100 hypotheses, il faut 70 exemples pour reduire l’erreur au dessous de 0.1 avec une probabilite de 0.9 Pour 1000 hypotheses, il en faut 90 Pour 10,000 hypotheses, il en faut 110.  ln(/|H|)/ln(1-) grandit lentement. Tant mieux!

Theorie de l’Inference Inductive (11) Quand peut-on croire a la reponse de notre algorithme d’apprentissage? Reponse Theorique Reponse Experimentale Reponse Experimentale: Estimation d’Erreurs Supposez que vous ayez acces a 1000 exemples pour un concept f. Divisez les donnees en 2 ensembles: Un ensemble d’entrainement Un ensemble de test Entrainez l’algorithme sur l’ensemble d’entrainement seulement. Testez l’hypothese qui en resulte sur l’ensemble test afin d’obtenir une estimation de la correction de cette hypothese

Version Spaces: Definitions Soient C1 et C2, deux concepts representes par des ensembles d’exemples. Si C1  C2, alors C1 est une specialisation de C2 et C2 est une generalisation de C1. C1 est aussi considere plus specifique que C2 Exemple: L’ensemble de tous les triangles bleus est plus specifique que l’ensemble de tous les triangles. C1 est une specialisation immediate de C2 s’il n’y a pas d’autres concepts qui soit et une specialisation de C2 et une generalisation de C1. Un version space definit un graphe dont les noeuds sont des concepts et dont les arcs specifient qu’un concept est une specialisation immediate d’un autre. (Voir exemple en classe)

Version Spaces: Survol (1) Un Version Space a deux limites: La Limite Generale et la Limite Specifique Les limites sont modifiees apres chaque presentation d’un nouvel exemple. Au depart, la limite generale consiste simplement de (?,?,?); La limite specifique consiste de toutes les feuilles de l’arbre de Version Space. Lorsqu’un nouvel exemple positif est presente, on generalise tous les exemples de la limite specifique jusqu’a ce qu’elle soit compatible avec l’exemple Lorsqu’un nouvel exemple negatif est presente, on specialise chacun des concepts de la limite generale jusqu’a ce qu’elle ne soit plus compatible avec l’exemple

Version Spaces: Survol (2) Si les limites specifique et generale sont maintenues selon les regles que nous venons de presenter, alors un concept est garanti d’inclure tous les exemples positifs et d’exclure tous les exemples negatifs s’il tombe entre les limites generale et specifique. Plus general Limite specifique Si f est ici, il inclut tous les exemples + Et exclut tous les exemples - Limite Generale Plus specifique (Voir exemple en classe)

Arbres de Decision: Introduction La forme la plus simple d’aorentissage est la memorisation de tous les exemples d’entrainement. Probleme: La memorisation n’est pas utile pour de nouveaux exemples  On doit trouver un moyen de generaliser au dela des exemples anciens. Solution Possible: Plutot que de memoriser chaque attribut de chaque exemples, on peut essayer de memoriser seulement ceux qui permettent de distinguer entre les exemples positifs et negatifs. C’est ce que font les arbres de decision. Note: Les memes donnees peuvent etre representees par des arbres differents. Le Rasoir d’Occam suggere que l’on choisisse le plus petit. (Voir Exemples en Classe)

Arbres de Decision: Construction Etape 1: On choisit un attribut A (= Noeud 0) et on divise les exemples selon la valeur de cet attribut. Chacun de ces groupes correspond a un enfant du Noeud 0. Etape 2: Pour chaque descendant du Noeud 0, si les exemples de ce descendant sont homogenes (ont la meme classe), on s’arrete. Etape 3: Si les exemples de ce descendent ne sont pas homogenes, alors on appelle la procedure recursivement sur ce descendent. (Voir exemple en Classe)

Arbres de Decision: Choisir des Attributs qui meneront a de Petits Arbres (I) Pour obtenir un petit arbre, il faut choisir des attributs qui minimisent une mesure particuliere de desordre dans les sous-arbres qu’ils engendrent. Le desordre et l’information son relies de la maniere suivante: plus il y a de desordre dans un ensemble S, le plus d’information est necessaire afin de deviner correctement un element de cet ensemble. Information: Quelle est la meilleure strategie pour deviner un nombre etant donne un ensemble fini S de nombres? i.e., Quel est le nombre minimal de questions necessaires pour trouver la bonne reponse? Reponse: Log2|S| ou |S| represente la cardinalite de S.

Arbres de Decision: Choisir des Attributs qui meneront a de Petits Arbres (II) Log2|S| peut etre vu comme la valeur de l’information qui nous donne la valeur de x (le nombre a deviner) plutot que d’avoir a le deviner nous meme. 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 (donnees positives et negatives). La valeur de l’information qui nous donne la valeur de x une fois que l’on sait si x est positif ou negatif est: I({P,N})=Log2|S|-|P|/|S|Log2|P|-|N|/|S|Log2|N|

Arbres de Decision: Choisir des Attributs qui meneront a de Petits Arbres (III) On veut utiliser la mesure precedente afin de choisir un attribut qui minimise le desordre dans la partition qu’il creee. Soit {Si | 1  i  n} une partition de S qui resulte d’un attribut particulier. Le desordre 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 negatifs en Si (Voir Exemple en Classe)

Arbres de Decision: Autres Questions Il faut trouver un moyen de traiter les attributs qui ont comme valeurs des nombres continus ou des valeurs discretesappartenant a un tres 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’etiquettage des exemples que dans les valeurs d’attributs.

Reseaux Neuronneaux: Introduction (I) Qu’est ce qu’un Reseau Neuronneau? C’est un formalisme pour representer les fonctions qui s’inspire des systemes biologiques et qui est compose d’unites de calcul qui performe de simples fonctions, mais chacune en parallele. Exemple de trois differents types d’unites de calcul: Unite d’Addition Unite de Multiplication Unite de Seuil (Continu (exemple: la Sigmoide) ou non) (Voir illustration en Classe)

Reseaux Neuronneaux: Apprentissage (I) Ces unites de base sont ensuite connectees afin de former un reseau capable de calculer des fonctions compliquees. (Voir Exemple en Classe: 2 representations) Puisque ce reseau a une sordi sigmoidale, il implemente une fonction f(x1,x2,x3,x4) dont la sortie est dans la rangee [0,1] Ce qui nous interesse dans les reseaux neuronneaux c’est qu’ils sont capable d’apprendre cette fonction. L’apprentissage consiste a chercher dans l’espace de toutes les matrices possibles de valeurs de poids une combinaison de poids qui satisfait une base de donnees positives et negatives de quatre attributs (x1,x2,x3,x4) et deux classes (y=1, y=0)

Reseaux Neuronneaux: Apprentissage (II) Veuillez noter qu’un reseau neuronneau avec un ensemble de poids ajustables represente un espace d’hypotheses restreint correspondant a une famille de fonctions. La taille de cet espace peut etre augmentee ou diminuee en augmentant ou diminuant le nombre d’unites cachees presentes dans le reseau. L’apprentissage est fait en utilisant une approche de “hill-climbing” appelee BACKPROPOAGATION et basee sur le paradigme de la recherche par gradient.

Reseaux Neuronneaux: Apprentissage (III) L’idee de la recherche par gradient est de prendre de petits pas dans la direction qui minimise le gradient (ou derivative) de l’erreur de la fonction qu’on essaye d’apprendre. Lorsque le gradient a la valeur zero, on a atteint un minimum local, qui, on l’espere, est egalement un minimum global. (Les details de l’apprentissage sur Reseaux Neuronneaux seront couvert en classe si le temps le permet)