SlideShare une entreprise Scribd logo
1  sur  9
Télécharger pour lire hors ligne
 

Florent	
  Renucci	
  
	
  
	
  

	
  
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	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
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.	
  
 
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	
  
	
  
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	
  
	
  
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	
  
	
  
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.	
  	
  
 

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	
  
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.	
  

	
  
	
  
	
  

Contenu connexe

En vedette

Birds lesdernieres robby
Birds lesdernieres robbyBirds lesdernieres robby
Birds lesdernieres robbyDominique Pongi
 
Experto en degradación y rehabilitación de suelos
Experto en degradación y rehabilitación de suelosExperto en degradación y rehabilitación de suelos
Experto en degradación y rehabilitación de suelosCenproexFormacion
 
Savoirs et competences_biblio_260412-libre
Savoirs et competences_biblio_260412-libreSavoirs et competences_biblio_260412-libre
Savoirs et competences_biblio_260412-libreDaniel Dufourt
 
Tecnologia actividad1
Tecnologia actividad1Tecnologia actividad1
Tecnologia actividad1marlonlds15
 
Conférence #nwxtech2 : Voyage dans la Silicon Valley par Benjamin Quédeville
Conférence #nwxtech2 : Voyage dans la Silicon Valley par Benjamin QuédevilleConférence #nwxtech2 : Voyage dans la Silicon Valley par Benjamin Quédeville
Conférence #nwxtech2 : Voyage dans la Silicon Valley par Benjamin QuédevilleNormandie Web Xperts
 
Mantenimiento pta virtual
Mantenimiento pta virtualMantenimiento pta virtual
Mantenimiento pta virtualnancymsenats
 
Analyse pandémie
Analyse pandémieAnalyse pandémie
Analyse pandémiejccalmes
 
Présentation sur les carrières informatiques
Présentation sur les carrières informatiquesPrésentation sur les carrières informatiques
Présentation sur les carrières informatiquesjoel-leblanc
 
Banco latinoamericano
Banco latinoamericanoBanco latinoamericano
Banco latinoamericanoFati_Hdz99
 
Sistema endocrino
Sistema endocrinoSistema endocrino
Sistema endocrinoJesusperezr
 
Ponencia 2015
Ponencia 2015Ponencia 2015
Ponencia 2015savapi
 
Train le plus_rapide_au_monde___(1)
Train le plus_rapide_au_monde___(1)Train le plus_rapide_au_monde___(1)
Train le plus_rapide_au_monde___(1)Dominique Pongi
 
Web participatif
Web participatif Web participatif
Web participatif Ideali
 

En vedette (20)

Birds lesdernieres robby
Birds lesdernieres robbyBirds lesdernieres robby
Birds lesdernieres robby
 
Experto en degradación y rehabilitación de suelos
Experto en degradación y rehabilitación de suelosExperto en degradación y rehabilitación de suelos
Experto en degradación y rehabilitación de suelos
 
Savoirs et competences_biblio_260412-libre
Savoirs et competences_biblio_260412-libreSavoirs et competences_biblio_260412-libre
Savoirs et competences_biblio_260412-libre
 
Face Off
Face Off Face Off
Face Off
 
LOS GADGETS
LOS GADGETSLOS GADGETS
LOS GADGETS
 
Tecnologia actividad1
Tecnologia actividad1Tecnologia actividad1
Tecnologia actividad1
 
Conférence #nwxtech2 : Voyage dans la Silicon Valley par Benjamin Quédeville
Conférence #nwxtech2 : Voyage dans la Silicon Valley par Benjamin QuédevilleConférence #nwxtech2 : Voyage dans la Silicon Valley par Benjamin Quédeville
Conférence #nwxtech2 : Voyage dans la Silicon Valley par Benjamin Quédeville
 
Presentación
PresentaciónPresentación
Presentación
 
Cartes postales 14 1811
Cartes postales 14 1811Cartes postales 14 1811
Cartes postales 14 1811
 
Mantenimiento pta virtual
Mantenimiento pta virtualMantenimiento pta virtual
Mantenimiento pta virtual
 
Analyse pandémie
Analyse pandémieAnalyse pandémie
Analyse pandémie
 
