Apprentissage de modèles probabilistes - ... · • réseau de neurones W ... • Notes de cours...

Post on 15-Sep-2018

228 views 0 download

Transcript of Apprentissage de modèles probabilistes - ... · • réseau de neurones W ... • Notes de cours...

1

Apprentissage de modèles probabilistes

DEA Génomique InformatiqueF. Coste, 2002-2003

Exemple

Apprendre concept « gens aisés » (revenu > moyenne)

• Objets à classer O : population française • Description D : {répondeur, répondeur}• Classes : {aisé, aisé}• Echantillon représentatif

40% pop. est aisée80% pop aisée a un répondeur, sinon seulement 45%

Classe k aisé aisé

P(k) 0,4 0,6

P(répondeur/k) 0,8 0,45

2

Rappels de probas…

• Probabilité• Probabilité conjointe• Probabilité conditionnelle• Probabilité marginale• Indépendance• Règle de Bayes

Règles de classification

• Majoritaire∀o, hmaj(o) = aisé

• Maximum de vraisemblancechoix de la classe pour laquelle la description est la plus probableargmax k∈[1,C] P(d/k)

hmaxv (répondeur) = aisé ; hmaxv (répondeur) = aisé

Pb : classification en {Télécom, Médecin, Ouvrier} avec P(répondeur/Télécom) = 1

⇒ hmaxv (répondeur) = Télécom

Classe k aisé aisé

P(k) 0,4 0,6

P(répondeur/k) 0,8 0,45

3

Règles de classification

• Bayesclasse de probabilité maximale pour la description

argmax k∈[1,C] P(k/d) = argmax k∈[1,C] P(d/k) × P(k)

Rappel formule de Bayes P(k/d) =

P(répondeur/aisé) × P(aisé) = 0,8×0,4 = 0,32P(répondeur/aisé) × P(aisé) = 0,45×0,6 = 0,27P(répondeur/aisé) × P(aisé) = 0,2×0,4 = 0,08P(répondeur/aisé) × P(aisé) = 0,55×0,6 = 0,33

Nécessite connaissance de P(d/k) et P(k) !...

Classe k aisé aisé

P(k) 0,4 0,6

P(répondeur/k) 0,8 0,45

P(d/k) P(k)P(d) indépendant de k

hBayes (répondeur) = aisé

hBayes (répondeur) = aisé

Propriétés du classificateur de BayesCBayes(d) = argmax k∈[1,C] P(k/d)

= argmax k∈[1,C] P(d/k) × P(k)

• Si E(CBayes) = 0 alors c(o1) ≠ c(o2) ⇒ d(o1) ≠ d(o2)(le problème est dit déterministe)

• Classification d’erreur minimale

∀h, E(CBayes) ≤ E(h) ≤ E(Majoritaire)

Mais nécessite connaissance de P(d/k) et P(k) !

4

Classificateur naïf de BayesApproximation de P(d/k) et P(k) inconnus

si D = A1 × A2 × ... × AmCBayes(d) = argmax k∈[1,C] P(<a1, ... , am>/k) × P(k)

si valeurs des attributs indépendantes sachant k (!) P(<a1, ... , am>/k) = ∏i∈[1,m] P(ai/k)

alors en notant P(ai/k) l'estimation de P(ai/k)(proportion d'objets de classe k, ayant comme ième attribut ai)

Hypothèses « fausses », mais bons résultats en pratique...

CNaiveBayes(d) = argmax k∈[1,C] ∏i∈[1,m] P(ai/k) × P(k)^ ^

^

Application à la classification automatique de textes

5

Le corpus(François Denis : www.cmi.univ-mrs.fr/~fdenis/)

• Corpus : 100 premiers mots des fables de la Fontaine et d’Esope

• Ai : mot figurant à la ième positionLa cigale ayant chanté tout l’été...

A1 = la, A2 = cigale, ...

• Possibilité d’utiliser à la place des mots le résultat de l’analyse lexicale et morphologique (prétraitement)

La pianiste donne le la à la cantatrice.A1 = article(la, féminin, singulier), A2 = nom(pianiste, féminin, singulier)...

Indépendance des attributs ?

