一個馬爾科夫鏈例項
馬爾科夫早就瞭解過,但一直沒有真正用馬爾科夫的思想求解問題,更沒有用到論文中去。
最近發現了一本好書: 《Foundations of stochastic inventory theory》,史丹佛大學出版的。這本書不厚,才 200多頁,講的比較清晰,目測比其他庫存管理的教材要好,準備精度完這本書。
下面探討書中的一個馬爾科夫例項。
1. 狀態(state)
一個零售商面對的顧客有兩種狀態,
狀態 s1: 上一個月買過該零售商的商品
狀態 s2:上一個月沒有買過該零售商的商品
2. 決策 (action)
零售商可以做出 3 個決策及對應的決策成本:
決策 a1 : 什麼都不做 成本:0
決策 a2 : 發禮物,小促銷 成本:0.5
決策 a3: 發禮物, 大促銷 成本:0.5
3. 狀態轉移及轉移機率 (transition equation and possibility)
Initial state s s | Action a a | Next state1 and possibility p a s 1 ps1a | Next state2 and possibility p a s 2 ps2a |
---|---|---|---|
s1 | a1 | s1, 0.99 | s2, 0.01 |
s1 | a2 | s1, 0.93 | s2, 0.07 |
s1 | a3 | s1, 0.85 | s2, 0.15 |
s2 | a1 | s1, 0.80 | s2, 0.20 |
s2 | a2 | s1, 0.72 | s2, 0.28 |
s2 | a3 | s1, 0.50 | s2, 0.50 |
4. 折現率 (discount factor)
折現率
α
=0.99
α=0.99
有效轉移機率
q
a
s
j
=
α
∗
p
a
s
j
qsja=α∗psja
5. 即時收益(immediate value)
若顧客不購買商品,收益為 0;
不促銷時,顧客購買商品,收益為 8;
小促銷時,顧客購買商品,收益為 7;
大促銷時,顧客購買商品,收益為 3;
減去成本,得到的期望即時回報(immediate return) r ( s , a ) r(s,a) 為:
Initial state s s | Action a a | Action cost c ( a ) c(a) | Expected immediate return |
---|---|---|---|
s1 | a1 | 0.99*(0.99*0+0.01*8)-0 = 0.08 | |
s1 | a2 | 0.5 | 0.99*(0.93*0+0.07*7)-0.5 = -0.01 |
s1 | a3 | 0.5 | 0.99*(0.85*0+0.15*3)-0.5 = -0.05 |
s2 | a1 | 0.99*(0.8*0+0.2*8)-0 = 1.6 | |
s2 | a2 | 0.5 | 0.99*(0.72*0+0.28*7)-0.5 = 1.4 |
s2 | a3 | 0.5 | 0.99*(0.5*0+0.5*3)-0.5 = 1 |
若是單週期決策,從上表可以看出,不論初始狀態是什麼,最有決策都是 a 1 a1 ,即不促銷不發禮物。
6. 兩階段決策
若是兩階段決策,則期望回報和需要再算一層。
Initial state s s | Action a a | Action cost c ( a ) c(a) | Expected immediate return | Expected sum immediate return |
---|---|---|---|---|
s1 | a1 | 0.99*(0.99*0+0.01*8)-0 = 0.08 | 0.08 + 0.99*(0.99*0.08+0.01*1.6)=0.1736 | |
s1 | a2 | 0.5 | 0.99*(0.93*0+0.07*7)-0.5 = -0.01 | -0.01 + 0.99*(0.93*0.08+0.07*1.9)=0.17 |
s1 | a3 | 0.5 | 0.99*(0.85*0+0.15*3)-0.5 = -0.05 | -0.05+0.99(0.85*0.08+0.15*1.6)=0.2 |
s2 | a1 | 0.99*(0.8*0+0.2*8)-0 = 1.6 | 0.6+0.99(0.85*0.08+0.15*1.6)=1.87 | |
s2 | a2 | 0.5 | 0.99*(0.72*0+0.28*7)-0.5 = 1.4 | 1.4+0.99(0.85*0.08+0.15*1.6)=1.85 |
s2 | a3 | 0.5 | 0.99*(0.5*0+0.5*3)-0.5 = 1 | 1+0.99(0.85*0.08+0.15*1.6)=1.75 |
從上表可以得出最優決策策略是:若初始狀態為 s 1 s1 ,最優決策 a 3 a3 ,即大促銷;若初始狀態為 s 2 s2 , 最優決策 a 1 a1 ,即不促銷。
7. 最優遞推方程
定義
f
n
(
s
)
fn(s)
表示初始狀態為
s
s
,之後
n
n
個階段的最優期望回報,則最優遞推方程可以表示為:
f n ( s ) = max a r ( s , a ) + α ∑ j p sj f n −1 ( j ) fn(s)=maxar(s,a)+α∑jpsjfn−1(j)
更規範的可以這樣寫:
f n ( s ) = sup a ∈ A r ( s , a ) + α ∑ j p sj f n −1 ( j ) fn(s)=supa∈Ar(s,a)+α∑jpsjfn−1(j)
界限方程一般是: f ( s ) = v ( s ) f0(s)=v(s)
這就是一個動態規劃表示式。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29829936/viewspace-2168544/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 2022-05-17-馬爾科夫鏈之傳統馬爾可夫鏈馬爾科夫馬爾可夫
- 馬爾科夫鏈的穩態分佈馬爾科夫
- 馬爾科夫鏈隨機文字生成器馬爾科夫隨機
- 2022-05-21-空間馬爾科夫鏈工具馬爾科夫
- NLP-隱馬爾可夫模型及使用例項隱馬爾可夫模型
- 最簡單的隨機過程——馬爾科夫鏈的Python分析隨機馬爾科夫Python
- 13張動圖助你徹底看懂馬爾科夫鏈、PCA和條件概率!馬爾科夫PCA
- [work] 一階 二階馬爾可夫馬爾可夫
- 在 Swift 中使用馬爾可夫鏈生成文字Swift馬爾可夫
- 強化學習(二)馬爾科夫決策過程(MDP)強化學習馬爾科夫
- 馬爾可夫鏈是個什麼鬼?圖文詳解告訴你!馬爾可夫
- 隱馬爾可夫模型 | 賽爾筆記隱馬爾可夫模型筆記
- [譯] 用 Python 實現馬爾可夫鏈的初級教程Python馬爾可夫
- 馬爾可夫鏈你知道多少?Python視覺化解析MCMC馬爾可夫Python視覺化
- ML-隱馬爾可夫模型隱馬爾可夫模型
- 10_隱馬爾可夫模型隱馬爾可夫模型
- 隱馬爾可夫模型詳解隱馬爾可夫模型
- 【機器學習】--隱含馬爾科夫模型從初識到應用機器學習馬爾科夫模型
- 隱馬爾可夫模型(HMM)詳解隱馬爾可夫模型HMM
- 理解馬爾可夫決策過程馬爾可夫
- 虹科分享 | 一個高爾夫球用品製造商怎樣處理資料?
- 今天是霧霾,明天是什麼?馬爾可夫鏈告訴你馬爾可夫
- ICML2019 | 深度學習鼻祖之一Bengio提出並開源圖馬爾科夫神經網路深度學習馬爾科夫神經網路
- 機器學習之隱馬爾可夫模型機器學習隱馬爾可夫模型
- 域結構進化的馬爾可夫模型馬爾可夫模型
- 「馬爾可夫決策過程」學習筆記馬爾可夫筆記
- HMM隱馬爾可夫模型來龍去脈(二)HMM隱馬爾可夫模型
- 【火爐煉AI】機器學習045-對股票資料進行隱馬爾科夫建模AI機器學習馬爾科夫
- frida 建立一個ArrayList例項
- 用簡單易懂的例子解釋隱馬爾可夫模型隱馬爾可夫模型
- 高爾夫禮儀
- 模擬高爾夫快速發展,揮杆高爾夫模擬器讓普通人加入高爾夫運動
- 3.1.4 準備啟動一個例項
- 一個pyspark 開發練習例項Spark
- 分享一個SQLite 效能優化例項SQLite優化
- 一個例項中,多個synchronized方法的呼叫synchronized
- 開啟MCMC(馬爾科夫蒙特卡洛)的黑盒子 - Pymc貝葉斯推理底層實現原理初探馬爾科夫
- CVPR 2021 | 時間序列疾病預測的因果隱馬爾可夫模型隱馬爾可夫模型