Florent	
  Renucci	
  
	
  
	
  

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

Introduction	
  
	
  
Le	
   cadre	
   de	
   l'étude	
   est	
   la	
   problématique	
   du	
   "Custo...
présenté	
   que	
   le	
   mail	
   qu'il	
   nous	
   a	
   envoyé,	
   donc	
   les	
   deux	
   sont	
   à	
   prendre...
 
(source	
  :	
  [1])	
  
Par	
  ailleurs,	
  on	
  dispose	
  avant	
  l'étude	
  des	
  données	
  d'apprentissage	
  :...
!!!
diff = r!" + γ!!!" V!"!! − V!"!!! 	
  (la	
  différence	
  entre	
  le	
  gain	
  max	
  en	
  j+1	
  et	
  celui	
  e...
Et	
   c'est	
   évidemment	
   confirmé	
   par	
   les	
   résultats	
   :	
   si	
   la	
   politique	
   optimale	
   ...
Et	
  on	
  gagne	
  :	
  
-­‐

le	
  prix	
  de	
  vente	
  ( 𝑝𝑟 = 10)	
  fois	
  le	
  volume	
  de	
  vente,	
  
Les	
 ...
-­‐

-­‐
-­‐
-­‐
-­‐
-­‐
-­‐

Simulation	
   de	
   trajectoires	
   :	
   onsimule	
   des	
   trajectoires,	
   qui	
   ...
 

IV.d	
  -­‐	
  	
  Résultats	
  
	
  

Comme	
   l'on	
   pouvait	
   s'y	
   attendre,	
   les	
   politiques,	
   par...
 

	
  

	
  

Figure	
  5	
  	
  

Les	
  graphiques	
  1	
  et	
  2	
  nous	
  apprennent	
  que	
  la	
  politique	
  o...
V.1	
  –	
  Utilisation	
  des	
  semi-­‐MDP	
  dans	
  ce	
  contexte	
  
	
  

Les	
   semi-­‐MDP	
   peuvent	
   être	
...
Prochain SlideShare
Chargement dans…5
×

Reinforcement learning for e-marketing, report, 2012

427 vues

Publié le

Costumer relationship management and Customer Lifetime Value maximization through reinforcement learning (Q-learning algorithm).

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
427
Sur SlideShare
0
Issues des intégrations
0
Intégrations
17
Actions
Partages
0
Téléchargements
10
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Reinforcement learning for e-marketing, report, 2012

  1. 1.   Florent  Renucci        
  2. 2. Table  des  matières   Introduction  ......................................................................................................................................  3   I  –  Le  problème  .................................................................................................................................  3   II  -­‐  Méthode   ........................................................................................................................................  4   III  -­‐  Résultats  .....................................................................................................................................  6   IV  -­‐  Application  .................................................................................................................................  7   IV.a  –  Cadre  ..................................................................................................................................................  7   IV.b  –  Lien  avec  l'article  ...........................................................................................................................  8   IV.c  –  Code   .....................................................................................................................................................  8   IV.d  -­‐    Résultats  ........................................................................................................................................  10      ...........................................................................................................................................................  10   V  –  Elargissement  .........................................................................................................................  11   V.1  –  Utilisation  des  semi-­‐MDP  dans  ce  contexte  .........................................................................  12   V.2  –  Un  seul  client  ?  Un  seul  produit  ?  ............................................................................................  12   Sources  .............................................................................................................................................  12                                
  3. 3.         Introduction     Le   cadre   de   l'étude   est   la   problématique   du   "Customer   Relationship   Management",   un   concept   fondamental   en   marketing,   qui   vise   principalement   à   trouver   le   lien   entre   les   actions   marketing   et   la   perception   du   client.   L'objectif   étant   évidemment   de   maximiser   la   "Customer  Lifetime  Value"  (la  valeur  du  client,  d'un  point  de  vue  de  l'entreprise,  sur  toute   son  existence)  en  manipulant  les  actions  marketing  (publicité,  SAV  etc…),  tout  en  réduisant   au   maximum   les   coûts   de   ces   dernières.   Si   l'on   garde   à   l'esprit   que   le   comportement   du   consommateur  a  un  caractère  aléatoire  (une  même  cause-­‐marketing  peut  avoir  différentes   conséquences-­‐achats),  le  problème  se  reformule  de  la  manière  suivante  :     On   cherche   les   actions   (marketing),   qui   maximisent   une   fonction   (bénéfices),   dans   un   contexte  incertain  (comportement  du  prospect).   Gardons  à  l'esprit  qu'il  est  en  général  très  difficile  de  mesurer  le  lien  entre  une  action  sur  un   canal  (publicité  télévisée  par  exemple)  et  sa  réponse  sur  un  autre  (achat  en  magasin),  c'est   ce  qui  s'appelle  le  "Cross  Channel  Challenge"  :  de  manière  plus  informelle,  on  ne  sait  jamais   exactement  ce  qui  a  marché  et  pourquoi  cela  a  marché,  donc  il  est  très  difficile  de  savoir  ce   qui  va  marcher.  La  construction  d'un  modèle  par  l'intuition  est  donc  exclue.     L'utilisation  du  modèle  de  décision  markovien  (MDP)  paraît  donc  tout  à  fait  adaptée.  Nous   verrons   dans   un   premier   temps   comment   se   modélise   le   problème,   et   quelles   généralisations   au   MDP   on   doit   s'autoriser   pour   qu'il   lui   corresponde   (I   –   Méthode).   Ceci   nous  mènera  à  la  notion  de  semi-­‐MDP,  dont  on  proposera  un  algorithme  de  Q-­‐learning  (II  –   Algorithme).  L'article  ira  beaucoup  plus  loin  que  l'utilisation  de  semi-­‐MDP,  et  proposera  des   résultats   (III   –   Résultats)   remarquables,   que   l'on   tente   de   reproduire   selon   un   cadre   de   travail  décrit  en  IV  –  Application.     En  particulier,  le  problème  posé  dans  cet  article  est  l'optimisation  de  campagnes  mail.  C'est   un   exemple,   dont   les   résultats   positifs   sont   prometteurs   quant   à   l'utilisation   de   l'apprentissage  par  renforcement  utilisé  dans  des  problématiques  business.     I  –  Le  problème     La  plupart  des  méthodes  se  heurtent  à  la  difficulté  expliquée  plus  haut.  Non  seulement  elles   traitent   chaque   canal   indépendamment,   alors   que   certains   sont   potentiellement   corrélés   :   une   publicité   télévisée   nous   aura   peut-­‐être   autant   poussé   à   visiter   le   site   de   commerce  
  4. 4. présenté   que   le   mail   qu'il   nous   a   envoyé,   donc   les   deux   sont   à   prendre   en   compte   pour   expliquer   notre   action   ;   mais   en   plus,   elles   maximisent   le   profit   à   court   terme,   quasi-­‐ immédiat   :   si   un   mail   est   envoyé   aujourd'hui,   un   autre   dans   une   semaine,   et   que   le   client   achète   quelque   chose   dans   10   jours,   seul   le   2ème   mail   sera   considéré   dans   le   modèle   comme   déclencheur   de   l'action   (alors   que   le   1er,   et   même   les   précédents,   ont   certainement   aussi   joué  un  rôle).     Enfin,   ajoutons   une   difficulté   au   problème   :   l'intervalle   de   temps   entre   2   états   différents   (entre  2  mails  publicitaires)  est  variable.       La  méthode  présentée  traite  ces  difficultés  en  prenant  en  compte  les  liens  éventuels  entre   canaux,  sur  le  long  terme.  Elle  s'appuie  sur  le  canal  de  mail  et  le  canal  de  vente,  parce  qu'ils   sont   facilement   quantifiables.   La   variabilité   temporelle   est   traitée   par   l'utilisation   de   semi-­‐ MDP.   En  effet,  il  est  facile  de  remarquer  qu'un  client  a  acheté  un  article  sur  le  site  parce  qu'il  a  lu  le   mail.   Lorsqu'il   clique   sur   un   lien   du   mail   (par   exemple   une   image   d'un   produit),   une   information  est  envoyée,  sous  forme  de  cookie,  au  commerçant,  expliquant  "tel  identifiant   client   a   cliqué   sur   tel   produit   à   tel   moment,   donc   s'il   l'achète,   la   campagne   mail   a   été   fructueuse".     Le   1er   réflexe   pour   adresser   ce   type   de   problème   (lier   les   canaux   sur   le   long   terme)   est   d'utiliser   les   séries   chronologiques,   et   de   former   un   vecteur   autorégressif.   En   fait   cette   méthode  ne  fonctionne  pas  parce  que  les  canaux  sont  très  faiblement  corrélés.   On  va  voir  comment  les  outils  d'apprentissage  par  renforcement  contournent  cette  difficulté.     II  -­‐  Méthode     Puisque   l'on   tient   compte   d'un   horizon   temporel   large,   il   est   nécessaire   de   maximiser   le   bénéfice  cumulé  (fonction  récompense)  actualisé  :  R = ∑γ!! r! .     Le  γ  est  calculé  suivant  le  taux  d'actualisation  r  :  γ = 1 + r !! ,  où  r  est  choisi  en  fonction  du   calcul  du  risque  de  l'industrie  ou  de  l'activité  de  l'entreprise.     Les  t !  sont   les   temps   auxquels   ont   lieu   les   flux   financiers  r! ,   donc   les   instants   auxquels   les   clients  achètent.     Ce  qui  nous  amène  à  la  modélisation  suivante  :  le  processus  démarre  à  t ! = 0,  l'entreprise   effectue  des  actions  marketing  a!  aux  instants  t ! ,  recevant  des  récompenses  aléatoires  r!  et   aboutissant   à   un   nouvel   état   s!!! .   On   étudie   donc   la   série   s! , a! , r! , t ! !!!..! ,   en   vue   de   maximiser  R,  avec  un  γ  qui  a  été  fixé.   Pour  cela,  on  utilisera  un  algorithme  de  Q-­‐learning.  La  principale  différence  avec  l'algorithme   pour  un  modèle  MDP  est  la  variabilité  de  l'intervalle  de  temps  :    
  5. 5.   (source  :  [1])   Par  ailleurs,  on  dispose  avant  l'étude  des  données  d'apprentissage  :  une  série  de  N  scénarios,   appelés  e! ,  de  longueur  l! ,  indicés  par  j = 1. . l! .   La   principale   difficulté   dans   l'implémentation   de   l'algorithme   de   Q-­‐learning   est   due   à   la   variabilité  des  Δt ! = t !!! − t !  (l'intervalle  de  temps  entre  deux  états),  qui  introduit  du  bruit   dans   l'évaluation.   [2]   propose   un   algorithme   légèrement   différent,   qui   évite   de   calculer   la   fonction   Q   (et   donc   de   contourner   le   problème   du   bruit)   :   advantage   updating   apprend   l'avantage  relatif  d'une  action  par  rapport  à  l'action  optimale  :     A∗ s, a = 1 Q∗ s, a − max Q∗ s, a! !! Δt !   1   Cette  fonction  est  à  mettre  en  parallèle  avec  la  fonction  regret  des  algorithmes  de  bandit.   On  aimerait  que  cette  fonction  Avantage  converge,  tout  comme  la  fonction  regret,  vers  0.     Les   étapes   de   l'algorithme   (Batch-­‐AU,   pour   Advantage   Updating)   qui   évalue   la   fonction   Avantage  sont  les  suivantes  :       Input  :  les  N  scénarios  D! = { s!" , a!" , r!" , j = 1. . l! }  et  les  temps  t !     Etape   1   :   calcul   des  Δt ! = t !!! − t !  et   des  r!" /Δt !"  (les   récompenses   sont   données   par   unité   de  temps)     Etape  2  :     a)  initialisation  de  A !  (dont  je  n'ai  pas  compris  la  notation)     b)  et  de  V ! = max!" A ! s, a!       Etape  3  :     a)  mise  à  jour  de  A(!)  (Q-­‐Learning  "classique"  avec  une  récompense  par  unité  de  temps,  en   tenant  compte  de   𝛥 𝑡!" )  
  6. 6. !!! diff = r!" + γ!!!" V!"!! − V!"!!!  (la  différence  entre  le  gain  max  en  j+1  et  celui  en  j)   !"## ! !!! A!" = 1 − α! A!" + α! max!" A(!!!) s!" , a! + !!     !" b)  mise  à  jour  de  V (!)  (évaluation  du  meilleur  gain)  :     V!"! = 1− β! V!"!!! + β! max A !!! s!" , a! − max A !!! s!" , a! ! ! ! ! α! + V!"!!!   Etape   4   :  normalisation  de  A(!) ,  pour  que  A(!)  converge  vers  0    (c'est  la  fonction  avantage  de   l'équation  (1)  ):   (!) ! ! A!" = 1 − ω! A!" + ω! A!" − max!" A(!!!) s!" , a!       L'explication   complète   de   l'algorithme   (notamment   celle   de   la   notation   concernant   l'initialisation  de  A(!)  )  est  donnée  dans  l'article  [3],  que  ni  M.  Munos  ni  moi  n'avons  trouvé   sur  internet.       III  -­‐  Résultats     Comme  expliqué  précédemment,  cet  algorithme  a  été  implémenté  pour  traiter  des  données   (historiques)  portant  sur  :   -­‐ -­‐ -­‐ les   clients,   en   fixant   un   seuil   d'activité,   pour   ne   conserver   que   les   plus   actifs,   et   ensuite   randomisés  (on  conserve  1%  des  1.6  millions  de  clients  "actifs"),   les  transactions  :  qui  a  acheté,  quel  article,  et  quand,   les  campagnes  de  mailing.   On   compare   ensuite   la   politique   optimale   trouvée,   en   calculant   l'avantage   que   l'on   aurait   récolté   en   suivant   cette   politique   plutôt   que   celle   qui   a   été   suivie   le   long   du   scénario   historique,  en  supposant  que  la  suite  des  états  suivants  n'est  pas  significativement  modifiée.   Cette   hypothèse   est   bien   évidemment   discutable,   puisque   c'est   la   base   de   la   théorie   des   processus   de   décision   markoviens   :   l'action   conditionne   (de   manière   déterministe   ou   probabiliste)   l'événement   suivant.   Donc   une   action   différente   peut   faire   naître   un   état   suivant   différent.   Cependant   cette   hypothèse   est   très   féconde   :   l'article   [3]   établit   un   résultat   intéressant   :   si   l'on   trouve   une   politique   𝜋 ∗  dont   l'avantage   est   positif   (ie   qui   "aurait   fait  mieux"  que  la  politique  initiale   𝜋!"!  utilisée,  mais  suivant  la  même  suite  d'états),  on  peut   construire  une  3ème  politique   𝜋!  à  partir  de   𝜋 ∗ ,  qui  a  une  récompense  supérieure  à  celle  de   𝜋!"! .    
  7. 7. Et   c'est   évidemment   confirmé   par   les   résultats   :   si   la   politique   optimale   𝜋 ∗  trouvée   est   proche   de   la   politique   initiale   𝜋!"! ,   la   série   d'états     que   𝜋 ∗  aurait   induite   n'est   pas   significativement  différente  de  celle  observée,  donc  l'avantage  est  important  :  jusqu'à  8%  de   revenus   supplémentaires.   Si   au   contraire  𝜋!"!  et  𝜋 ∗  divergent,  𝜋 ∗  décrit   des   actions   qui   conduisent   d'autant   moins   probablement   aux   états   que  𝜋 ∗  aurait   prédit,   puisqu'il   faut   "suivre"  le  scénario  dicté  par   𝜋!"! ,  qui  en  est  très  éloigné,  donc  les  résultats  sont  mauvais  :   jusqu'à   -­‐1%   de   revenus.   Cela   ne   signifie   pas   forcément   que   la   politique   optimale   est   mauvaise,  mais  plutôt  qu'elle  n'est  pas  adaptée  au  test  qu'on  lui  soumet.   Pour   évaluer   objectivement   l'avantage   d'une   politique   optimale   𝜋 ∗  sur   𝜋!"! ,   il   faudrait   par   exemple  partir  du  même  état  initial,  puis  les  évaluer  séparément  sur  des  évolutions  en  cours   (et  non  historiques),  en  calculant  l'avantage  à  chaque  étape.     Donc  par  exemple  en  créant  des  clusters  de  clients  (des  profils  similaires,  pour  comparer  des   choses  comparables),  en  divisant  un  cluster  en  2  parts  égales  de  manière  aléatoire,  puis  en   appliquant   𝜋!"!  à   l'un   et   𝜋 ∗  à   l'autre,   de   manière   complètement   indépendante.   C'est   une   question   qui   reste   ouverte,   d'après   l'article,   mais   les   résultats   obtenus   dans   un   cas   défavorable  étant  positifs,  on  peut  s'attendre  à  des  résultats  intéressants.       IV  -­‐  Application     Cet  article  introduit  beaucoup  de  notions  qui  dépassent  le  cadre  du  cours.  J'ai  choisi  de  me   focaliser  sur  certains  aspects,  notamment  (sur  les  conseils  de  M.  Munos)  les  semi-­‐MDP.  Il  est   intéressant  de  s'ancrer  sur  une  question  concrète.  Ne  disposant  pas  de  données  marketing   semblables   à   celles   évoquées   dans   l'article,   il   a   été   nécessaire   que   j'en   génère   moi-­‐même.   Comme   il   est   difficile   de   générer   le   comportement   d'un   client   répondant   à   une   publicité,   mon  point  de  départ  a  été  donc  l'exemple  du  problème  de  planification  proposé  en  TP1.  La   génération   de   scénarios   est   beaucoup   plus   simple,   et   a   été   généralisée   de   manière   à   introduire   la   notion   de   semi-­‐MDP.   Nous   allons   dans   un   premier   temps   présenter   le   problème  (IV.a),  puis  son  lien  avec  l'application  de  l'article  (similarités  et  différences)  (IV.b),   le  code  sera  ensuite  expliqué  (IV.c)  pour  enfin  en  donner  les  résultats  (IV.d).       IV.a  –  Cadre     Nous   sommes   une   entreprise   qui   achète   des   matières   premières,   fabrique   un   produit,   le   stocke,  puis  le  vend.     On  paye  donc  :   -­‐ -­‐ -­‐ les  matières  premières  et  la  fabrication  ( 𝑐 = 5  par  produit),   le  stockage  (ℎ = 1  par  produit  par  jour),   les  frais  de  livraison  ( 𝐾 = 8  par  livraison),  
  8. 8. Et  on  gagne  :   -­‐ le  prix  de  vente  ( 𝑝𝑟 = 10)  fois  le  volume  de  vente,   Les  variables  aléatoires  sont  :     -­‐ -­‐ le  volume  acheté  par  le  client  ( 𝐷! ),   la  date  d'achat  (t).   Les  décisions  portent  sur  :   -­‐ le  nombre  de  machines  achetées  (𝐴! )  pour  satisfaire  la  demande  client,  et  sans  dépasser  le   stock  maximum  de   𝑀 = 15.     Donc  on  cherche  à  maximiser  la  fonction  bénéfices,  les  actions  seront  les  machines  achetées,   les  états  ( 𝑋! )  seront  le  nombre  de  machine  en  stock  aux  temps   𝑡!  aléatoires.         IV.b  –  Lien  avec  l'article     La   base   de   construction   de   ce   problème   est   évidemment   la   notion   de   semi-­‐MDP.   C'est   donc   un  point  commun  avec  l'article.     L'objectif  est  de  maximiser  la  récompense.  Pour  se  placer  dans  le  même  cadre  (et  observer   et   discuter   quantitativement   l'hypothèse   remise   en   question   en   III),   nous   avons   dans   un   premier  temps  généré  des  scénarios,  puis  dans  un  second  temps  évalué  la  politique  optimale.   L'algorithme  utilisé  est  également  celui  du  Q-­‐Learning,  en  temps  discret.  Il  est  différent  de   celui  présenté  dans  l'article,  puisque  comme  expliqué,  l'initialisation  des  variables  invoquait   une  notation  que  je  ne  comprends  pas  (et  l'article  explicatif  [4]  est  introuvable).     On  s'est  placé  dans  un  contexte  de  vente  à  un  seul  client.  Il  est  plus  facile  de  modéliser  le   comportement   potentiel   d'un   client   que   d'une   multitude   de   clients   qui   réagissent   différemment  à  une  action.     Enfin,   on   cherche   à   optimiser   la   récompense   en   agissant   sur   des   leviers   internes   à   l'entreprise   (les   achats,   donc   le   stock),   et   non   externes   (la   perception   du   client).   C'est   une   simplification.       IV.c  –  Code     Le  main.m  retrace  intégralement  le  raisonnement.  Dans  l'ordre  des  cellules  :   -­‐ constantes  du  problème  :  définit  les  constantes  du  problème.        
  9. 9. -­‐ -­‐ -­‐ -­‐ -­‐ -­‐ -­‐ Simulation   de   trajectoires   :   onsimule   des   trajectoires,   qui   serviront   ensuite   à   apprendre   la   politique   optimale   (on   utilise   le   même   raisonnement   que   l'article,   en   construisant  nos  données  historiques).       Q-­‐learning   :   on   apprend   la   fonction   Q   et   la   politique   optimale   à   partir   des   données   historiques.     Estimation   du   profit   moyen   cumulé   discounté   pour   une   politique   quelconque     (méthode  de  Monte-­‐Carlo)     Estimation  du  profit  moyen  cumulé  discounté  pour  la  politique  optimale  (méthode   de  Monte-­‐Carlo)     Estimation  du  profit  moyen  cumulé  discounté  pour  une  politique  quelconque,   avec  une  suite  d'états  déjà  fixée  :  pour  tester  l'hypothèse  de  l'article       Estimation  du  profit  moyen  cumulé  discounté  pour  la  politique  optimale,  avec  une   suite  d'états  déjà  fixée  :  test-­‐témoin     Différence  de  profit  :   sur   une   trajectoire   déjà   fixée,   en   utilisant   la   politique   optimale,   y   gagne-­‐t-­‐on  par  rapport  à  une  politique  quelconque,  et  si  oui  combien  ?     Les  fonctions  ont  les  rôles  suivants  :     -­‐ -­‐ -­‐ -­‐ -­‐ -­‐ -­‐ -­‐ simu  :  génère  d,  la  quantité  d'achat  par  le  client,  et  dt,  le  délai  entre  deux  achats.   d  suit  une  loi  géométrique,  dt  suit  une  loi  uniforme  sur   1; 7 .     Reward  :  calcule  la  récompense  associée  à  un  état  et  une  action.     Politique  :  renvoie  une  action  aléatoire.     Gen_politique  :  génère  une  politique  complètement  aléatoire.     Nextstate  :  calcule  l'état  suivant,  à  partir  de  l'état  actuel  et  de  l'action  choisie.       Trajectoires  :  génère  un  tableau  de  N  trajectoires,  de  longueur  aléatoire  au  maximum  n.   Le   tableau   renvoyé   comporte   4   lignes   par   épisode,   respectivement   les   lignes   des   𝑋! , 𝑟! , 𝑡! , 𝑎 𝑋! .     Q_learning   :   prend   en   argument   un   ensemble   de   trajectoires   (les   données   historiques   générées  par  trajectoires)  et  renvoie  le  Q  et  la  politique  optimale  appris.       Calcul_profit  :  calcule  le  profit  discounté  associé  à  une  trajectoire  et  une  politique.     Chaque   fonction   est   assez   commentée   pour   que   toutes   les   variables   soient   compréhensibles.    Le  temps  d'exécution  de  certaines  fonctions  peut  être  long  (maximum   3  minutes),  par  exemple  pour  trajectoires.    
  10. 10.   IV.d  -­‐    Résultats     Comme   l'on   pouvait   s'y   attendre,   les   politiques,   par   ordre   décroissant   de   profit   actualisé,   sont  :     -­‐ -­‐ -­‐ -­‐ la  politique  optimale  dans  le  cas  d'évolution  classique  (profit  total  =  1.2)  :  figure  1,   la  politique  quelconque  dans  le  cas  d'évolution  classique  (profit  entre  -­‐0.7  et  0.7)  :  figure  2,     la  politique  optimale  dans  le  cas  d'évolution  fixée  (profit  =  1600)  :  figure  3,   la  politique  quelconque  dans  le  cas  d'évolution  fixée  (profit  =  1500)  :  figure  4.                     Figure  1                         Figure  2       Figure  3               Figure  4     Enfin,  il  est  intéressant  de  tracer  le  gain  supplémentaire  obtenu  grâce  à  la  politique   optimale  par  rapport  à  une  politique  quelconque  (figure  3  –  figure  4)  :    
  11. 11.       Figure  5     Les  graphiques  1  et  2  nous  apprennent  que  la  politique  optimale  est  évidemment  bien   meilleure   que   n'importe   quelle   politique   quelconque.   On   peut   facilement   s'en   convaincre  en  itérant  plusieurs  fois  le  tracé  du  graphique,  pour  des  politiques  aléatoires   différentes.   Les   graphiques   5   sont   censés   nous   montrer   nous   montre   combien   l'on   gagne  en  plus  en   utilisant  la  politique  optimale  trouvée,  sur  une  série  d'états  déjà  fixée.  La  valeur  limite   varie  fortement,  pour  être  parfois  négative.  Plusieurs  tracés  donnent  donc  des  résultats   assez  différents.  Ce  n'est  pas  du  tout  ce  à  quoi  l'on  s'attendait.  En  fait  les  2  derniers  tests   ne  sont  pas  pertinents  du  point  de  vue  du  problème  posé  :  une  décision  conduit  à  une   série  d'états  possibles,  il  est  par  exemple  impossible  d'avoir  5  machines  en  stock,  d'en   acheter  3,  et  d'en  avoir  10  en  stock  dans  l'état  suivant.  Cela  arrive  pourtant  dans  les  2   derniers   tests.     Comme   en   passant   d'un   état   à   l'autre,   les   2   étant   indépendants   de   la   politique,  on  a  autant  de  chances  de  perdre  du  stock  que  d'en  gagner,  et  que  lorsque  l'on   en   perd,   on   y   perd   peu,   alors   que   lorsqu'on   en   gagne,   on   y   gagne   beaucoup,   le   comportement   de   cette   courbe   ne   rend   pas   du   tout   compte   de   la   pertinence   d'une   politique,   mais   du   résultat   de   l'entreprise   au   jeu   "combien   va-­‐t-­‐il   apparaître/disparaître   de  machines  à  l'état  suivant  ?".   On  ne  peut  donc  pas  valider  (ni  infirmer)  l'hypothèse  faite  par  l'article  dans  ce  cadre.       V  –  Elargissement    
  12. 12. V.1  –  Utilisation  des  semi-­‐MDP  dans  ce  contexte     Les   semi-­‐MDP   peuvent   être   utilisés   dans   beaucoup   de   problématiques   business   similaires,   autant   du   point   de   vue   des   états   internes   (quantité   en   stock,   nombre   de   lignes   de   production…)   que   des   états   externes   (comportement   du   client),   comme   l'application   de   l'article.   V.2  –  Un  seul  client  ?  Un  seul  produit  ?     La  modélisation  à  un  seul  client  n'est  pas  absurde  :  beaucoup  d'entreprises  B2B  (Business-­‐ To-­‐Business,  c'est  à  dire  qui  vendent  des  entreprises  qui  vendent  à  d'autres  entreprises,  et   non  à  des  clients  finaux)  n'ont  qu'un  seul  "gros"  client.  C'est  le  cas  par  exemple  pour  certains   composants  microinformatiques  ou  automobiles.  Telle  entreprise  peut  être  un  (ou  le)  sous-­‐ traitant  d'Apple  ou  de  Volkswagen,  c'est  à  dire  qu'Apple  ou  Volkswagen  son  seul  client.   Pour   traiter   un   problème   semblable   à   plusieurs   clients,   donc   plusieurs   variables   aléatoires   indépendantes   composant   l'environnement,   on   peut   par   exemple   commencer   par   faire   du   clustering  sur  les  clients  en  fonction  de  leur  comportement  d'achat  (fréquence  et  volume),   puis   les   regrouper   par   cluster,   et   traiter   chaque   cluster   indépendamment,   s'ils   sont   suffisamment   éloignés,   comme   l'algorithme   le   suggère.   En   revanche   si   l'entreprise   commercialise  plusieurs  produits  (pour  un  ou  plusieurs  clients),  les  problèmes  ne  seront  plus   indépendants,  puisque  la  capacité  de  stockage  d'un  produit  est  déterminée  par  le  stock  de   l'autre.     Sources     [1]   Between   MDPs   and   Semi-­‐MDPs   :   A   Framework   for   Temporal   Abstraction   in   Reinforcement  Learning,  Richard  S.  Sutton,  Doina  Precup,  and  Satinder  Singh.   [2]  LC  Baird  :  Reinforcement  Learning  in  continuous  time  :  advantage  updating.   [3]  S  Kakade  abd  J.Langford  :  Approximately  optimal  approximate  reinforcement  learning.   [4]  technical  support      

×