Probabilité d’observer une phrase d’une classe donnéene dépend que de la probabilité d’observer les mots enleur position.

Soit, pour l’exemple, il faudrait supposer que :p(La cigale ayant... / Esope)

= p(A1 = La / Esope) × p(A2 = cigale / Esope) × ... !!!

6

Pourquoi ça marche ?

• Hypothèse nécessaire :

Supposer l’indépendance des attributsne doit pas être plus pénalisant dansune classe que dans une autre

Représentation par sac de mots

Hyp. : probabilité de trouver un mot à une position donnée est indépendante de la position

p(La cigale ayant... / Esope)

= p(La / Esope) × p(cigale / Esope) ...

→ Représentation par sac de mots (bag of words)La pianiste donne le la à la cantatrice.

{à, cantatrice, donne, la, la, la, le, pianiste}La France bat l’Italie en finaleL’Italie bat la France en finale

{bat, en, France,Italie, finale, l, la,}

7

Règle de classification « Bayes naïf sur sac de mots »

• Choisir pour une suite de mots m1..mlla classe ck qui maximise :

où p(mi|ck) estimation de la probabilité de trouver mot mi dans la classe ck

Une première estimation

Term Frequency : nombre d'occurrences du mot m dans la classe c

Nombre de documentsNombre de documents de classe c

8

Estimateur de Laplace(Mitchell, Vapnik ?)

• Probabilité non nulle pour les mots inconnus

On a bien pour toute classe c :

Bayes naïf sur sac de mots• Difficile de faire mieux ?

An ongoing surprise and disapointment is that structurally simple representation produced without linguistic or domain knowledge have been as effective as any others [Lewis 98]

• Variantes :– Binary independence model (BIM)– Sélection d’un sous ensemble de mots pertinents– ...

• Voir aussi : Classifieurs TFIDF« plus proches voisins sur une sélection de mots »

9

Sélection d’un bon sous ensemble du vocabulaire

• Bayes Naïf Sac de mots : environ 50000probabiblités à évaluer par auteur...

• Idées :– supprimer les mots les plus rares– supprimer les mots les plus courants (et, le, ...)– sélectionner les mots les plus discriminants :

choisir le sous-ensemble de mots induisant les gains en information les plus importants.

Apprentissage de HMM• Cette partie du cours fait de larges emprunts aux transparents suivants :

– Hidden Markov Model and multiple sequence alignment, S. C. Schmidler :http://scpd.stanford.edu/SOL/courses/proEd/RACMB/downloads/april13part2_4_13_99_Sc2.pdf

– Modèles de Markov cachés et application à la bioinformatique, L. Bréhélin, équipe MAAS,LIRMM http://www.lirmm.fr/~~rivals/DEA/Plan.html#secmateriaux (voir aussi « document » )

– Profile Hidden Markov Models, W. Zhang

• Références :– An introduction to HMM for biological sequences , Anders Kroghhttp://linkage.rockefeller.edu/wli/gene/krogh98.pdf

– Profile hidden Markov models , Bioinformatics Review 1998, Sean Eddy (PFAM) http://www.genetics.wustl.edu/eddy/people/eddy

• Autres liens :– Page tutoriel HMM de ISMB99 : http://www.cse.ucsc.edu/research/compbio/ismb99.tutorial.hml

– Introduction aux HMM « interactive » :

http://www.comp.leeds.ac.uk/scs-only/teaching-materials/HiddenMarkovModels /html_dev/main.html

– Prédiction d’hélice transmembranaire sur le Web par HMM :http://www.cbs.dtu.dk/services/TMHMM1.0/TMHMM1.0.guide.html

10

HMM

Modèles de Markov Cachés (Hidden Markov Models)

• Introduits par Baum dans les années 60.• Utilisés à partir des années 80 en reconnaissance

de la parole où ils se sont rapidement imposéscomme un modèle de référence.

• Appliqués ensuite à la reconnaissance de textes manuscripts, au traitement d’images…

…et à la Bioinformatique.

Chaînes de Markov• Chaîne de Markov

P(X0,X1,…,Xt) = P(X0)P(X1/X0)…P(Xt/Xt-1)• Formellement