Presentación comercial EUMC
Presentación comercial EUMCPresentación comercial EUMC
Presentación comercial EUMC
 
Présentation sur les carrières informatiques
Présentation sur les carrières informatiquesPrésentation sur les carrières informatiques
Présentation sur les carrières informatiques
 
EBSO
EBSOEBSO
EBSO
 
Presentaciã³n
Presentaciã³nPresentaciã³n
Presentaciã³n
 
Banco latinoamericano
Banco latinoamericanoBanco latinoamericano
Banco latinoamericano
 
Sistema endocrino
Sistema endocrinoSistema endocrino
Sistema endocrino
 
Ponencia 2015
Ponencia 2015Ponencia 2015
Ponencia 2015
 
Train le plus_rapide_au_monde___(1)
Train le plus_rapide_au_monde___(1)Train le plus_rapide_au_monde___(1)
Train le plus_rapide_au_monde___(1)
 
Web participatif
Web participatif Web participatif
Web participatif
 

Similaire à Generalization of Principal Component Analysis, report, 2012

Cours arithmetique
Cours arithmetiqueCours arithmetique
Cours arithmetiquebades12
 
Cours nombres reels
Cours nombres reelsCours nombres reels
Cours nombres reelsbades12
 
Résolution numérique de l'équation de Black Scholes en python
Résolution numérique de l'équation de Black Scholes en pythonRésolution numérique de l'équation de Black Scholes en python
Résolution numérique de l'équation de Black Scholes en pythonAli SIDIBE
 
Hitting time for bessel processes and WOMS algorithm
Hitting time for bessel processes and WOMS algorithmHitting time for bessel processes and WOMS algorithm
Hitting time for bessel processes and WOMS algorithmVictor Bontemps
 
