
- 機器學習基礎
- ML - 首頁
- ML - 簡介
- ML - 快速入門
- ML - 基本概念
- ML - 生態系統
- ML - Python庫
- ML - 應用
- ML - 生命週期
- ML - 所需技能
- ML - 實現
- ML - 挑戰與常見問題
- ML - 限制
- ML - 真實案例
- ML - 資料結構
- ML - 數學基礎
- ML - 人工智慧
- ML - 神經網路
- ML - 深度學習
- ML - 獲取資料集
- ML - 分類資料
- ML - 資料載入
- ML - 資料理解
- ML - 資料預處理
- ML - 模型
- ML - 監督學習
- ML - 無監督學習
- ML - 半監督學習
- ML - 強化學習
- ML - 監督學習與無監督學習對比
- 機器學習資料視覺化
- ML - 資料視覺化
- ML - 直方圖
- ML - 密度圖
- ML - 箱線圖
- ML - 相關矩陣圖
- ML - 散點矩陣圖
- 機器學習統計學
- ML - 統計學
- ML - 均值、中位數、眾數
- ML - 標準差
- ML - 百分位數
- ML - 資料分佈
- ML - 偏度和峰度
- ML - 偏差與方差
- ML - 假設
- 機器學習中的迴歸分析
- ML - 迴歸分析
- ML - 線性迴歸
- ML - 簡單線性迴歸
- ML - 多元線性迴歸
- ML - 多項式迴歸
- 機器學習中的分類演算法
- ML - 分類演算法
- ML - 邏輯迴歸
- ML - K近鄰演算法 (KNN)
- ML - 樸素貝葉斯演算法
- ML - 決策樹演算法
- ML - 支援向量機
- ML - 隨機森林
- ML - 混淆矩陣
- ML - 隨機梯度下降
- 機器學習中的聚類演算法
- ML - 聚類演算法
- ML - 基於中心點的聚類
- ML - K均值聚類
- ML - K中心點聚類
- ML - 均值漂移聚類
- ML - 層次聚類
- ML - 基於密度的聚類
- ML - DBSCAN聚類
- ML - OPTICS聚類
- ML - HDBSCAN聚類
- ML - BIRCH聚類
- ML - 親和傳播聚類
- ML - 基於分佈的聚類
- ML - 凝聚層次聚類
- 機器學習中的降維
- ML - 降維
- ML - 特徵選擇
- ML - 特徵提取
- ML - 向後逐步迴歸
- ML - 向前特徵構造
- ML - 高相關性過濾器
- ML - 低方差過濾器
- ML - 缺失值比例
- ML - 主成分分析
- 強化學習
- ML - 強化學習演算法
- ML - 利用與探索
- ML - Q學習
- ML - REINFORCE演算法
- ML - SARSA強化學習
- ML - 演員-評論家方法
- 深度強化學習
- ML - 深度強化學習
- 量子機器學習
- ML - 量子機器學習
- ML - 使用Python的量子機器學習
- 機器學習雜項
- ML - 效能指標
- ML - 自動化工作流程
- ML - 提升模型效能
- ML - 梯度提升
- ML - 自舉匯聚 (Bagging)
- ML - 交叉驗證
- ML - AUC-ROC曲線
- ML - 網格搜尋
- ML - 資料縮放
- ML - 訓練與測試
- ML - 關聯規則
- ML - Apriori演算法
- ML - 高斯判別分析
- ML - 成本函式
- ML - 貝葉斯定理
- ML - 精度和召回率
- ML - 對抗性
- ML - 堆疊泛化
- ML - 迭代次數
- ML - 感知器
- ML - 正則化
- ML - 過擬合
- ML - P值
- ML - 熵
- ML - MLOps
- ML - 資料洩露
- ML - 機器學習的商業化
- ML - 資料型別
- 機器學習資源
- ML - 快速指南
- ML - 速查表
- ML - 面試問題
- ML - 有用資源
- ML - 討論
強化學習演算法
強化學習演算法是一種機器學習演算法,用於訓練智慧體在環境中做出最佳決策。Q學習、策略梯度方法和蒙特卡洛方法等演算法通常用於強化學習。目標是最大化智慧體隨時間的累積獎勵。
什麼是強化學習 (RL)?
強化學習是一種機器學習方法,其中智慧體(軟體實體)透過執行動作並監控結果來學習解釋環境。對於每個好的動作,智慧體都會獲得積極反饋,對於每個壞的動作,智慧體都會獲得消極反饋。它受到動物如何從經驗中學習的啟發,根據其行為的後果做出決策。
強化學習演算法的型別
強化學習演算法可以分為兩大類:基於模型的和無模型的。區別在於它們如何識別最佳策略 π −
- 基於模型的強化學習演算法 − 智慧體建立環境模型並預測各種狀態下動作的結果。獲取模型後,智慧體可以使用它來制定策略並預測未來結果,而無需直接與環境互動。這種方法將提高決策效率,因為它不完全依賴於反覆試驗。
- 無模型的強化學習演算法 − 該模型不維護環境模型。相反,它透過與環境的互動來獲取策略或價值函式。
基於模型的強化學習演算法
以下是一些重要的基於模型的最佳化和控制演算法:
1. 動態規劃
動態規劃是一個數學框架,用於解決複雜問題,尤其是在決策和控制場景中。它有一組演算法,可以用於確定智慧體瞭解環境所有資訊(即智慧體具有完美的環境模型)時的最優策略。強化學習中動態規劃的一些演算法包括:
值迭代
值迭代是一種用於計算最優策略的動態規劃演算法。它根據智慧體將遵循最優策略的假設來計算每個狀態的值。更新策略基於貝爾曼方程:
$$ \mathrm{ V(s) = \max_{a} \sum_{s',r} P(s',r|s,a) (R(s,a,s') + \gamma V(s')) } $$
策略迭代
策略迭代是一個兩步最佳化過程,用於同時找到最優值函式 VΠ 和對應的最優策略 Π。所涉及的步驟包括:
- 策略評估 − 對於給定的策略,使用貝爾曼方程計算每個狀態的值函式。
- 策略改進 − 使用當前值函式,透過選擇最大化預期回報的動作來改進策略。
此過程在評估和改進之間交替進行,直到策略達到最優策略。
2. 蒙特卡洛樹搜尋 (MCTS)
蒙特卡洛樹搜尋是一種啟發式搜尋演算法。它使用樹形結構來探索可能的動作和狀態。這使得 MCTS 尤其適用於在複雜環境中進行決策。
無模型的強化學習演算法
以下是一些重要的無模型演算法:
1. 蒙特卡洛學習
蒙特卡洛學習是強化學習中的一種技術,它專注於基於實際經驗來估計價值函式和制定策略,而不是依賴於環境的模型或動力學。蒙特卡洛技術通常使用對與環境互動的多個情景進行平均的概念來競爭預期回報的估計值。
2. 時序差分學習
時序差分 (TD) 學習是無模型強化學習技術之一,其目標是透過使用智慧體在其與環境互動過程中收集的經驗來評估策略的價值函式。與僅在整個情景完成後才更新價值估計的蒙特卡洛方法相比,TD 學習在每次採取行動和收到獎勵後都會增量更新,使其成為最佳決策選擇。
3. SARSA
SARSA 是一種用於學習動作值函式 Q(s,a) 的線上、無模型強化學習演算法方法。它代表狀態-動作-獎勵-狀態-動作,並根據智慧體在其與環境互動過程中實際採取的動作更新其動作值估計。
4. Q學習
Q學習 是一種無模型的離線強化學習技術,用於學習最優動作值函式 Q*(s,a),它給出任何狀態-動作對的最大預期獎勵。Q學習的主要目標是透過評估最優動作值函式來發現最佳策略,該函式表示在執行動作 a 並隨後遵循最優策略時,從狀態 s 獲得的最大預期獎勵。
5. 策略梯度最佳化
策略梯度最佳化是一類強化學習演算法,其重點是直接最佳化策略而不是學習價值函式。這些技術修改引數策略的引數以最佳化預期回報。REINFORCE 演算法 是強化學習中一種基於蒙特卡洛方法的策略梯度演算法。
基於模型的 RL 與無模型的 RL
基於模型和無模型強化學習演算法之間的主要區別在於:
特徵 | 基於模型的 RL | 無模型的 RL |
---|---|---|
學習過程 | 首先,學習環境動態的模型,並使用該模型預測未來的動作。 | 完全基於反覆試驗,直接從觀察到的轉換和獎勵中學習策略或價值函式。 |
效率 | 由於它可以使用學習到的模型模擬許多互動,因此可能會獲得更高的樣本效率。 | 需要額外的真實世界互動來發現最優策略。 |
複雜度 | 更復雜,因為它需要學習和維護環境的精確模型。 | 相對容易,因為它不必執行模型訓練。 |
利用環境 | 主動構建環境模型以預測結果並採取進一步行動。 | 不構建任何環境模型,直接依賴於以往經驗。 |
適應性 | 能夠適應環境中不斷變化的狀態。 | 由於依賴以往經驗,適應可能需要更長時間。 |
計算需求 | 由於模型開發和學習的複雜性,通常需要更多的計算資源。 | 通常計算需求較低,專注於直接從經驗中學習。 |