Reinforcement learning for e-marketing, report, 2012

12
Florent Renucci

description

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

Transcript of Reinforcement learning for e-marketing, report, 2012

Page 1: Reinforcement learning for e-marketing, report, 2012

 

Florent  Renucci  

 

   

Page 2: Reinforcement learning for e-marketing, report, 2012

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    

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Page 3: Reinforcement learning for e-marketing, report, 2012

 

 

 

 

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  

Page 4: Reinforcement learning for e-marketing, report, 2012

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  :    

Page 5: Reinforcement learning for e-marketing, report, 2012

 

(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Δt!

Q∗ s, a −max!!

Q∗ s, a!   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  𝛥𝑡!")  

Page 6: Reinforcement learning for e-marketing, report, 2012

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  𝜋!"!.    

Page 7: Reinforcement learning for e-marketing, report, 2012

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),  

Page 8: Reinforcement learning for e-marketing, report, 2012

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.        

Page 9: Reinforcement learning for e-marketing, report, 2012

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

Page 10: Reinforcement learning for e-marketing, report, 2012

 

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)  :    

Page 11: Reinforcement learning for e-marketing, report, 2012

 

   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    

Page 12: Reinforcement learning for e-marketing, report, 2012

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