機器學習分類:
強化學習是機器學習中的一個領域,強調如何基於環境而行動,以取得最大化的預期利益
強化學習基礎概念:
Agent :主體,與環境交互的對象,動作的行使者
Environment : 環境, 通常被規范為馬爾科夫決策過程(MDP)
State : 環境狀態的集合
Action : 環境下可行的動作集合,離散or連續
Reward :獎勵, 有了反饋,RL才能迭代,才會學習到策略鏈
馬爾可夫決策過程(MDP)
Markov Decision Processes:
馬爾可夫決策過程是強化學習的理論基礎
一個馬爾可夫決策過程由一個五元組構成
{ S , A , ,
, γ }
S 表示狀態集 (states)
A 表示動作集 (Action)
表示狀態 s 下采取動作 a 之后轉移到 s' 狀態的概率分布
表示狀態 s 下采取動作 a 獲得的獎勵
γ 是衰減因子,表示的是隨着時間的推移回報率的折扣
MDP的動態過程:
主體在狀態s0選擇某個動作a0∈A,主體根據概率 轉移到狀態s1,然后執行動作a1,...如此下去我們可以得到這樣的過程:
經過上面的轉移路徑,我們可以得到相應的回報函數和如下:
目標是選擇一組最佳的動作,使得全部的回報加權和期望最大:
數學表示
策略(policy):
一個策略π就是一個從狀態到動作的映射函數π:S↦A
確定性的policy(Deterministic policy): a=π(s)
隨機性的policy(Stochastic policy): π(a|s)=P[At=a|St=t]
狀態值函數(value function):
給定初始狀態s0和策略π后的累積折扣回報期望
貝爾曼等式(Bellman Equations):
對於一個固定的策略,它的值函數Vπ滿足貝爾曼等式
求解Vπ的目的是為找到一個當前狀態s下最優的行動策略π服務的
最優值函數:
行動值Q函數:
表示在s狀態下執行動作a作為第一個動作時的最大累計折扣回報
對應最優值函數的最優的策略為:
π∗是針對的是所有的狀態s的,確定了每一個狀態s的下一個動作a
求解方法
值迭代方法:
1 將每一個狀態s的值函數V(s)初始化為0
2 循環直至收斂{
對於每一個狀態s,對V(s)做更新
}
策略迭代方法:
1 隨機初始化話一個S到A的映射π
2 循環直至收斂{
2.1 令V:=Vπ
2.2 對每一個狀態s,對π(s)做更新
}
兩者比較:
規模較小的MDP,策略迭代一般能夠更快的收斂
規模較大的MDP(狀態多),值迭代更容易些
MDP中的參數估計
在許多實際問題中,狀態轉移概率分布Psa和回報函數R(s)不能顯式的得到
假設我們已知很多條狀態轉移路徑如下:
每條轉移路徑中的狀態數都是有限的
當獲得了很多類似上面的轉移路徑后(樣本),我們可以用最大似然估計來估計狀態轉移概率。
分子表示在狀態s通過執行動作a后到達狀態s′的次數
分母表示在狀態s我們執行動作的次數
對於未知的回報函數,我們令R(s)為在狀態s下觀察到的回報均值。
強化學習算法
Q-learning
Sarsa
Monte-carlo
Policy gradient
Temporal-difference
Deep-Q-Network(DQN)
TD-lambda
SARSA-lambda
強化學習特點:
無監督數據,只有獎勵信號
獎勵信號不一定實時,大部分情況獎勵信號滯后
研究的時間序列
當前的行為影響后續數據分布
強化學習更加專注於在線規划,需要在探索(在未知的領域)和利用(現有知識)之間找到平衡