2. Plan
I – Le problème
II – Méthode
III - Résultats
IV - Application
IV.a – Cadre
IV.b – Lien avec l'article
IV.c – Code
IV.d - Résultats
V – Elargissement
V.1 – Utilisation des semi-MDP dans ce contexte
V.2 – Un seul client ? Un seul produit ?
Sources
3. Introduction
Etude du "Costumer Relationship Management" :
?
Action marketing
perception du client
But : maximiser la "Customer Lifetime Value » :
maximisant les bénéfices long-terme en manipulant
les actions marketing.
On cherche les actions (marketing), qui maximisent
une fonction (bénéfices), dans un contexte incertain
(comportement du prospect).
4. Introduction
Difficulté : lien entre une action et une réponse
difficilement mesurable : "Cross Channel
Challenge »
Méthodes des séries temporelles inefficaces.
Utilisation de semi-MDP.
Cadre : optimisation de campagnes mail.
5. I – Le problème
La plupart des méthodes traitent chaque canal
indépendamment, et sur le court terme.
Or ils sont liés et ont un impact long-terme.
L’intervalle de temps entre 2 états est variable.
On mesurera des quantités relatives au canal de mail et
au canal de ventes, à l’aide de cookies.
Les semi-MDP permettent de contourner ces difficultés,
contrairement aux autres méthodes.
6. II - Méthode
On souhaite maximiser le bénéfice cumulé actualisé
, r le taux d’actualisation.
ti les instants de ventes (pour un montant ri) ou d’envois
de mails.
Avec
t0= 0, actions marketing ai aux instants ti, recevant des
récompenses aléatoires ri et aboutissant à un nouvel état
si+1.
On étudie donc la série {si,ai,ri,ti}, en vue de maximiser R,
avec un γ qui a été fixé.
7. II - Méthode
On dispose au début de l’étude de données (N
scénarios de longueurs différentes)
On utilise un algorithme de Q-Learning.
Difficulté :
variables.
[2] : algorithme différent : advantage updating
apprend l'avantage relatif d'une action par rapport à
l'action optimale (et évite de calculer Q, bruité par
l’incertitude sur Δti).
8. II - Méthode
Ressemble à la fonction regret des algorithmes de
bandit
on veut qu’elle converge vers 0.
Input : les N scénarios
tij
et les temps
Etape 1 : calcul des Δti=ti+1-ti et des rij/Δtij
Etape 2 :
a)
initialisation de A(0) (dont je n'ai pas compris la
notation)
9. II - Méthode
Etape 3 :
a) mise à jour de A(k)
calcul de la différence entre le gain max en j+1 et celui
en j :
b) mise à jour de V(k) (évaluation du meilleur gain) :
Etape 4 : normalisation de A(k), pour que A(k) converge vers 0
(c'est la fonction avantage de l'équation (1) ):
10. III - Résultats
Données utilisées :
les clients, en fixant un seuil d'activité, pour ne
conserver que les plus actifs, et ensuite randomisés,
les transactions : qui a acheté, quel article, et quand,
les campagnes de mailing.
Comparaison de 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 discutable !
11. III - Résultats
Hypothèse discutable : 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 [3] : si l'on trouve une politique π* dont
l'avantage est positif, on peut construire une
politique π’ à partir de π*, qui a une récompense
supérieure à celle de πutilisée.
Donc pour évaluer l’avantage de π’ sur πutilisée, il faut
12. III - Résultats
Hypothèse discutable : 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.
Exemple:
créer des clusters de clients,
diviser un cluster en 2 parts égales de manière
aléatoire,
Appliquer πutilisée à l'un et π’ à l'autre.
question qui reste ouverte, d'après l'article, mais les
13. IV - Application
Focalisation sur les semi-MDP.
Question concrète (et absence de données
marketing) générer des données.
Difficulté à générer le comportement d'un client
répondant à une publicité reformulation à un
problème de planification.
IV.a : présentation du problème,
IV.b : lien avec l'application de l'article,
IV.c : explication du code,
IV.d : résultats.
14. 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 (c=5 par
produit),
le stockage (h=1 par produit par jour),
les frais de livraison (K=8 par livraison),
Et on gagne :
15. IV.a - Cadre
Nous sommes une entreprise qui achète des matières
premières, fabrique un produit, le stocke, puis le vend.
Les variables aléatoires sont :
le volume acheté par le client (Dt),
la date d'achat (ti).
Les décisions portent sur :
le nombre de machines achetées (At) pour satisfaire la
demande client, et sans dépasser le stock maximum de
M=15.
Donc on cherche à maximiser la fonction bénéfices, les
actions seront les machines achetées, les états (Xi)
seront le nombre de machine en stock aux temps ti
16. IV.b – Lien avec l’article
Utilisation de semi-MDP.
Phase 1 : génération de scénarios,
Phase 2 : algorithme de Q-Learning.
Vente à un seul client.
Optimisation de 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.
17. IV.c – Code
On définit les paramètres du problème
On génère des trajectoires, de longueur aléatoire
On applique l’algorithme de Q-learning
On estime le profit moyen cumulé sur des politiques
aléatoires, par méthode de Monte-Carlo
On estime le profit moyen cumulé sur la politique
optimale, par méthode de Monte-Carlo
On fait la même chose sur une suite d’états déjà fixés
(politique aléatoire)
On fait la même chose sur une suite d’états déjà fixés
(politique aléatoire)
On calcule la différence de profit entre les 2 simulations
précédentes
18. IV.d – Résultats
R pour la politique optimale dans le cas d'évolution
classique (profit total = 1.2) : figure 1
19. IV.d – Résultats
R pour la politique quelconque dans le cas
d'évolution classique (profit entre -0.7 et 0.7) : figure
2
20. IV.d – Résultats
la politique optimale dans le cas d'évolution fixée
(profit = 1600) : figure 3
21. IV.d – Résultats
la politique quelconque dans le cas d'évolution fixée
(profit = 1500) : figure 4
22. IV.d – Résultats
gain supplémentaire obtenu grâce à la politique
optimale par rapport à une politique quelconque
(figure 3 – figure 4)
23. IV.d – Résultats
gain supplémentaire obtenu grâce à la politique
optimale par rapport à une politique quelconque
(figure 3 – figure 4)
24. IV.d – Résultats
gain supplémentaire obtenu grâce à la politique
optimale par rapport à une politique quelconque
(figure 3 – figure 4)
25. IV.d – Résultats
gain supplémentaire obtenu grâce à la politique
optimale par rapport à une politique quelconque
(figure 3 – figure 4)
26. IV.d – Résultats
Les graphiques 5 : "combien l'on gagne en plus en
utilisant la politique optimale trouvée, sur une série
d'états déjà fixée".
Plusieurs tracés donnent donc des résultats assez
différents. Ce n'est pas du tout ce à quoi l'on
s'attendait.
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
27. IV.d – Résultats
Les graphiques 5 : "combien l'on gagne en plus en utilisant la
politique optimale trouvée, sur une série d'états déjà fixée".
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.
28. V – Elargissement
V.a – 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.
29. V – Elargissement
V.a – Un seul client ? Un seul produit ?
Un seul client : pertinent pour certaines industries.
Beaucoup d'entreprises B2B n'ont qu'un seul "gros" client
(composants microinformatiques ou automobiles par ex).
Plusieurs clients, donc plusieurs variables aléatoires
indépendantes composant l'environnement :
clustering sur les clients en fonction de leur comportement
d'achat (fréquence et volume),
traiter chaque cluster indépendamment.
Plusieurs produits (pour un ou plusieurs clients), les
problèmes ne seront plus indépendants : la capacité de
stockage d'un produit est déterminée par le stock de l'autre.
30. 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