SlideShare uma empresa Scribd logo
1 de 12
Baixar para ler offline
 

Florent	
  Renucci	
  
	
  
	
  

	
  
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	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
 
	
  
	
  
	
  

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	
  
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	
  :	
  	
  
 
(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	
   𝛥 𝑡!" )	
  
!!!
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	
  
𝜋!"! .	
  	
  
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),	
  
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.	
  	
  	
  
	
  
-­‐

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

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.	
  	
  
 

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

	
  

	
  

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

Mais conteúdo relacionado

Destaque

Simca une marque française ca
Simca une marque française caSimca une marque française ca
Simca une marque française caDominique Pongi
 
Apuntes de tics 2015 (1er parcial) (1)
Apuntes de tics 2015 (1er parcial) (1)Apuntes de tics 2015 (1er parcial) (1)
Apuntes de tics 2015 (1er parcial) (1)brianbgga
 
Sistema de manufactura inv. de opex
Sistema de manufactura inv. de opexSistema de manufactura inv. de opex
Sistema de manufactura inv. de opextania26l
 
Mi contexto de formacion
Mi contexto de formacionMi contexto de formacion
Mi contexto de formaciondaniel_obando
 
Guide du crowdfunding by smala & co
Guide du crowdfunding by smala & coGuide du crowdfunding by smala & co
Guide du crowdfunding by smala & coSmala & co
 
Mardis du marketing comment produire des contenus efficaces - présentation tmc
Mardis du marketing   comment produire des contenus efficaces - présentation tmcMardis du marketing   comment produire des contenus efficaces - présentation tmc
Mardis du marketing comment produire des contenus efficaces - présentation tmcPhilippe GUIHENEUC
 
Calculo de tela para un Sofa de 3
Calculo de tela para un Sofa de 3Calculo de tela para un Sofa de 3
Calculo de tela para un Sofa de 3Vianessa Peña
 
Inteligencia artificial
Inteligencia artificialInteligencia artificial
Inteligencia artificialcarlosds139705
 
DIRT Challenge: Instructivo de inscripción
DIRT Challenge: Instructivo de inscripciónDIRT Challenge: Instructivo de inscripción
DIRT Challenge: Instructivo de inscripciónweplusnatalia
 
Apuntes de tics 2015 (1er parcial) (1)
Apuntes de tics 2015 (1er parcial) (1)Apuntes de tics 2015 (1er parcial) (1)
Apuntes de tics 2015 (1er parcial) (1)brianbgga
 
Habilidades comunicativas
Habilidades comunicativasHabilidades comunicativas
Habilidades comunicativassdavid08
 
[Paroles de DSI] Le Cloud Computing avec HP Helion - Nantes 2015
[Paroles de DSI] Le Cloud Computing avec HP Helion - Nantes 2015[Paroles de DSI] Le Cloud Computing avec HP Helion - Nantes 2015
[Paroles de DSI] Le Cloud Computing avec HP Helion - Nantes 2015Groupe D.FI
 

Destaque (20)

Simca une marque française ca
Simca une marque française caSimca une marque française ca
Simca une marque française ca
 
Apuntes de tics 2015 (1er parcial) (1)
Apuntes de tics 2015 (1er parcial) (1)Apuntes de tics 2015 (1er parcial) (1)
Apuntes de tics 2015 (1er parcial) (1)
 
Sistema de manufactura inv. de opex
Sistema de manufactura inv. de opexSistema de manufactura inv. de opex
Sistema de manufactura inv. de opex
 
Mi contexto de formacion
Mi contexto de formacionMi contexto de formacion
Mi contexto de formacion
 
Actividad 2 ricardo escobar
Actividad 2 ricardo escobarActividad 2 ricardo escobar
Actividad 2 ricardo escobar
 
Angie
AngieAngie
Angie
 
Guide du crowdfunding by smala & co
Guide du crowdfunding by smala & coGuide du crowdfunding by smala & co
Guide du crowdfunding by smala & co
 
primera actividad
primera actividadprimera actividad
primera actividad
 
