Chapitre 7: Groupage
Estimation paramétrique de densité Paramétrique: fait comme hypothèse d’une densité de probabilité unique et simple pour p (x | Ci) (Chapitres 4 et 5) Ex. distribution normale: pratique car nécessite peu de paramètres de distribution (moyenne et covariance) Par contre, il faut que les données respectent cette distribution sinon il y aura un biais et la modélisation sera déficiente. Exemples: Différentes façons d’écrire 1: un, uns, un, one Différentes prononciation des mots Lecture Notes for E ALPAYDIN 2004 Introduction to Machine Learning © The MIT Press (V1.1)
Estimation à partir de données Tiré de Pattern Recognition and Machine Learning de Christopher M. Bishop Lecture Notes for E ALPAYDIN 2004 Introduction to Machine Learning © The MIT Press (V1.1)
Estimation à partir de données Tiré de Pattern Recognition and Machine Learning de Christopher M. Bishop Lecture Notes for E ALPAYDIN 2004 Introduction to Machine Learning © The MIT Press (V1.1)
Estimation semi-paramétrique de densité Semi-paramétrique: p (x | Ci) est un mélange de densités afin de tenir compte de: Différentes explications/prototypes: Différentes prononciations, différentes callygraphies, etc. Somme de différentes estimations paramétriques Lecture Notes for E ALPAYDIN 2004 Introduction to Machine Learning © The MIT Press (V1.1)
Estimation non-paramétrique Aucun modèle de probabilité de densité, les données parlent d’eux-même (Chapitre 8) Lecture Notes for E ALPAYDIN 2004 Introduction to Machine Learning © The MIT Press (V1.1)
Estimation semi-paramétrique: Mélange de densités où Gi est un composant (aussi appelé groupe/grappe) P ( Gi ): pourcentage du mélange (apriori), p ( x | Gi): densité du composant k: nombre de composants fixé initialement Lecture Notes for E Alpaydın 2004 Introduction to Machine Learning © The MIT Press (V1.1)
Estimation semi-paramétrique: Mélange de densités Exemple: Mélange gaussien où p(x|Gi) ~ N ( μi , ∑i ) Paramètres Φ = {P ( Gi ), μi , ∑i }ki=1 estimées à partir d’échantillons X={xt}t Contrairement à la classification, les échantillons X={xt}t ne sont pas étiquetés Lecture Notes for E Alpaydın 2004 Introduction to Machine Learning © The MIT Press (V1.1)
Classes .vs. Grappes Supervisé: X = { xt ,rt }t Classes Ci i=1,...,K où p ( x | Ci) ~ N ( μi , ∑i ) Φ = {P (Ci ), μi , ∑i }Ki=1 Semi-supervisé : X = { xt }t Grappe Gi i=1,...,k où p ( x | Gi) ~ N ( μi , ∑i ) Φ = {P ( Gi ), μi , ∑i }ki=1 Étiquettes, r ti ? Lecture Notes for E ALPAYDIN 2004 Introduction to Machine Learning © The MIT Press (V1.1)
Groupage des k-moyennes Exemple: Soit une image couleurs de N pixels que l’on veut coder. Supposons que chacun des pixels a trois composantes de couleurs {R, G, B} et que chacune des composantes de couleurs est codée avec 8 bits de résolution. Combien de bits seront nécessaires pour coder l’image entière? Lecture Notes for E ALPAYDIN 2004 Introduction to Machine Learning © The MIT Press (V1.1)
Images originales: 240x180 pixels Tiré de Pattern Recognition and Machine Learning de Christopher M. Bishop 24x240x180=1,036,800 bits Combien de bits il faut pour coder chacune de ces images? Lecture Notes for E ALPAYDIN 2004 Introduction to Machine Learning © The MIT Press (V1.1)
Compression de l’image Comment faire pour réduire le nombre de bits nécessaires pour coder les images sans réduire le nombre de pixels? En réduisant la palette de couleurs {R, G, B} 24 bits: 16 millions de couleurs possibles 8 bits: 256 couleurs possibles On parlera alors de quantification ou de vecteur de quantification de la palette de couleurs Comment quantifier? Quantification uniforme? Quantification non-uniforme? groupage des k-moyennes Quelle est la meilleure quantification? Pensez à des images où il y aurait de ciel où le bleu est très dominant mais pas de rouge. Une quantification uniforme ne serait pas appropriée. Lecture Notes for E ALPAYDIN 2004 Introduction to Machine Learning © The MIT Press (V1.1)
Groupage des k-moyennes Trouver k vecteurs de référence (prototypes/ vecteurs du livre de codes/ mots de code) qui représentent le mieux les données Vecteurs du livre de codes: mj, j =1,...,k Quel vecteur utilisé pour coder un échantillon? Utiliser la plus proche (plus similaire) référence: Lecture Notes for E ALPAYDIN 2004 Introduction to Machine Learning © The MIT Press (V1.1)
Encodage/Décodage Livre de codes Lecture Notes for E ALPAYDIN 2004 Introduction to Machine Learning © The MIT Press (V1.1)
Groupage des k-moyennes Questions: Comment trouver les k valeurs les plus représentatives des échantillons X={xt}t ? En d’autres mots, comment trouver les k mots de codes mj Pour notre exemple de réduction du nombre de couleurs dans notre palette de couleurs, ça revient à dire comment choisir les k couleurs les plus représentatives de nos images? Lecture Notes for E ALPAYDIN 2004 Introduction to Machine Learning © The MIT Press (V1.1)
Comment calculer les mi Quand xt est représenté par mi , il y a une erreur de quantification de l’ordre de : Pour l’image entière, nous voulons que ces distances pour chacun des pixels soient les plus petites (minimales). En d’autres mots, nous voulons que l’erreur de reconstruction suivant soit le plus petit possible : Lecture Notes for E ALPAYDIN 2004 Introduction to Machine Learning © The MIT Press (V1.1)
Groupage des k-moyennes Le meilleur livre de codes sera celui qui aura la plus petite erreur de reconstruction. Il faut déterminer bti et mi des équations 1 et 2 du transparent précédent Puisque bti et mi sont dépendants, nous ne pouvons pas les estimer analytiquement. Nous allons plutôt une approche itérative pour estimer le meilleur livre de codes soit l’approche du groupage des k-moyennes Lecture Notes for E ALPAYDIN 2004 Introduction to Machine Learning © The MIT Press (V1.1)
Technique du groupage des k-moyennes Partir de k valeurs aléatoires pour mi Utiliser l’équation 2 pour étiqueter les échantillons. Si bti= 1 alors nous disons que xt est du groupe mi Nous minimisons alors l’équation 1 i.e. prendre la dérivée par rapport à mi et égaliser le tout à 0. … Lecture Notes for E ALPAYDIN 2004 Introduction to Machine Learning © The MIT Press (V1.1)
Somme des échantillons étiquetés i Nombre d’échantillons étiquetés i On calcule la moyenne des échantillons étiquetés i. En d’autres mots, on ré-estime mi Lecture Notes for E ALPAYDIN 2004 Introduction to Machine Learning © The MIT Press (V1.1)
Algorithme du groupage des k-moyennes Partir de k valeurs aléatoires pour mi Utiliser l’équation 2 pour étiqueter les échantillons. Si bti= 1 alors nous disons que xt est du groupe mi Ré-estimons mi selon Revenons au point 2. Lecture Notes for E ALPAYDIN 2004 Introduction to Machine Learning © The MIT Press (V1.1)
Groupage des k-moyennes Lecture Notes for E ALPAYDIN 2004 Introduction to Machine Learning © The MIT Press (V1.1)
Lecture Notes for E ALPAYDIN 2004 Introduction to Machine Learning © The MIT Press (V1.1)
Tiré de Pattern Recognition and Machine Learning de Christopher M Tiré de Pattern Recognition and Machine Learning de Christopher M. Bishop Lecture Notes for E ALPAYDIN 2004 Introduction to Machine Learning © The MIT Press (V1.1)
Tiré de Pattern Recognition and Machine Learning de Christopher M Tiré de Pattern Recognition and Machine Learning de Christopher M. Bishop Lecture Notes for E ALPAYDIN 2004 Introduction to Machine Learning © The MIT Press (V1.1)
Images originales k=2 k=3 k=10 Tiré de Pattern Recognition and Machine Learning de Christopher M. Bishop 24x240x180=1,036,800 bits k=2 k=3 k=10 Lecture Notes for E ALPAYDIN 2004 Introduction to Machine Learning © The MIT Press (V1.1)
Images originales k=10 k=2 k=3 Tiré de Pattern Recognition and Machine Learning de Christopher M. Bishop 24x240x180=1,036,800 bits k=2 k=10 k=3 Lecture Notes for E ALPAYDIN 2004 Introduction to Machine Learning © The MIT Press (V1.1)
Exemple en audio Prédiction linéaire (Linear Predictive Coding: LPC) Essaie de prédire un échantillon audio à partir des 10 échantillons précédents Comment? Lecture Notes for E ALPAYDIN 2004 Introduction to Machine Learning © The MIT Press (V1.1)
CELP Estimons l’erreur de codage Erreur de codage: Codons l’erreur avec le groupage par k-moyennes et transmettons-la avec les LPC. Ça devient le Code-Excited Linear Prediction (CELP) Lecture Notes for E ALPAYDIN 2004 Introduction to Machine Learning © The MIT Press (V1.1)
CELP Code-Excited Linear Prediction: On code l’erreur par quantification vectorielle Objectif: générer un livre de code (codebook) d’échantillon-type d’erreurs. Un peu comme générer une palette de couleur. Au lieu de transmettre l’erreur, on transmet un index qui pointe sur l’erreur-type le plus proche. Cela augmente le débit par rapport à LPC mais cela produit une qualité de voix beaucoup plus naturelle. Lecture Notes for E ALPAYDIN 2004 Introduction to Machine Learning © The MIT Press (V1.1)
Quantification vectorielle Lecture Notes for E ALPAYDIN 2004 Introduction to Machine Learning © The MIT Press (V1.1)
ACELP de VoiceAge Algebraic CELP Microsoft clearly recommends using the ACELP codec by VoiceAge. This is the same codec RealNetworks uses to encode speech.”, "Indeed, when encoded at just 16 Kbps (one-fourth the size), the ACELP voice codec nearly matches MP3 quality at 64 Kbps!” G.729: 8kbits/seconde (VoIP) AMR est aussi basé sur le ACELP Lecture Notes for E ALPAYDIN 2004 Introduction to Machine Learning © The MIT Press (V1.1)
Exemples sonores Exemples de signaux de parole: 16 bits linéaire (128kbps) LPC-10 (2,4kbps) VoIP CELP (8kbps) CELP (4,8kbps) Exemples de signaux de musique LPC-10 G.729 Tiré de http://www.cs.ucl.ac.uk/teaching/Z24/samples/ Lecture Notes for E ALPAYDIN 2004 Introduction to Machine Learning © The MIT Press (V1.1)
Signaux musicaux Autres façons de compresser le signal de musique: en changeant la fréquence d’échantillonnage 128 kbps @ 44,1 kHz 64 kbps @ 22,05 kHz 32 kbps @ 11 kHz Lecture Notes for E ALPAYDIN 2004 Introduction to Machine Learning © The MIT Press (V1.1)
Expectation-Maximization (EM) Tiré de Pattern Recognition and Machine Learning de C. M. Bishop Pattern Recognition and Machine Learning de C. M. Bishop
Expectation-Maximization (EM) Groupage de k-moyennes: trouver le livre de codes qui minimise l’erreur de reconstruction Nous examinerons maintenant une approche probabiliste pour trouver un livre de codes de composantes de fonctions de densité de probabilités qui maximise la vraisemblance des données. Pattern Recognition and Machine Learning de C. M. Bishop
EM Problème: Comment faire pour dire à quelle N(μi,∑i), x appartient? Ça nous prendrait un oracle! Pattern Recognition and Machine Learning de C. M. Bishop
EM Nous avons K distributions, définissons-nous un oracle z Z est constitué de zéros et d’un seul 1 correspondant à la distribution auquelle x appartient. Par exemple, le x suivant appartiendrait à la distribution j. jième élément de la liste ou jième mode Pattern Recognition and Machine Learning de C. M. Bishop
EM : Maximum de vraisemblance Nous avons un ensemble d’observations et les variables aléatoires cachées correspondantes: Pattern Recognition and Machine Learning de C. M. Bishop
EM Dans le jargon mathématique, z est une variable aléatoire cachée avec les probabilités suivantes: Pattern Recognition and Machine Learning de C. M. Bishop
EM Il peut sembler que l’ajout de z est inutile. Nous avions déjà trouvé p(x) sous la même forme au transparent 35. Nous verrons qu’il nous sera utile pour estimer les paramètres suivants: πi et N(μi,∑i). Un nouveau paramètre utile sera la probabilité conditionnelle de z sachant x Pattern Recognition and Machine Learning de C. M. Bishop
EM : Maximum de vraisemblance Probabilité de vraisemblance est donnée par : Fonction de logarithme de vraisemblance est donnée par : Pattern Recognition and Machine Learning de C. M. Bishop
Trouver μi Dériver la fonction de logarithme de vraisemblance par rapport à μi et égaler le tout à 0 Pattern Recognition and Machine Learning de C. M. Bishop
Trouver ∑i Dériver la fonction de vraisemblance par rapport à ∑i et égaler le tout à 0 Pattern Recognition and Machine Learning de C. M. Bishop
Trouver πi Contrainte supplémentaire, la somme des πi doit être égale à 1. On utilise alors le multiplicateur de Lagrange dans le calcul de la vraisemblance Pattern Recognition and Machine Learning de C. M. Bishop
Algorithme EM Initialiser les moyennes μi , les covariances ∑i et les coefficients de pondération πi à des valeurs quelconques et calculer la fonction de logarithme de vraisemblance. E-étape: Évaluer la valeur suivante: Pattern Recognition and Machine Learning de C. M. Bishop
Algorithme EM M-Étape: Ré-estimer les moyennes μi ,les covariances ∑i et les coefficients de pondération πi à des valeurs quelconques et calculer la fonction de logarithme de vraisemblance. Pattern Recognition and Machine Learning de C. M. Bishop
Algorithme EM Ré-évaluer la fonction du logarithme de vraisemblance et vérifier pour la convergence. Si le critère de convergence n’est pas atteint alors retourner au point 2. Pattern Recognition and Machine Learning de C. M. Bishop
Algorithme EM Éviter les situations où il y a un seul élément x pour une distribution. Pattern Recognition and Machine Learning de C. M. Bishop
Pattern Recognition and Machine Learning de C. M. Bishop