但是馬爾科夫過程中不存在動作(action)和獎勵(reward),所有馬爾科夫過程不足以描述圖1所示的強化學習過程。將動作(action)和獎勵(reward)考慮到馬爾科夫過程中去就得到了馬爾科夫決策過程。
跟馬爾科夫過程不同的是,馬爾科夫決策過程的狀態轉移概率是包含動作的即:pss
′a=p
[st+
1=s′
∣st=
s,at
=a]p^a_=p[s_=s' |s_t=s,a_t=a]
pss′a
=p[s
t+1
=s′∣
st=
s,at
=a]
表示在狀態s
ss下執行行為a
aa下乙個狀態為s′s'
s′的概率,
例子:學生馬爾科夫決策過程:
其中黑色源點是起點,方塊為終點。
強化學習的目標是給定乙個馬爾科夫決策過程,尋找最優策略。所謂策略是指狀態到動作的對映,策略常用符號π
ππ表示,它是指給定狀態s
ss時,動作集上的乙個分布,即:π(a
│s)=
p(at
∣st=
s)π(a│s)=p(a_t |s_t=s)
π(a│s)
=p(a
t∣s
t=s
)累計回報g
tg_t
gt:是指從t
tt時刻所能帶來的所有打折後的獎勵總和:gt=
rt+1
+γrt
+⋯=∑
k=1∞
rkrt
+k+1
g_t=r_+γr_t+⋯=∑_^∞r^k r_
gt=rt
+1+
γrt
+⋯=k
=1∑∞
rkr
t+k+
1狀態值函式:
狀態-行為值函式: qπ(
s,a)
=eπ[
∑k∞γ
kr(t
+k+1
)∣st
=s,a
t=a]
q_π (s,a)=e_π [∑_k^∞γ^k r_(t+k+1) |s_t=s,a_t=a]
qπ(s,
a)=e
π[k
∑∞γ
kr(
t+k+
1)∣s
t=s
,at
=a]
上面兩個式子分別給出了狀態值函式和狀態-行為值函式的定義計算式,但在實際真正計算和程式設計的時候並不會按照定義式去程式設計。
狀態值函式與狀態-行為值函式的貝爾曼方程:
狀態值函式與狀態-行為值函式的分解公式:
計算狀態值函式的目的是為了構建學習演算法從資料中得到最優策略。每個策略對應著乙個狀態值函式,最優策略自然對應著最優狀態值函式;
最優狀態值函式和最優狀態-行動值函式的貝爾曼最優方程:
例子:學生馬爾科決策過程的最優值函式和最優策略如下圖:
令τ =(
s0,a
0,s1
,a2,
…,st
,at)
τ=(s_0,a_0,s_1,a_2,…,s_t,a_t)
τ=(s0
,a0
,s1
,a2
,…,s
t,a
t)為乙個決策軌跡
令乙個決策軌跡的累積回報為:r=∑
t=0t
γtrt
r=∑_^tγ^t r_t
r=t=0∑
tγt
rt強化學習的目標是:找到最優策略π
ππ,使得該策略下的累積回報期望最大,即:max
π∑τ
r(τ)
pπ(τ
)max_π∑_τr(τ) p_π (τ)
maxπ
τ∑r
(τ)p
π(τ
)強化學習演算法根據策略是否是隨機的:
強化學習演算法根據轉移概率是否已知可以分為:
根據回報函式$r∈r^是否已知可以分為:
參考連線
work 馬爾可夫決策過程MDP
1.馬爾可夫模型的幾類子模型 大家應該還記得馬爾科夫鏈 markov chain 了解機器學習的也都知道隱馬爾可夫模型 hidden markov model,hmm 它們具有的乙個共同性質就是馬爾可夫性 無後效性 也就是指系統的下個狀態只與當前狀態資訊有關,而與更早之前的狀態無關。馬爾可夫決策過程...
增強學習(二) 馬爾可夫決策過程MDP
增強學習 二 馬爾可夫決策過程mdp 1.馬爾可夫模型的幾類子模型 大家應該還記得馬爾科夫鏈 markov chain 了解機器學習的也都知道隱馬爾可夫模型 hidden markov model,hmm 它們具有的乙個共同性質就是馬爾可夫性 無後效性 也就是指系統的下個狀態只與當前狀態資訊有關,而...
《強化學習》馬爾可夫決策過程MDP
狀態自動機 mdp和nfa唯一相似的地方就是它們都有狀態轉移,拋掉這一點兩者就八竿子打不著了。我們用貝爾曼期望方程求解在某個給定策略 和環境env下的價值函式 具體解法是 下面是對於v s 的解法 從而對於每乙個特定的 都能得到其對應的價值函式。所以我們可以有一組的 但是我們解決問題的目標是拿到最優...