(Mathématiques) Jacques Dixmier (Topologie générale-PUF (1981) [générale-PUF ...
(Mathématiques) Jacques Dixmier (Topologie générale-PUF (1981) [générale-PUF ...(Mathématiques) Jacques Dixmier (Topologie générale-PUF (1981) [générale-PUF ...
(Mathématiques) Jacques Dixmier (Topologie générale-PUF (1981) [générale-PUF ...VrazylandGuekou1
 
Conception d'algorithmes pour l'approximation de la "Cut-Norm" avec l'inégali...
Conception d'algorithmes pour l'approximation de la "Cut-Norm" avec l'inégali...Conception d'algorithmes pour l'approximation de la "Cut-Norm" avec l'inégali...
Conception d'algorithmes pour l'approximation de la "Cut-Norm" avec l'inégali...ImadBerkani1
 
Cours derive d'une fonctions
Cours  derive d'une fonctionsCours  derive d'une fonctions
Cours derive d'une fonctionsbades12
 
Gottfried Wilhelm Leibniz
Gottfried Wilhelm LeibnizGottfried Wilhelm Leibniz
Gottfried Wilhelm LeibnizSais Abdelkrim
 
MODÉLISATION DU CLUTTER DE MER À HAUTE RÉSOLUTION EN UTILISANT UN MÉLANGE DE...
MODÉLISATION DU CLUTTER DE MER À HAUTE RÉSOLUTION EN UTILISANT UN MÉLANGE  DE...MODÉLISATION DU CLUTTER DE MER À HAUTE RÉSOLUTION EN UTILISANT UN MÉLANGE  DE...
MODÉLISATION DU CLUTTER DE MER À HAUTE RÉSOLUTION EN UTILISANT UN MÉLANGE DE...Abou Bakeur Ghehioueche
 
en analyse des composantes de donnees.pdf
en analyse des composantes de donnees.pdfen analyse des composantes de donnees.pdf
en analyse des composantes de donnees.pdfELHASSANEAJARCIF1
 
MS2 presentation : pratiques de la démarche scientifiques
MS2 presentation : pratiques de la démarche scientifiquesMS2 presentation : pratiques de la démarche scientifiques
MS2 presentation : pratiques de la démarche scientifiquesJulien Physagreg
 

Similaire à Generalization of Principal Component Analysis, report, 2012 (16)

Cours arithmetique
Cours arithmetiqueCours arithmetique
Cours arithmetique
 
compte
comptecompte
compte
 
Cours nombres reels
Cours nombres reelsCours nombres reels
Cours nombres reels
 
Résolution numérique de l'équation de Black Scholes en python
Résolution numérique de l'équation de Black Scholes en pythonRésolution numérique de l'équation de Black Scholes en python
Résolution numérique de l'équation de Black Scholes en python
 
Hitting time for bessel processes and WOMS algorithm
Hitting time for bessel processes and WOMS algorithmHitting time for bessel processes and WOMS algorithm
Hitting time for bessel processes and WOMS algorithm
 
Memoire.PDF
Memoire.PDFMemoire.PDF
Memoire.PDF
 
(Mathématiques) Jacques Dixmier (Topologie générale-PUF (1981) [générale-PUF ...
(Mathématiques) Jacques Dixmier (Topologie générale-PUF (1981) [générale-PUF ...(Mathématiques) Jacques Dixmier (Topologie générale-PUF (1981) [générale-PUF ...
(Mathématiques) Jacques Dixmier (Topologie générale-PUF (1981) [générale-PUF ...
 
Les Séries de Fourier
Les Séries de FourierLes Séries de Fourier
Les Séries de Fourier
 
Conception d'algorithmes pour l'approximation de la "Cut-Norm" avec l'inégali...
Conception d'algorithmes pour l'approximation de la "Cut-Norm" avec l'inégali...Conception d'algorithmes pour l'approximation de la "Cut-Norm" avec l'inégali...
Conception d'algorithmes pour l'approximation de la "Cut-Norm" avec l'inégali...
 
Lmfi1
Lmfi1Lmfi1
Lmfi1
 
01 lois-à-densité
01 lois-à-densité01 lois-à-densité
01 lois-à-densité
 
Cours derive d'une fonctions
Cours  derive d'une fonctionsCours  derive d'une fonctions
Cours derive d'une fonctions
 
Gottfried Wilhelm Leibniz
Gottfried Wilhelm LeibnizGottfried Wilhelm Leibniz
Gottfried Wilhelm Leibniz
 
MODÉLISATION DU CLUTTER DE MER À HAUTE RÉSOLUTION EN UTILISANT UN MÉLANGE DE...
MODÉLISATION DU CLUTTER DE MER À HAUTE RÉSOLUTION EN UTILISANT UN MÉLANGE  DE...MODÉLISATION DU CLUTTER DE MER À HAUTE RÉSOLUTION EN UTILISANT UN MÉLANGE  DE...
MODÉLISATION DU CLUTTER DE MER À HAUTE RÉSOLUTION EN UTILISANT UN MÉLANGE DE...
 
en analyse des composantes de donnees.pdf
en analyse des composantes de donnees.pdfen analyse des composantes de donnees.pdf
en analyse des composantes de donnees.pdf
 
MS2 presentation : pratiques de la démarche scientifiques
MS2 presentation : pratiques de la démarche scientifiquesMS2 presentation : pratiques de la démarche scientifiques
MS2 presentation : pratiques de la démarche scientifiques
 

Plus de Florent Renucci

Leveraging Community Engagement for Brand Engagement, 2012, presentation
Leveraging Community Engagement for Brand Engagement, 2012, presentationLeveraging Community Engagement for Brand Engagement, 2012, presentation
Leveraging Community Engagement for Brand Engagement, 2012, presentationFlorent Renucci
 
Data Analytics Intro Session 1, 2013
Data Analytics Intro Session 1, 2013Data Analytics Intro Session 1, 2013
Data Analytics Intro Session 1, 2013Florent Renucci
 
Corporate valuation linked in, 2011
Corporate valuation  linked in, 2011Corporate valuation  linked in, 2011
Corporate valuation linked in, 2011Florent Renucci
 
Etude de cas : "Comment valoriser la publicité en milieu public ?"
Etude de cas : "Comment valoriser la publicité en milieu public ?"Etude de cas : "Comment valoriser la publicité en milieu public ?"
Etude de cas : "Comment valoriser la publicité en milieu public ?"Florent Renucci
 
Etude de cas : "Comment augmenter la rentabilité de DN de 500 MSEK d’ici 3 an...
Etude de cas : "Comment augmenter la rentabilité de DN de 500 MSEK d’ici 3 an...Etude de cas : "Comment augmenter la rentabilité de DN de 500 MSEK d’ici 3 an...
Etude de cas : "Comment augmenter la rentabilité de DN de 500 MSEK d’ici 3 an...Florent Renucci
 
Leveraging Community Engagement for Brand Engagement, 2012, report
Leveraging Community Engagement for Brand Engagement, 2012, reportLeveraging Community Engagement for Brand Engagement, 2012, report
Leveraging Community Engagement for Brand Engagement, 2012, reportFlorent Renucci
 
Manifold Blurring Mean Shift algorithms for manifold denoising, report, 2012
Manifold Blurring Mean Shift algorithms for manifold denoising, report, 2012Manifold Blurring Mean Shift algorithms for manifold denoising, report, 2012
Manifold Blurring Mean Shift algorithms for manifold denoising, report, 2012Florent Renucci
 
TIPE - Code correcteur de Hamming, 2009
TIPE - Code correcteur de Hamming, 2009TIPE - Code correcteur de Hamming, 2009
TIPE - Code correcteur de Hamming, 2009Florent Renucci
 
Reinforcement learning for e-marketing, report, 2012
Reinforcement learning for e-marketing, report, 2012Reinforcement learning for e-marketing, report, 2012
Reinforcement learning for e-marketing, report, 2012Florent Renucci
 
Reinforcement learning for e-marketing, presentation, 2012
Reinforcement learning for e-marketing, presentation, 2012Reinforcement learning for e-marketing, presentation, 2012
Reinforcement learning for e-marketing, presentation, 2012Florent Renucci
 
Manifold Blurring Mean Shift algorithms for manifold denoising, presentation,...
Manifold Blurring Mean Shift algorithms for manifold denoising, presentation,...Manifold Blurring Mean Shift algorithms for manifold denoising, presentation,...
Manifold Blurring Mean Shift algorithms for manifold denoising, presentation,...Florent Renucci
 
Open source softwares, 2011
Open source softwares, 2011Open source softwares, 2011
Open source softwares, 2011Florent Renucci
 

Plus de Florent Renucci (12)

Leveraging Community Engagement for Brand Engagement, 2012, presentation
Leveraging Community Engagement for Brand Engagement, 2012, presentationLeveraging Community Engagement for Brand Engagement, 2012, presentation
Leveraging Community Engagement for Brand Engagement, 2012, presentation
 
Data Analytics Intro Session 1, 2013
Data Analytics Intro Session 1, 2013Data Analytics Intro Session 1, 2013
Data Analytics Intro Session 1, 2013
 
Corporate valuation linked in, 2011
Corporate valuation  linked in, 2011Corporate valuation  linked in, 2011
Corporate valuation linked in, 2011
 
Etude de cas : "Comment valoriser la publicité en milieu public ?"
Etude de cas : "Comment valoriser la publicité en milieu public ?"Etude de cas : "Comment valoriser la publicité en milieu public ?"
Etude de cas : "Comment valoriser la publicité en milieu public ?"
 
Etude de cas : "Comment augmenter la rentabilité de DN de 500 MSEK d’ici 3 an...
Etude de cas : "Comment augmenter la rentabilité de DN de 500 MSEK d’ici 3 an...Etude de cas : "Comment augmenter la rentabilité de DN de 500 MSEK d’ici 3 an...
Etude de cas : "Comment augmenter la rentabilité de DN de 500 MSEK d’ici 3 an...
 
Leveraging Community Engagement for Brand Engagement, 2012, report
Leveraging Community Engagement for Brand Engagement, 2012, reportLeveraging Community Engagement for Brand Engagement, 2012, report
Leveraging Community Engagement for Brand Engagement, 2012, report
 
Manifold Blurring Mean Shift algorithms for manifold denoising, report, 2012
Manifold Blurring Mean Shift algorithms for manifold denoising, report, 2012Manifold Blurring Mean Shift algorithms for manifold denoising, report, 2012
Manifold Blurring Mean Shift algorithms for manifold denoising, report, 2012
 
TIPE - Code correcteur de Hamming, 2009
TIPE - Code correcteur de Hamming, 2009TIPE - Code correcteur de Hamming, 2009
TIPE - Code correcteur de Hamming, 2009
 
Reinforcement learning for e-marketing, report, 2012
Reinforcement learning for e-marketing, report, 2012Reinforcement learning for e-marketing, report, 2012
Reinforcement learning for e-marketing, report, 2012
 
Reinforcement learning for e-marketing, presentation, 2012
Reinforcement learning for e-marketing, presentation, 2012Reinforcement learning for e-marketing, presentation, 2012
Reinforcement learning for e-marketing, presentation, 2012
 
Manifold Blurring Mean Shift algorithms for manifold denoising, presentation,...
Manifold Blurring Mean Shift algorithms for manifold denoising, presentation,...Manifold Blurring Mean Shift algorithms for manifold denoising, presentation,...
Manifold Blurring Mean Shift algorithms for manifold denoising, presentation,...
 
Open source softwares, 2011
Open source softwares, 2011Open source softwares, 2011
Open source softwares, 2011
 

Dernier

KIT-COPILOT and more Article du 20240311
KIT-COPILOT and more Article du 20240311KIT-COPILOT and more Article du 20240311
KIT-COPILOT and more Article du 20240311Erol GIRAUDY
 
The Importance of Indoor Air Quality (French)
The Importance of Indoor Air Quality (French)The Importance of Indoor Air Quality (French)
The Importance of Indoor Air Quality (French)IES VE
 
Installation de Sylius 2.0 et découverte du nouveau backoffice en Bootstrap
Installation de Sylius 2.0 et découverte du nouveau backoffice en BootstrapInstallation de Sylius 2.0 et découverte du nouveau backoffice en Bootstrap
Installation de Sylius 2.0 et découverte du nouveau backoffice en BootstrapMaxime Huran 🌈
 
Les Metiers de l'Intelligence Artificielle
Les Metiers de l'Intelligence ArtificielleLes Metiers de l'Intelligence Artificielle
Les Metiers de l'Intelligence ArtificielleErol GIRAUDY
 
Workshop l'IA au service de l'industrie - Présentation générale - Extra 14...
Workshop l'IA au service de l'industrie - Présentation générale - Extra 14...Workshop l'IA au service de l'industrie - Présentation générale - Extra 14...
Workshop l'IA au service de l'industrie - Présentation générale - Extra 14...Infopole1
 
Mes succès sur Microsoft LEARN et examens
Mes succès sur Microsoft LEARN et examensMes succès sur Microsoft LEARN et examens
Mes succès sur Microsoft LEARN et examensErol GIRAUDY
 

Dernier (6)

KIT-COPILOT and more Article du 20240311
KIT-COPILOT and more Article du 20240311KIT-COPILOT and more Article du 20240311
KIT-COPILOT and more Article du 20240311
 
The Importance of Indoor Air Quality (French)
The Importance of Indoor Air Quality (French)The Importance of Indoor Air Quality (French)
The Importance of Indoor Air Quality (French)
 
Installation de Sylius 2.0 et découverte du nouveau backoffice en Bootstrap
Installation de Sylius 2.0 et découverte du nouveau backoffice en BootstrapInstallation de Sylius 2.0 et découverte du nouveau backoffice en Bootstrap
Installation de Sylius 2.0 et découverte du nouveau backoffice en Bootstrap
 
Les Metiers de l'Intelligence Artificielle
Les Metiers de l'Intelligence ArtificielleLes Metiers de l'Intelligence Artificielle
Les Metiers de l'Intelligence Artificielle
 
Workshop l'IA au service de l'industrie - Présentation générale - Extra 14...
Workshop l'IA au service de l'industrie - Présentation générale - Extra 14...Workshop l'IA au service de l'industrie - Présentation générale - Extra 14...
Workshop l'IA au service de l'industrie - Présentation générale - Extra 14...
 
Mes succès sur Microsoft LEARN et examens
Mes succès sur Microsoft LEARN et examensMes succès sur Microsoft LEARN et examens
Mes succès sur Microsoft LEARN et examens
 

Generalization of Principal Component Analysis, report, 2012

  • 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. 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.   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. 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. 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. 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.   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. 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.