Florent	
  Renucci	
  
	
  
	
  

	
  
Table	
  des	
  matières	
  
Introduction	
  ................................................................................
Introduction	
  
	
  

Lorsque	
  l'on	
  dispose	
  d'un	
  échantillon	
  de	
  n	
  observations,	
  distribuées	
  sur...
 
II	
  -­‐	
  	
  Les	
  outils	
  
	
  

II.1	
  –	
  Famille	
  exponentielle	
  
	
  

La	
  famille	
  exponentielle	...
On	
   souhaite	
   maximiser	
   la	
   vraisemblance,	
   donc	
   maximiser	
   log P x θ
encore	
  xθ − G θ .	
  	
  
...
On	
   va	
   minimiser	
   la	
   distance	
   de	
   Bregman	
   en	
   jouant	
   successivement	
   sur	
   A	
   et	
...
J'ai	
  ensuite	
  effectué	
  l'ACP	
  classique	
  ("fil	
  rouge.m")	
  sur	
  la	
  nouvelle	
  matrice	
  X2	
  rédui...
 

V.3.b	
  –	
  Calcul	
  des	
  fonctions	
  
	
  

Il	
  est	
  intéressant	
  de	
  noter	
  que	
  l'on	
  peut	
  fa...
généralisée	
  devrait	
  être	
  équivalente	
  ou	
  plus	
  importante	
  que	
  celle	
  de	
  l'ACP	
  classique,	
  ...
Prochain SlideShare
Chargement dans…5
×

Generalization of Principal Component Analysis, report, 2012

410 vues

Publié le

Lorsque l'on dispose d'un échantillon de n observations, distribuées sur p features (donc une matrice de design n * p), il est possible qu'il existe un sous-espace, qui "décrive convenablement" (cette notion sera définie dans la suite) les données, en ayant diminué la dimension, donc en ayant simplifié l'analyse.
L'Analyse en Composantes Principales consiste en la recherche de ce sous-espace. La connaissance sur les données est quantifiée par la variance empirique. Plus cette variance est importante, plus les points de l'espace sont éloignés, et donc distinguables. On va donc chercher à réduire la dimension du problème, en général pour en simplifier l'étude, sous la contrainte de maximiser la variance obtenue dans l'espace sous-dimensionnel.

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
410
Sur SlideShare
0
Issues des intégrations
0
Intégrations
84
Actions
Partages
0
Téléchargements
7
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Generalization of Principal Component Analysis, report, 2012

  1. 1.   Florent  Renucci        
  2. 2. Table  des  matières   Introduction  ......................................................................................................................................  3   I  –  Pourquoi  généraliser  l'ACP  ?  .................................................................................................  3   II  -­‐    Les  outils  .....................................................................................................................................  4   II.1  –  Famille  exponentielle  ....................................................................................................................  4   II.2  –  Distance  de  Bregman  .....................................................................................................................  4   II.3  –  Lien  ......................................................................................................................................................  4   III  –  Concept  de  l'ACP  généralisée  ..............................................................................................  5   IV  –  Algorithme  .................................................................................................................................  5   V  –  Application  ..................................................................................................................................  6   V.1  –  Traitement  des  données  ...............................................................................................................  6   V.2  –  ACP  Classique   ....................................................................................................................................  6   V.3  –  ACP  généralisée  ...............................................................................................................................  7   V.3.a  –  Choix  de  G  ......................................................................................................................................................  7   V.3.b  –  Calcul  des  fonctions  ..................................................................................................................................  8   V.3.c  –  Suppression  des  lignes  nulles  ...............................................................................................................  8   V.3.d  –  Algorithme  ....................................................................................................................................................  8                              
  3. 3. Introduction     Lorsque  l'on  dispose  d'un  échantillon  de  n  observations,  distribuées  sur  p  features  (donc  une  matrice  de   design  n  *  p),  il  est  possible  qu'il  existe  un  sous-­‐espace,  qui  "décrive  convenablement"  (cette  notion  sera   définie  dans  la  suite)  les  données,  en  ayant  diminué  la  dimension,  donc  en  ayant  simplifié  l'analyse.   L'Analyse  en  Composantes  Principales  consiste  en  la  recherche  de  ce  sous-­‐espace.  La  connaissance  sur  les   données   est   quantifiée   par   la   variance   empirique.   Plus   cette   variance   est   importante,   plus   les   points   de   l'espace   sont   éloignés,   et   donc   distinguables.   On   va   donc   chercher   à   réduire   la   dimension   du   problème,   en   général  pour  en  simplifier  l'étude,  sous  la  contrainte  de  maximiser  la  variance  obtenue  dans  l'espace  sous-­‐ dimensionnel.     Notons  X = x!" !!!  ,!!!  la  matrice  de  design,  x! = x!" !!!  un  vecteur  d'observation.    On  a  donc  x! ∈ R! .  On   veut   trouver   les  θ! ∈ R!  tel   qu'il   soit   le   plus   proche   possible   de  x!  et   que  d < p,   d   étant   le   plus   petit   possible.  Cela  se  traduit  par  :  min!! x! − θ! ,  la  norme  étant  euclidienne.     En   vertu   de   :   x! ! = x ! − θ! ! + θ! ! ,   minimiser   x! − θ!  revient   à   maximiser   la   variance   inter,   ce   qui  correspond  à  l'intuition  de  départ.   Cependant,  si  l'on  adopte  une  approche  opposée,  les  conclusions  se  rejoignent  :     on  considère  un  ensemble  de  données  θ! , j ≤ n  d'un  espace  R! ,  elles  sont  affectées  par  un  bruit  gaussien,  et   l'on  observe  après  bruitage  les  x! ,  qui  évoluent  dans  un  espace  sur-­‐dimensionnel  R! .  On  souhaite  retrouve   les   θ!  initiaux.   Cela   revient   à   un   problème   de   maximisation   de   vraisemblance,   et   celle-­‐ci   s'écrit   :   − log L θ = x ! − θ! !  .  Cette  approche  est  donc  rigoureusement  équivalente  à  l'ACP.     L'ACP   classique   consiste   donc   à   se   débarrasser   d'un   bruit   gaussien   qui   a   affecté   les   données,   initialement  présentes  dans  un  espace  sous-­‐dimensionnel.     I  –  Pourquoi  généraliser  l'ACP  ?     Le  bruit  gaussien  ne  correspond  par  à  tous  types  de  données.  Pour  des  distributions  discrètes  (entières  ou   binaires)  par  exemple,  le  bruit  suivrait  plutôt  respectivement  une  loi  de  Poisson  ou  de  Bernoulli.  Et  donc   dans   ces   cas,   l'ACP   telle   qu'elle   serait   inutilisable,   on   ne   pourrait   pas   réduire   la   dimension   avec   cette   méthode.   L'idée  est  donc  de  généraliser   l'ACP   à   tous   types   de   bruits   appartenant   à   la   famille   exponentielle,   grâce  à  l'approche  équivalente  présentée  en  introduction.  La  vision  est  la  suivante  :  on  ne  cherche  plus  à   projeter   en   norme   euclidienne   pour   trouver   l'espace   sous-­‐dimensionnel,   mais   à   débruiter   des   observations.  Et  ce  bruit  est  évidemment  de  n'importe  quel  type  de  la  famille  exponentielle.    On  verra  que   cela  revient  à  projeter  en  distance  de  Bregman  :  puisque  le  résultat  est  plus  complexe,  la  méthode  est  plus   complexe.     Il   est   bon   de   remarquer   que   l'ACP   classique   est   un   cas   particulier   de   l'ACP   généralisée   :   la   distance   de   Bregman,  dans  le  cas  d'une  distribution  gaussienne,  coïncide  avec  la  distance  euclidienne,  donc  une  ACP   généralisée  avec  un  input  "classique"  (bruit  gaussien)  donne  le  même  résultat  que  l'ACP  classique.  Ce  qui   est  un  minimum  lorsque  l'on  généralise  une  méthode.     Enfin,   on   impose   la   famille   exponentielle,   parce   que   le   problème   de   maximum   de   vraisemblance   est   convexe.  
  4. 4.   II  -­‐    Les  outils     II.1  –  Famille  exponentielle     La  famille  exponentielle  est  définie  par  une  distribution  du  type  :   log P x θ = log P! x + xθ − G θ ,  où  :   • θ  est  le  paramètre  naturel  (cherché),   • P0  Est  constant  en  θ  (donc  n’interviendra  pas  dans  les  calculs  de  minimisation),   • G  caractérise  le  type  de  distribution.     Le  résultat  fondamental  que  nous  allons  utiliser  est  :  G! θ ≝ g θ = E[x|θ].  Intuitivement,  c'est  "le  x  que   l'on   trouverait,   sous   le   modèle   décrit   par  θ".   C'est   exactement   ce   qui   nous   intéresse   :   on   va   chercher   à   rapprocher  au  maximum  le  x  observé  du  θ  déduit,  donc  à  rapprocher  x  et  g θ .   En   particulier,   pour   une   distribution   gaussienne,  G θ = θ! /2  ,   donc   on   essaye   de   rapprocher   x   et  θ  (on   verra  en  II.3  en  quoi  cette  vision  coïncide  avec  l'ACP  classique).     II.2  –  Distance  de  Bregman     La  distance  de  Bregman  B!  s'applique  à  une  fonction  convexe  F,  entre  deux  points  p  et  q.   B! p    q = F p − F q − F′ q p − q .     Elle  mesure  "à  quel  point  une  fonction  est  convexe"  (c'est  la  double  flèche  sur  la  figure).     II.3  –  Lien    
  5. 5. On   souhaite   maximiser   la   vraisemblance,   donc   maximiser   log P x θ encore  xθ − G θ .     = log P! x + xθ − G θ ,   ou   On  va  montrer  que  maximiser  F: θ → g θ θ − G θ  revient  à  minimiser  une  distance  de  Bregman.     G  est  strictement  convexe,  donc  g  est  strictement  croissante,  donc  établit  une  bijection  entre  l'espace  de   départ  et  son  image.  On  peut  donc  définir  g !!  sur  son  espace-­‐image.   On  définit  donc  F: g θ → F θ  (ie  F = Fog !! ).   Par  ailleurs,     B! (x||g θ )   = F x − F g θ − F! g θ x − g θ   B! (x| g θ = F x − g θ θ + G θ − θ x − g θ   B! (x| g θ − F x =   −xθ + G θ   Donc  maximiser  log P x θ  revient  à  minimiser    B! (x| g θ − F x  ou  encore  B! (x| g θ .       Maximiser   la   vraisemblance   revient   à   minimiser   la   distance   de   Bregman   entre   le   x   observé   et   𝐠 𝛉 = 𝐄 𝐱 𝛉  :  le  x  déduit  à  partir  du  modèle  sous   𝛉.   On  "projette"  en  distance  de  Bregman,  et  plus  en  norme  euclidienne.     Si  le  bruit  est  gaussien,  comme  G θ = θ! /2  (cf  II.1),  g θ = θ,  donc     F θ = θ! − !! ! = !! ! ,  et  B! (x||g θ )   = !! ! − ! ! ! ! −g θ x−g θ = x − θ ! /2.   On  retombe  donc  sur  une  projection  en  norme  euclidienne  si  le  bruit  est  gaussien.       Par  ailleurs,  on  généralise  la  distance  de  Bregman    aux  matrices  et  aux  vecteurs  :     la  distance  de  Bregman  entre  2  matrices  ou  vecteurs  est  la  somme  des  distances  terme  à  terme.   III  –  Concept  de  l'ACP  généralisée     On  cherche  donc  Θ = argmin B! X    g Θ ,  avec  Θ  la  matrice  des  θ!  et  X  la  matrice  de  design  (celle  des  x! ).   Toujours   en   s'appuyant   sur   la   vision   de   l'ACP   classique,   on   va   chercher   une   base   de   l'espace   sous-­‐ dimensionnel,  et  les  coordonnées  dans  cette  base  des  vecteurs  θ! .     • •   La  base  sera  représentée  par  V,  telle  que  chaque  ligne  de  V  est  un  vecteur  de  la  base  v! … v! .   Les  coordonnées  seront  représentées  par  la  matrice   𝐀 = a!"   • De  sorte  que   𝚯 = 𝐀𝐕.   !!!,!!!   IV  –  Algorithme    
  6. 6. On   va   minimiser   la   distance   de   Bregman   en   jouant   successivement   sur   A   et   sur   V,   en   gardant   l'autre   paramètre  constant.   Cela  signifie  que  :   • •     • on  part  d'un  V  quelconque,       pour  chaque  indice  c  de  ligne  de  A  et  de  colonne  de  V  :       o on  minimise  B! X  g AV    sur  chaque  composante  de  la  ligne  de  A  successivement,       o on  minimise  B! X  g AV    sur  chaque  composante  de  la  colonne  de  V  successivement,     o on  répète  les  étapes  2  et  3  jusqu'à  convergence.   On  répète  ces  étapes  jusqu'à  convergence.   Le   problème   est   globalement   convexe,   comme   expliqué   en   I,   puisque   l'on   s'est   limités   à   la   famille   exponentielle.  En  revanche,  il  n'est  pas  convexe  en  A  et  en  V.  Donc  on  n'a   pas   la   certitude   que   l'algorithme   de  maximisation  de  la  vraisemblance  convergera.   V  –  Application       J'ai   implémenté   l'ACP   généralisée   sur   un   jeu   de   données   textuelles     de   ce   site   http://www.cs.nyu.edu/~roweis/data.html,   sur   les   conseils   de   M.   Bach.   Les   données   étaient   "   Word   Counts  from  Encyclopedia  Articles"  :  le  comptage  du  nombre  de  mots  d'articles  de  l'encyclopédie  Grolier.   Le  code  est  joint.       • • Les  observations  sont  des  titres  d'articles  (environ  31000)   Les  features  sont  les  mots  (environ  15000)   La  matrice  de  design  est  composée  d'entiers  naturels,  donc  un  bruit  gaussien  est  à  exclure.  C'est  la  raison   pour   laquelle   ce   type   de   données   est   ici   intéressant   :   il   s'agit   d'un   jeu   de   données   pour   lequel   l'ACP   classique   montrera   de   mauvais   résultats,   contrairement   à   l'ACP   généralisée,   et   démontrera   donc   la   pertinence  de  la  généralisation.     V.1  –  Traitement  des  données     Matlab   était   très   lent   lors   du   traitement   d'une   matrice   31000*15000,   j'ai   donc   réduit   le   nombre   d'observations  et  de  features.  J'ai  supprimé  des  observations  pour  n'en  garder  que  100,  et  j'ai  supprimé   les   features   pour   n'en   garder   que   20.   Les   observations   ont   été   supprimées   au   hasard   (cf   "fil   rouge.m"),   les   variables  ont  été  sélectionnées  sur  leur  norme  :  j'ai  supprimé  les  mots  qui  apparaissaient  le  moins.  Cela  se   traduit  par  une  norme  1  sur  un  vecteur  colonne  minimal  (cf  "reduit.m").        V.2  –  ACP  Classique    
  7. 7. J'ai  ensuite  effectué  l'ACP  classique  ("fil  rouge.m")  sur  la  nouvelle  matrice  X2  réduite,  donc  les  données  ont   été   centrées   réduites   ("acp.m"),   et   les   lignes   nulles   supprimées   (supprime0.m),   on   verra   par   la   suite   pourquoi.  Voici  les  valeurs  propres  cumulées  :       Ce   graphique   représente   le   gain   en   information   lorsque   l'on   augmente   la   dimension   du   sous-­‐espace   de   projection,  pour  une  ACP  classique.  On  retrouve  bien  ∑ 𝑣𝑝 = 91  (100  observations  –  9  lignes  nulles).     V.3  –  ACP  généralisée     Dans  l'ordre,  il  faut  :       • • • • Choisir  G   Calculer  G,  g,  f,  et  F   Supprimer  les  lignes  nulles  (on  verra  pourquoi)   Effectuer  l'algorithme  expliqué  en  IV   V.3.a  –  Choix  de  G     On  a  choisi  G  de  la  loi  de  Poisson,  puisqu'il  est  adapté  aux  données.  Mais  la  modification  de  la  définition  de   G   dans   le   code   est   possible   ("fil   rouge.m"),   pour   un   autre   jeu   de   données   par   exemple,   puisque   le   reste   du   code  s'y  adapte.    
  8. 8.   V.3.b  –  Calcul  des  fonctions     Il  est  intéressant  de  noter  que  l'on  peut  facilement  passer  de  g  à  f  :  f = g !!   En  effet,  on  a  F g θ g ! θ  f g θ = θg θ − G θ  donc  en  dérivant  par  rapport  à  θ,     = θg ! θ + g θ − g θ  ie  f g θ = θ.   Cette  astuce  est  utilisée  pour  le  calcul  des  fonctions  ("fil  rouge.m").     V.3.c  –  Suppression  des  lignes  nulles     Si   une   ligne   est   nulle,   ie   une   observation   voit   toutes   ses   variables   égales   à   0   (ce   qui   est   tout   à   fait   possible   dans   un   jeu   de   données),   la   distance   de   Bregman   ne   peut   pas   forcément   être   minimisée   sur   R.   En   ! l'occurrence,  B!  p    q   = p log + q − p  pour   notre   distribution.   Si  p = 0, B!  p    q   = q,   qui   n'a   pas   ! de  minimum  sur  R,  ce  qui  fait  planter  l'algorithme.     Si   l'on   tente   d'interpréter   ce   cas   particulier   :   la   donnée   observée   x,   que   l'on   essaie   d'approcher,   est   à   0.   Donc   on   cherche   a   tel   que  g av!  est   proche   de   x   en   distance   de   Bregman.   Mais   G   est   strictement   convexe,   donc   g   est   strictement   croissante,   et   souvent   strictement   positive   (sauf   pour   la   loi   normale),   en   l'occurrence  pour  nous  g θ = e! .  Donc  une  telle  fonction  g  n'approchera  jamais  convenablement  x.   C'est  peut-­‐être  une  lacune  de  l'ACP  généralisée  :  si  g   est   strictement   positive,  elle  pourra  difficilement   approcher  des  observations  proches  de  0.     Dans  notre  cas,  cela  n'a  pas  de  sens  :  un  article  a  forcément  au  moins  un  mot  dans  son  titre.   Cela   provient   de   la   simplification   en   début   d'étude   :   on   a   supprimé   des   variables-­‐mots,   donc   après   suppression,  certaines  observations  sont  peut-­‐être  toutes  à  0  (il  fallait  de  toutes  façons  faire  un  choix  sur   la  suppression).   Or   ça   n'est   pas   un   cas   rare   pour   des   applications   réelles,   par   exemple   pour   la   distribution   de   Bernoulli,  donc  la  fonction  g  est  aussi  strictement  positive,   rien  n'empêche  une  observation  d'être   à  0  sur  toutes  ses  features,  et  d'être  néanmoins  une  observation  valide  !   Il  faut  donc  gérer   les   vecteurs-­‐observations   identiquement   nuls  pour  certaines  distributions.  C'est  une   question  qui  reste  ouverte     V.3.d  –  Algorithme     La  distance  de  Bregman  entre  2  réels  est  codée  dans  "Br.m",  celle  entre  2  matrices  ou  vecteurs  dans  "B.m".   Le  minimum  de  la  fonction  "distance  de  Bregman"  se  fait  par  une  descente  de  gradient  ("minimumA.m"  et   "minimumV.m").   En   s'arrêtant   lorsque   le   minimum   est   en   moins   l'infini   (sinon   la   descente   durerait   longtemps).   Un   inconvénient   de   l'algorithme   est   le   temps   de   convergence   :   on   ne   sait   pas   à   l'avance   combien   de   boucles  effectuer,  et  on  n'a  pas  d'idée  sur  l'ordre  de  grandeur  de  la  complexité  de  l'algorithme.  Puisqu'il   n'est  pas  encore  démontré  qu'il  converge  (le  problème  est  globalement  convexe,  mais  pas  convexe  suivant   les  2  variables),  on  sait  encore  moins  en  combien  de  temps  il  converge.  C'est  aussi  une  question  qui  reste   ouverte.  A  priori,  comme  l'ACP  classique  est  un  cas  particulier  de  l'ACP  généralisée,  la  complexité  de  l'ACP  
  9. 9. généralisée  devrait  être  équivalente  ou  plus  importante  que  celle  de  l'ACP  classique,  qui  est  de  l'ordre  de   O(dn! ).   Il  y  a  certainement  une  manière  de  l'implémenter  plus  rapide  que  celle  que  je  propose,  puisqu'il  me  faut   plusieurs  heures  pour  obtenir  chaque  vecteur   𝑣! .  Le  code  est  expliqué  très  rapidement,  faute  d'espace  :  en   suivant  "fil  rouge.m",  dans  l'ordre,  on  :   -­‐ -­‐ -­‐ -­‐ -­‐   allège les données en supprimant des observations, puis les features les moins représentées, effectue l'ACP pour observer le gain en information en fonction de la dimension du sous-espace. On définit les fonctions à utiliser (F, G, g, f) On effectue l'ACP généralisée, avec eacp(X2,F,f,g,1,1,3), où les 3 derniers arguments sont respectivement : o Le nombre d'itérations (on ne sait pas à priori combien de fois il faut itérer pour converger raisonnablement), o le nombre de vecteurs attendus, o le nombre d'ajustements entre A et V. dans eacp, les observations dont les lignes sont nulles (pour la raison expliquée auparavant) sont supprimées. On   remarque   que   le   temps   de   calcul   pour   calculer   approximativement   (avec   une   seule   itération   et   3   ajustements   entre   A   et   V)   un   seul   vecteur   est   énorme,   donc   même   en   laissant   l'algorithme   tourner   pendant  48h,  je  n'ai  pas  réussi  à  avoir  3  vecteurs  avec  une  précision  supérieure.   On  peut  donc  s'intéresser   au   1er   vecteur   délivré   par   l'algorithme   (le   résultat   est   déjà   sauvegardé,   vous   n'avez   pas   à   relancer   l'algorithme,   cela   prendrait   trop   de   temps).   Il   ne   ressemble   absolument   pas   au   vecteur   de   l'ACP   classique,   mais  un  petit  test  (cellule  "comparaison  de  vecteurs"  dans  fil  rouge.m)  montre  qu'il  y  a  de  fortes  chances   pour   que   ce   soit   bien   l'argument   minimum   de   la   distance   de   Bregman   (ce   que   l'on   voulait).   Donc   l'algorithme  ainsi  implémenté  converge,  au  prix  de  quelques  adaptations  :  on  a  supprimé  les  lignes  nulles.   On  peut  éventuellement  les  rajouter  à  la  fin,  comme  0  appartient  à  tout  espace  vectoriel,  et  qu'une  ligne   complètement   nulle   correspond   à   une   observation   du   0   de   l'espace,   cela   correspond   aussi   à   une   observation   du   0   de   l'espace   sous-­‐dimensionnel,   donc   ça   ne   changera   pas   l'interprétation   de   l'ACP   généralisée.        

×