Mardis du marketing comment produire des contenus efficaces - présentation tmc
Mardis du marketing   comment produire des contenus efficaces - présentation tmcMardis du marketing   comment produire des contenus efficaces - présentation tmc
Mardis du marketing comment produire des contenus efficaces - présentation tmc
 
Calculo de tela para un Sofa de 3
Calculo de tela para un Sofa de 3Calculo de tela para un Sofa de 3
Calculo de tela para un Sofa de 3
 
Electiva 2 .... 06 12- 15
Electiva 2 .... 06  12- 15Electiva 2 .... 06  12- 15
Electiva 2 .... 06 12- 15
 
Inteligencia artificial
Inteligencia artificialInteligencia artificial
Inteligencia artificial
 
DIRT Challenge: Instructivo de inscripción
DIRT Challenge: Instructivo de inscripciónDIRT Challenge: Instructivo de inscripción
DIRT Challenge: Instructivo de inscripción
 
Vicky
VickyVicky
Vicky
 
Apuntes de tics 2015 (1er parcial) (1)
Apuntes de tics 2015 (1er parcial) (1)Apuntes de tics 2015 (1er parcial) (1)
Apuntes de tics 2015 (1er parcial) (1)
 
Informe tecnología
Informe tecnología Informe tecnología
Informe tecnología
 
Habilidades comunicativas
Habilidades comunicativasHabilidades comunicativas
Habilidades comunicativas
 
[Paroles de DSI] Le Cloud Computing avec HP Helion - Nantes 2015
[Paroles de DSI] Le Cloud Computing avec HP Helion - Nantes 2015[Paroles de DSI] Le Cloud Computing avec HP Helion - Nantes 2015
[Paroles de DSI] Le Cloud Computing avec HP Helion - Nantes 2015
 
Productividad
ProductividadProductividad
Productividad
 
Desigualdad en mexico
Desigualdad en mexicoDesigualdad en mexico
Desigualdad en mexico
 

Semelhante a 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, 2012Florent Renucci
 
Les Secrets pour Réussir une bonne Démo
Les Secrets pour Réussir une bonne DémoLes Secrets pour Réussir une bonne Démo
Les Secrets pour Réussir une bonne DémoFred Canevet
 
L’ACQUISITION ET LA FIDÉLISATION D’UNE CLIENTÈLE DE LUXE PAR LES RÉSEAUX SOCI...
L’ACQUISITION ET LA FIDÉLISATION D’UNE CLIENTÈLE DE LUXE PAR LES RÉSEAUX SOCI...L’ACQUISITION ET LA FIDÉLISATION D’UNE CLIENTÈLE DE LUXE PAR LES RÉSEAUX SOCI...
L’ACQUISITION ET LA FIDÉLISATION D’UNE CLIENTÈLE DE LUXE PAR LES RÉSEAUX SOCI...Michel JAGER
 
Management article de presse
Management article de presseManagement article de presse
Management article de pressevallf
 
Projet de fin D'études1..pdf
Projet de fin D'études1..pdfProjet de fin D'études1..pdf
Projet de fin D'études1..pdfssuserec47c4
 
Comment créer un executive summary impactant
Comment créer un executive summary impactant Comment créer un executive summary impactant
Comment créer un executive summary impactant Sylvain Fantoni
 
Comment faire une soutenance d'offre efficace et impactante avec un executive...
Comment faire une soutenance d'offre efficace et impactante avec un executive...Comment faire une soutenance d'offre efficace et impactante avec un executive...
Comment faire une soutenance d'offre efficace et impactante avec un executive...Sylvain Fantoni
 
Marketing de-base-s3-pdf
Marketing de-base-s3-pdfMarketing de-base-s3-pdf
Marketing de-base-s3-pdfyasserhajjej
 
Les 7 defis des Assurances et de Mutuelles dans la gestion de leurs relations...
Les 7 defis des Assurances et de Mutuelles dans la gestion de leurs relations...Les 7 defis des Assurances et de Mutuelles dans la gestion de leurs relations...
Les 7 defis des Assurances et de Mutuelles dans la gestion de leurs relations...Efficy CRM
 
