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