从观测转移确定MDP:求教转移概率计算入门方法
入门级MDP转移概率计算指南
嘿,我来给你一步步讲清楚怎么算MDP的转移概率,这事儿其实就是靠统计观测数据的频率,非常直观,完全不用复杂公式,跟着走就行:
先明确核心概念
转移概率 P(s' | s, a) 的意思是:当前处于状态s,执行动作a后,下一时刻跳到状态s'的概率。对于你手里的观测数据,我们用「频率统计法(最大似然估计)」来计算——说白了就是数次数、算占比。
步骤1:先把观测数据理清楚
你给的原始数据有点格式小混乱,我先帮你拆成标准的「(当前状态s, 动作a, 下一状态s', 奖励r)」四元组(最后一条R D C应该是漏了奖励,但不影响转移概率计算,因为概率只和s、a、s'有关):
- (S, R, S', 0)
- (C, U, B, -1)
- (E, L, C, 0)
- (C, D, A, -1)
- (E, R, C, 0)
- (C, D, A, +1)
- (D, R, C, 0)
- (C, U, B, +1)
- (D, R, C, ?) (暂按有效转移记录处理)
步骤2:统计每个「(s,a)」组合的总观测次数
遍历所有数据,数一下在同一个状态s下做同一个动作a,一共出现了多少次:
- (S, R):1次
- (C, U):2次(两条
U C B的记录) - (E, L):1次
- (C, D):2次(两条
D C A的记录) - (E, R):1次
- (D, R):2次(两条
R D C的记录)
步骤3:统计每个「(s,a,s')」组合的出现次数
对每个「(s,a)」组合,数它转移到不同s'的次数:
- (S, R, S'):1次(只有这一条转移记录)
- (C, U, B):2次(两次都是从C做U动作跳到B)
- (E, L, C):1次
- (C, D, A):2次(两次都是从C做D动作跳到A)
- (E, R, C):1次
- (D, R, C):2次
步骤4:计算转移概率
用「(s,a,s')的出现次数」除以「(s,a)的总观测次数」,就是对应的转移概率,公式是:P(s' | s, a) = (s,a下转移到s'的次数) / (s,a的总观测次数)
代入你的数据计算结果如下:
P(S' | S, R) = 1/1 = 1.0P(B | C, U) = 2/2 = 1.0P(C | E, L) = 1/1 = 1.0P(A | C, D) = 2/2 = 1.0P(C | E, R) = 1/1 = 1.0P(C | D, R) = 2/2 = 1.0
补充小提示
如果某个「(s,a)」组合下有多个不同的s'(比如假设在状态C做动作U,1次跳到B,1次跳到D),那对应的概率就是各自的次数除以总次数,比如P(B|C,U)=0.5,P(D|C,U)=0.5。要是有些「(s,a)」没有观测数据,入门阶段可以暂时假设均匀分布,或者根据你对问题的理解设定概率~
内容的提问来源于stack exchange,提问作者A.A.
相关产品推荐
相关产品推荐

