马尔可夫决策过程(MDP)及其求解方法(动态规划、蒙特卡洛方法、时序差分学习)

1. 什么是强化学习?(从零开始)

1.1 强化学习就像“教一个小孩玩游戏”

强化学习(Reinforcement Learning, RL)是一种让计算机(我们叫它“智能体”,Agent)通过试错学习如何做事的算法。想象你在教一个小孩玩一个简单的迷宫游戏:

  • 小孩站在迷宫的起点,想走到终点拿到糖果(奖励)。
  • 小孩可以选择“上、下、左、右”走一步。
  • 每次走对一步(比如靠近终点),你可能会说“很好!”(给个小奖励);走错(比如撞墙),你可能会说“哎呀,错了”(给个惩罚)。
  • 小孩一开始不知道怎么走,但通过多次尝试,慢慢学会了哪条路能最快拿到糖果。

强化学习的核心就是让计算机像这个小孩一样,通过与环境互动,学会如何选择动作(Action)来获得最多的奖励(Reward)。

1.2 强化学习的关键元素

为了让这个“小孩”学会玩游戏,我们需要定义一些东西:

  1. 环境(Environment):小孩所在的“世界”,比如迷宫。环境会告诉小孩“你现在在哪儿”(状态)和“你走这一步会得到什么”(奖励)。
  2. 状态(State):小孩当前的位置。比如,迷宫里某个格子(坐标(1,2))。
  3. 动作(Action):小孩可以做的事情。比如,“向右走一步”。
  4. 奖励(Reward):小孩每走一步得到的反馈。比如,走到终点得+10分,撞墙得-1分。
  5. 策略(Policy):小孩的“行动指南”,告诉他在每个位置应该做什么。比如,“在(1,2)向右走”。
  6. 目标:让小孩学会一个最好的策略,拿到最多的奖励(不仅看眼前的糖果,还要考虑未来能拿多少)。

1.3 强化学习和深度学习的区别

深度学习是给计算机很多数据(比如图片和标签),让它学会识别规律(比如“这是猫”)。强化学习不同:

  • 没有明确的“正确答案”(标签)。
  • 计算机要自己试,错了(比如撞墙)会得到惩罚,对了(比如找到糖果)会得到奖励。
  • 最终目标是学会一个“策略”,而不是直接预测一个结果。

2. 什么是马尔可夫决策过程(MDP)?

2.1 MDP:强化学习的“游戏规则”

马尔可夫决策过程(MDP)是强化学习的数学框架,用来描述“小孩和迷宫”这个游戏的规则。它就像一个蓝图,告诉我们:

  • 小孩在哪儿(状态)。
  • 小孩能做什么(动作)。
  • 做了某件事后会发生什么(状态变化和奖励)。
  • 怎么衡量小孩的表现(长期奖励)。

MDP有五个关键部分(别怕,我会用例子解释清楚):

  1. 状态集(States, S):迷宫里所有可能的格子。比如,4x4迷宫有16个格子,每个格子是一个状态。
  2. 动作集(Actions, A):小孩在每个格子能做的动作,比如“上、下、左、右”。
  3. 状态转移概率(Transition Probabilities):小孩走一步后会去哪儿。比如,在(1,1)选择“向右”,有80%概率到(1,2),20%概率因为“地面滑”留在(1,1)。
  4. 奖励函数(Reward Function):小孩每走一步得到的反馈。比如,到终点得+10,撞墙得-1,其他得0。
  5. 折扣因子(Discount Factor, γ):一个0到1之间的数字,用来决定小孩是更关心“眼前的糖果”还是“未来的糖果”。比如, γ = 0.9 \gamma = 0.9 γ=0.9 意味着未来奖励会“打九折”。

2.2 生活化的例子:迷宫游戏

想象一个3x3的迷宫(如下,S是起点,G是终点,#是墙):

S . .
. # .
. . G
  • 状态:每个格子是一个状态,比如S在(0,0),G在(2,2)。
  • 动作:在每个格子可以选择“上、下、左、右”。
  • 转移概率:选择“向右”通常会到右边格子,但有10%概率“滑倒”不动。
  • 奖励:到达G得+10,撞墙得-1,其他得0。
  • 折扣因子 γ = 0.9 \gamma = 0.9 γ=0.9,意味着小孩会稍微更关心眼前的奖励,但也考虑未来。

2.3 MDP的目标

MDP的目标是找到一个最好的策略,告诉小孩在每个格子应该走哪一步,能拿到最多的奖励。奖励不仅看“这一步”,还要看“未来能拿多少”。我们用一个数字(叫回报,Return)来表示从现在到未来的总奖励:
回报 = 当前奖励 + 0.9 × 下一格奖励 + 0. 9 2 × 下下格奖励 + … \text{回报} = \text{当前奖励} + 0.9 \times \text{下一格奖励} + 0.9^2 \times \text{下下格奖励} + \dots 回报=当前奖励+0.9×下一格奖励+0.92×下下格奖励+

为了找到最好的策略,我们需要评估每个格子(状态)或每个动作的“价值”(Value)。价值是一个数字,表示“从这个格子开始,未来能拿多少奖励”。有两种价值:

  • 状态价值(State-Value, V ( s ) V(s) V(s):从格子 s s s 开始,遵循某个策略,平均能拿多少奖励。
  • 动作价值(Action-Value, Q ( s , a ) Q(s, a) Q(s,a):在格子 s s s 做动作 a a a,然后按策略走,平均能拿多少奖励。

2.4 马尔可夫性(简单理解)

MDP有个重要假设叫“马尔可夫性”,意思是:小孩下一步会去哪儿,只取决于他现在在哪儿、做什么,不取决于他之前走过的路。就像下棋:下一步棋局只看当前棋盘,不看前十步怎么走的。


3. 为什么要用动态规划、蒙特卡洛、时序差分?

MDP定义了游戏规则,但我们需要方法来解决它,也就是找到最好的策略。这就像问:“怎么教小孩最快学会走迷宫?”我们有三种方法:

  1. 动态规划(Dynamic Programming):假设我们知道迷宫的所有规则(比如每个格子去哪儿的概率),用数学计算出每个格子的价值和最佳动作。
  2. 蒙特卡洛方法(Monte Carlo Methods):让小孩多试几次(比如走100次迷宫),根据实际拿到的奖励,总结哪个格子或动作更好。
  3. 时序差分学习(Temporal Difference Learning):让小孩边走边学,每走一步就根据得到的奖励更新对格子的“价值”估计。

接下来,我会详细讲解这三种方法,用迷宫例子贯穿始终,确保你能理解每个步骤ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱看烟花的码农

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值