Exposée e marketing
Exposée e marketingExposée e marketing
Exposée e marketingReda Lemniaï
 
Comment communiquer sur Internet
Comment communiquer sur InternetComment communiquer sur Internet
Comment communiquer sur InternetSage france
 
ETE Module 3 - Comment faire demarrer votre jeune entreprise
ETE Module 3 - Comment faire demarrer votre jeune entrepriseETE Module 3 - Comment faire demarrer votre jeune entreprise
ETE Module 3 - Comment faire demarrer votre jeune entreprisecaniceconsulting
 
L'évolution du marketing
L'évolution du marketingL'évolution du marketing
L'évolution du marketingFethi Ferhane
 
Plan cahier-des-charges
Plan cahier-des-chargesPlan cahier-des-charges
Plan cahier-des-chargeswalouziz
 
Qu'apporte l'expérience d'achat par le drive ?
Qu'apporte l'expérience d'achat par le drive ?Qu'apporte l'expérience d'achat par le drive ?
Qu'apporte l'expérience d'achat par le drive ?Sladjana Djukic
 
Mémoire de fin d'études (© Julien LABEAUT) - Master E-Business (EDC Business ...
Mémoire de fin d'études (© Julien LABEAUT) - Master E-Business (EDC Business ...Mémoire de fin d'études (© Julien LABEAUT) - Master E-Business (EDC Business ...
Mémoire de fin d'études (© Julien LABEAUT) - Master E-Business (EDC Business ...Julien Labeaut
 
Audit de la fonction vente
Audit de la fonction venteAudit de la fonction vente
Audit de la fonction ventehicham alaoui
 
4.Partie III _ Cours gestion de l'entreprise
4.Partie III _ Cours gestion de l'entreprise4.Partie III _ Cours gestion de l'entreprise
4.Partie III _ Cours gestion de l'entrepriseNebil MRABET
 

Semelhante a Reinforcement learning for e-marketing, report, 2012 (20)

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
 
Les Secrets pour Réussir une bonne Démo
Les Secrets pour Réussir une bonne DémoLes Secrets pour Réussir une bonne Démo
Les Secrets pour Réussir une bonne Démo
 
L’ACQUISITION ET LA FIDÉLISATION D’UNE CLIENTÈLE DE LUXE PAR LES RÉSEAUX SOCI...
L’ACQUISITION ET LA FIDÉLISATION D’UNE CLIENTÈLE DE LUXE PAR LES RÉSEAUX SOCI...L’ACQUISITION ET LA FIDÉLISATION D’UNE CLIENTÈLE DE LUXE PAR LES RÉSEAUX SOCI...
L’ACQUISITION ET LA FIDÉLISATION D’UNE CLIENTÈLE DE LUXE PAR LES RÉSEAUX SOCI...
 
Management article de presse
Management article de presseManagement article de presse
Management article de presse
 
Projet de fin D'études1..pdf
Projet de fin D'études1..pdfProjet de fin D'études1..pdf
Projet de fin D'études1..pdf
 
Comment créer un executive summary impactant
Comment créer un executive summary impactant Comment créer un executive summary impactant
Comment créer un executive summary impactant
 
Comment faire une soutenance d'offre efficace et impactante avec un executive...
Comment faire une soutenance d'offre efficace et impactante avec un executive...Comment faire une soutenance d'offre efficace et impactante avec un executive...
Comment faire une soutenance d'offre efficace et impactante avec un executive...
 
Session3
Session3Session3
Session3
 
Marketing de-base-s3-pdf
Marketing de-base-s3-pdfMarketing de-base-s3-pdf
Marketing de-base-s3-pdf
 
Les 7 defis des Assurances et de Mutuelles dans la gestion de leurs relations...
Les 7 defis des Assurances et de Mutuelles dans la gestion de leurs relations...Les 7 defis des Assurances et de Mutuelles dans la gestion de leurs relations...
Les 7 defis des Assurances et de Mutuelles dans la gestion de leurs relations...
 
Upc
UpcUpc
Upc
 
Exposée e marketing
Exposée e marketingExposée e marketing
Exposée e marketing
 
Comment communiquer sur Internet
Comment communiquer sur InternetComment communiquer sur Internet
Comment communiquer sur Internet
 
ETE Module 3 - Comment faire demarrer votre jeune entreprise
ETE Module 3 - Comment faire demarrer votre jeune entrepriseETE Module 3 - Comment faire demarrer votre jeune entreprise
ETE Module 3 - Comment faire demarrer votre jeune entreprise
 
L'évolution du marketing
L'évolution du marketingL'évolution du marketing
L'évolution du marketing
 
Plan cahier-des-charges
Plan cahier-des-chargesPlan cahier-des-charges
Plan cahier-des-charges
 
Qu'apporte l'expérience d'achat par le drive ?
Qu'apporte l'expérience d'achat par le drive ?Qu'apporte l'expérience d'achat par le drive ?
Qu'apporte l'expérience d'achat par le drive ?
 
Mémoire de fin d'études (© Julien LABEAUT) - Master E-Business (EDC Business ...
Mémoire de fin d'études (© Julien LABEAUT) - Master E-Business (EDC Business ...Mémoire de fin d'études (© Julien LABEAUT) - Master E-Business (EDC Business ...
Mémoire de fin d'études (© Julien LABEAUT) - Master E-Business (EDC Business ...
 
Audit de la fonction vente
Audit de la fonction venteAudit de la fonction vente
Audit de la fonction vente
 
4.Partie III _ Cours gestion de l'entreprise
4.Partie III _ Cours gestion de l'entreprise4.Partie III _ Cours gestion de l'entreprise
4.Partie III _ Cours gestion de l'entreprise
 

Mais 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
 
Generalization of Principal Component Analysis, report, 2012
Generalization of Principal Component Analysis, report, 2012Generalization of Principal Component Analysis, report, 2012
Generalization of Principal Component Analysis, report, 2012Florent Renucci
 
Generalization of Principal Component Analysis, presentation, 2012
Generalization of Principal Component Analysis, presentation, 2012Generalization of Principal Component Analysis, presentation, 2012
Generalization of Principal Component Analysis, presentation, 2012Florent 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
 
Polynomial Regression on Riemannian Manifolds, presentation, 2012
Polynomial Regression on Riemannian Manifolds, presentation, 2012Polynomial Regression on Riemannian Manifolds, presentation, 2012
Polynomial Regression on Riemannian Manifolds, presentation, 2012Florent Renucci
 
Polynomial Regression on Riemannian Manifolds, report, 2012
Polynomial Regression on Riemannian Manifolds, report, 2012Polynomial Regression on Riemannian Manifolds, report, 2012
Polynomial Regression on Riemannian Manifolds, report, 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
 

Mais de Florent Renucci (14)

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
 
Generalization of Principal Component Analysis, report, 2012
Generalization of Principal Component Analysis, report, 2012Generalization of Principal Component Analysis, report, 2012
Generalization of Principal Component Analysis, report, 2012
 
Generalization of Principal Component Analysis, presentation, 2012
Generalization of Principal Component Analysis, presentation, 2012Generalization of Principal Component Analysis, presentation, 2012
Generalization of Principal Component Analysis, presentation, 2012
 
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
 
Polynomial Regression on Riemannian Manifolds, presentation, 2012
Polynomial Regression on Riemannian Manifolds, presentation, 2012Polynomial Regression on Riemannian Manifolds, presentation, 2012
Polynomial Regression on Riemannian Manifolds, presentation, 2012
 
Polynomial Regression on Riemannian Manifolds, report, 2012
Polynomial Regression on Riemannian Manifolds, report, 2012Polynomial Regression on Riemannian Manifolds, report, 2012
Polynomial Regression on Riemannian Manifolds, report, 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
 

Reinforcement learning for e-marketing, report, 2012

  • 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.         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. 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.   (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. !!! 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. 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. 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. -­‐ -­‐ -­‐ -­‐ -­‐ -­‐ -­‐ 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.   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.       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. 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