1 csi 4506: introduction à lintelligence artificielle lapprentissage inductif

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

Upload: gwenaelle-leclercq

Post on 04-Apr-2015

114 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 1 CSI 4506: Introduction à lintelligence artificielle Lapprentissage inductif

1

CSI 4506: Introduction CSI 4506: Introduction à à l’intelligence artificiellel’intelligence artificielle

L’apprentissage inductif

Page 2: 1 CSI 4506: Introduction à lintelligence artificielle Lapprentissage inductif

2

Plan du CoursPlan du Cours

SurvolThéorieVersion SpacesArbres de décisionRéseaux neuronaux

Page 3: 1 CSI 4506: Introduction à lintelligence artificielle Lapprentissage inductif

3

L’Apprentissage inductif: SurvolL’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 conceptsClassification

– 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éClusteringDécouverte

– L’Apprentissage Online vs. Batch

Nous allons nous intéresser à l’apprentissage supervisé en mode Batch

Page 4: 1 CSI 4506: Introduction à lintelligence artificielle Lapprentissage inductif

4

Théorie de l’inférence Théorie de l’inférence inductive (1)inductive (1)

Soit X l’ensemble de tous les exemplesUn concept C est un sous-ensemble de XUn 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)

Page 5: 1 CSI 4506: Introduction à lintelligence artificielle Lapprentissage inductif

5

Théorie de l’inférence Théorie de l’inférence inductive (2)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

Programmed’Apprentissage

Page 6: 1 CSI 4506: Introduction à lintelligence artificielle Lapprentissage inductif

6

Théorie de l’inférence Théorie de l’inférence inductive (3)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èsesLes biais de préférence

Page 7: 1 CSI 4506: Introduction à lintelligence artificielle Lapprentissage inductif

7

Théorie de l’inférence Théorie de l’inférence inductive (4)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.

Page 8: 1 CSI 4506: Introduction à lintelligence artificielle Lapprentissage inductif

8

Théorie de l’inférence Théorie de l’inférence inductive (5)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.

Page 9: 1 CSI 4506: Introduction à lintelligence artificielle Lapprentissage inductif

9

Théorie de l’inférence Théorie de l’inférence inductive (6)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înementUn 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.

Page 10: 1 CSI 4506: Introduction à lintelligence artificielle Lapprentissage inductif

10

Théorie de l’inférence Théorie de l’inférence inductive (7)inductive (7)

Biais de Préférence:– Étant donne:

Un ensemble S d’exemples d’entraînementUn 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

Page 11: 1 CSI 4506: Introduction à lintelligence artificielle Lapprentissage inductif

11

Théorie de l’inférence inductive (8)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.

Page 12: 1 CSI 4506: Introduction à lintelligence artificielle Lapprentissage inductif

12

Théorie de l’inférence Théorie de l’inférence inductive (9): PAC-Learninginductive (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) = xD 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) > ) <

Page 13: 1 CSI 4506: Introduction à lintelligence artificielle Lapprentissage inductif

13

Théorie de l’inférence Théorie de l’inférence inductive (10): PAC-Learninginductive (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!

Page 14: 1 CSI 4506: Introduction à lintelligence artificielle Lapprentissage inductif

14

Théorie de l’inférence inductive(11)Théorie de l’inférence inductive(11) Quand peut-on croire à la réponse de notre algorithme

d’apprentissage?– Réponse théoriqueRé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înementUn 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

Page 15: 1 CSI 4506: Introduction à lintelligence artificielle Lapprentissage inductif

15

Version Spaces: DéfinitionsVersion 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)

Page 16: 1 CSI 4506: Introduction à lintelligence artificielle Lapprentissage inductif

16

Version Spaces: Survol (1)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

Page 17: 1 CSI 4506: Introduction à lintelligence artificielle Lapprentissage inductif

17

Version Spaces: Survol (2)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

Plus général

Limite spécifique

Si f est ici, il inclut tous les exemples +Et exclut tous les exemples -

(Voir exemple en classe)

Page 18: 1 CSI 4506: Introduction à lintelligence artificielle Lapprentissage inductif

18

Arbres de décision: Arbres de décision: IntroductionIntroduction

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)

Page 19: 1 CSI 4506: Introduction à lintelligence artificielle Lapprentissage inductif

19

Arbres de décision: Arbres de décision: ConstructionConstruction

É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)

Page 20: 1 CSI 4506: Introduction à lintelligence artificielle Lapprentissage inductif

20

Arbres de décision: Choisir des Arbres de décision: Choisir des attributs qui mèneront à de attributs qui mèneront à de

petits arbres (I)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.

Page 21: 1 CSI 4506: Introduction à lintelligence artificielle Lapprentissage inductif

21

Arbres de décision: Choisir des Arbres de décision: Choisir des attributs qui mèneront a de petits attributs qui mèneront a de petits

arbres (II)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(xU)Log2|S-U| Soit S=PN (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|

Page 22: 1 CSI 4506: Introduction à lintelligence artificielle Lapprentissage inductif

22

Arbres de décision: Choisir des Arbres de décision: Choisir des attributs qui mèneront a de petits attributs qui mèneront a de petits

arbres (III)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)

Page 23: 1 CSI 4506: Introduction à lintelligence artificielle Lapprentissage inductif

23

Arbres de décision: Autres Arbres de décision: Autres questions 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.

Page 24: 1 CSI 4506: Introduction à lintelligence artificielle Lapprentissage inductif

24

Réseaux neuronaux: Réseaux neuronaux: Introduction (I)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)

Page 25: 1 CSI 4506: Introduction à lintelligence artificielle Lapprentissage inductif

25

Réseaux neuronaux: Réseaux neuronaux: Apprentissage (I)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)

Page 26: 1 CSI 4506: Introduction à lintelligence artificielle Lapprentissage inductif

26

Réseaux neuronaux: Réseaux neuronaux: Apprentissage (II)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.

Page 27: 1 CSI 4506: Introduction à lintelligence artificielle Lapprentissage inductif

27

Réseaux neuronaux: Réseaux neuronaux: Apprentissage (III)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)