– Epace d’états– Matrice de transition– Distribution initiale

→ un automate stochastique :

,…,

11

Séquences générées

• = séquences d’étatspar exple :

• Graphiquement :

• C’est bien une chaîne de Markov :

S0 S1 S1 S1 S0 S1 …

Exemple

• Génération d’une chaîne de markov « d’ADN » :

• Probabilité de la séquence :

Fréquence des dinucléotides (« base stacking »)

12

• Séquence observé est une fonction probabiliste sur une chaîne de markov sous-jacente

Exemple : HMM « ADN bruitée »

Séquence d’états « cachée »,seulement séquence observée

Chaînes de Markov Cachées

Exemples sur protéines

• Prédiction de structure secondaireEtats = structure secondaire(Asai et al, Stultz et al)

• Reconnaissance de repliements(Moult, Hubbard et. al.)

P(aa/H)P(aa/H) P(aa/H) P(aa/L) P(aa/L)

13

HMM

• Used for fold-recognition (Hubbard et. al.)

Différents types de HMM…• Observable :

– discret P(ok|s) – continu ps (o)

• gaussienne µ,σ• mélange de gaussiennes {µn,σ n}• réseau de neurones W• ...

• Matrice de transition :– « entière » : HMM ergodique (complètement connecté)– diagonale : modèle gauche-droite– ...

14

HMMGénération de abcccb :

Visuellement

15

Les 3 problèmes classiques

Problème 1

16

Approche directe

2T multiplications par séquences d’états possiblesDans le pire cas, NT séquences d’états possibles

⇒ O(T NT) opérationsExple : N = 5, T = 100 ⇒ ≈1072 opérations !

On parcourt toutes les séquences d’états

possibles :

La procédure forward

S

Tt+1t1α

S1

S2

SN

17

La procédure backward

S

Tt+1t1β

S1

S2

SN

Forward-Backward

→ probabilité de générer Ot en Sj =

S

Tt+1t1α,β

S1

S2

SN

18

Problème 2

Algorithme de Viterbi

S

Tt+1t1δ

S1

S2

SN

Chaînage arrière

19

Problème 3

Facilement généralisable à un ensemble de séquences

Principe du maximum de vraisemblance

• Initialisation du modèle λ• Répéter

– [E] : calcul de αt(s) et βt(s) pour tout t(Forward/Backward)

– [M] : P(s→s’) = P(s→s’)P(o|s) = P(o|s)

• jusqu’à « stabilité » de la vraisemblance

On peut montrer que P(O|λ’) > P(O|λ)Convergence vers un optimum local !

(détails des estimateurs dans transparents de Laurent Bréhélin)

Algorithme de Baum Welch(Expectation-Maximization)

20

Apprentissage paramétrique…• HMM, (PA)

• Stochastic CFG Inside Outside, O(n3) [Lari et al 90]Tree Grammar EM à partir d’exemples structurés, O(n) pour la modélisation de familles d’ARN [Skakibara et al 94]

• Stochastic Ranked Node Rewriting GrammarPredicting Protein secondary structure using Stochastic Tree Grammars [Abe & H. Mamitsuka 97]

En guise de conclusion

• Apprentissage de modèles• Apprentissage de paramètres (« entraînement »)

• Mixer les deux...Travaux récents sur l’apprentissage de la structure et des paramètre de HMM (ou l’inférence d’automates stochastiques)Alergia [Oncina et al 93], [Stolcke et al 94],MDI [Dupont,Thollard 00]…

21

Cours d’apprentissage…

• Notes de cours d'apprentissage automatique et exercicesde F. Denis et R. Gilleron, GRAPPA, Univ. Lille

(Problématique, arbres de décision, réseaux de neurones)http://www.grappa.univ- lille3.fr/grappa/index.php3?info=apprentissage

• Cours d’apprentissage de Y. Bengio, IRO, Univ. Montréal(en particulier la partie sur les réseaux de neurones)

http://www.iro.umontreal.ca/~bengioy/ift6266/

• Ron Rivest ’s Machine Learning Coursehttp://theory.lcs.mit.edu/~mona/6858-F94.html