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