強化學習一步動態特性

2021-09-28 22:04:38 字數 933 閱讀 4732

使用數學記法表示環境動態比較方便。在此部分,我們將介紹這一記法(可以用於任何強化學習任務),並使用**機械人作為講解示例。

在隨機時間步 t,智慧型體環境互動變成一系列的狀態、動作和獎勵。

(s0,a0,r1,s1,a1,…,rt−1,st−1,at−1,rt,st,at)

當環境在時間步 t+1 對智慧型體做出響應時,它只考慮上乙個時間步 (st,at) 的狀態和動作。

尤其是,它不關心再上乙個時間步呈現給智慧型體的狀態。(換句話說,環境不考慮任何 )

並且,它不考慮智慧型體在上個時間步之前採取的動作。(換句話說,環境不考慮任何 )

此外,智慧型體的表現如何,或收集了多少獎勵,對環境選擇如何對智慧型體做出響應沒有影響。(換句話說,環境不考慮任何 )

因此,我們可以通過指定以下設定完全定義環境如何決定狀態和獎勵

p(s′,r∣s,a)≐p(st+1​=s′,rt+1​=r∣st​=s,at​=a)

對於每個可能的 s′,r,s,and a。這些條件概率用於指定環境的一步動態特性

乙個示例

我們回顧下 st=high at=search 的情況。

下個時間步是電量很高的概率為 70%,獎勵為 4。換句話說,p(high,4∣high,search)=p(st+1=high,rt+1=4∣st=high,at=search)=0.7

下個時間步是電量很低的概率為 30%,獎勵為 4。換句話說,p(low,4∣high,search)=p(st+1=low,rt+1=4∣st=high,at=search)=0.3

一步一步學Ruby 十七 Ruby動態特性

ruby中的一切都是動態的,例如,我們可以在程式執行時,動態的新增方法,類等。前面我們已經看到了ruby的動態特性,例如 給單個物件新增方法,重新開啟類等。如果熟悉rails,就知道activerecord提供基於資料庫表的欄位名的方法。每乙個欄位都有乙個方法,這個就依賴於ruby的動態特性。一 單...

一步一步學Ruby 十七 Ruby動態特性

ruby中的一切都是動態的,例如,我們可以在程式執行時,動態的新增方法,類等。前面我們已經看到了ruby的動態特性,例如 給單個物件新增方法,重新開啟類等。如果熟悉rails,就知道activerecord提供基於資料庫表的欄位名的方法。每乙個欄位都有乙個方法,這個就依賴於ruby的動態特性。一 單...

強化學習篇 強化學習案例詳解一

一 前述 本文通過乙個案例來講解q learning 二 具體 1 案例 假設我們需要走到5房間。轉變為如下圖 先構造獎勵,達到5,即能夠走得5的action則說明獎勵比較高設定成100,沒有達到5說明獎勵比較低,設定成0。q learning實現步驟 2 案例詳解 第一步的q 1,5 最開始的q矩...