当前位置: 首页 > wzjs >正文

浙江天奥建设集团网站WordPress评论ajax提交

浙江天奥建设集团网站,WordPress评论ajax提交,北京专业网站营销,wordpress改网站logo马尔可夫决策过程始终贯穿强化学习,要学好强化学习,必须掌握马尔可夫决策过程的基础知识。与多臂老虎机不同,马尔可夫决策过程包含状态信息以及状态转移机制。 马尔可夫过程 当且仅当某时刻的状态只取决于上个时刻的状态时,一个…

马尔可夫决策过程始终贯穿强化学习,要学好强化学习,必须掌握马尔可夫决策过程的基础知识。与多臂老虎机不同,马尔可夫决策过程包含状态信息以及状态转移机制。

马尔可夫过程

当且仅当某时刻的状态只取决于上个时刻的状态时,一个随机过程被称为具有马尔可夫性质。
P ( S t + 1 ∣ S t ) = P ( S t + 1 ∣ S 1 , S 2 , . . . , S t ) P(S_{t+1}|S_{t}) = P(S_{t+1}|S_{1}, S_{2},...,S_{t}) P(St+1St)=P(St+1S1,S2,...,St)

而具有马尔可夫性质的随机过程就称为马尔可夫过程,我们通常用一个元组表示 < S , P > <S, P> <S,P> S S S 是状态集合 { s 1 , s 2 , s 3 , . . . } \{s_1, s_2, s_3, ...\} {s1,s2,s3,...} P P P 是状态转移矩阵,表明状态之间相互转移的概率。
P = [ P ( s 1 ∣ s 1 ) ⋯ P ( s n ∣ s 1 ) ⋮ ⋱ ⋮ P ( s 1 ∣ s n ) ⋯ P ( s n ∣ s n ) ] \mathcal{P} = \begin{bmatrix} P(s_1 | s_1) & \cdots & P(s_n | s_1) \\ \vdots & \ddots & \vdots \\ P(s_1 | s_n) & \cdots & P(s_n | s_n) \end{bmatrix} P= P(s1s1)P(s1sn)P(sns1)P(snsn)
在这里插入图片描述

例如对于上面这个随机过程我们就可以表示为:

S = [0, 1, 2, 3, 4, 5]
P = [[0.9, 0.1, 0, 0, 0, 0],[0.5, 0, 0.5, 0, 0, 0],[0, 0, 0, 0.6, 0, 0.4],[0, 0, 0, 0, 0.3, 0.7],[0, 0.2, 0.3, 0.5, 0, 0],[0, 0, 0, 0, 0, 1]]
P = np.array(P)

马尔可夫奖励过程

在马尔可夫过程的基础上加入奖励函数 r r r 和折扣因子 γ \gamma γ,就可以得到马尔可夫奖励过程,我们通常用 ( S , P , r , γ ) (\mathcal{S}, \mathcal{P}, r, \gamma) (S,P,r,γ) 表示。

在一个马尔可夫奖励过程中, 从 t 时刻状态 S t S_t St 开始,到终止状态时,衰减奖励之和记作回报 G t G_t Gt,即
G t = R t + γ G t + 1 G_t = R_t + \gamma G_{t+1} Gt=Rt+γGt+1
在这里插入图片描述
比如我们选择 s 5 s_5 s5 为起点,设置 γ = 0.5 \gamma=0.5 γ=0.5,选择的路径是 s 5 → s 2 → s 3 → s 4 → s 6 s_5 \rightarrow s_2 \rightarrow s_3 \rightarrow s_4 \rightarrow s_6 s5s2s3s4s6。则在这个过程中 s 5 s_5 s5 的回报 G 1 = 1 + 0.5 ∗ − 2 + 0.25 ∗ − 2 + 0.125 ∗ 10 + 0.0625 ∗ 0 = 0.75 G_1 = 1 + 0.5 * -2 + 0.25 * -2 + 0.125*10+0.0625*0=0.75 G1=1+0.52+0.252+0.12510+0.06250=0.75

P = [[0.9, 0.1, 0, 0, 0, 0],[0.5, 0, 0.5, 0, 0, 0],[0, 0, 0, 0.6, 0, 0.4],[0, 0, 0, 0, 0.3, 0.7],[0, 0.2, 0.3, 0.5, 0, 0],[0, 0, 0, 0, 0, 1]]
P = np.array(P)reward = [-1, -2, -2, 10, 1, 0]
gamma = 0.5def compute_return(start_index, chain, gamma):G = 0for i in reversed(range(start_index, len(chain))):G = gamma * G + reward[chain[i]-1]return Gchain = [5, 2, 3, 4, 6]
start_index = 0
G = compute_return(start_index, chain, gamma)
print("根据本序列计算得到回报为:%s。" % G)

在马尔可夫奖励过程中,一个状态的期望回报被称为这个状态的价值。所有状态的价值就组成了价值函数 V ( s ) V(s) V(s)
V ( s ) = r ( s ) + γ ∑ s ′ ∈ S p ( s ′ ∣ s ) V ( s ′ ) V(s) = r(s) + \gamma\sum_{s'\in S}{p(s'|s)V(s')} V(s)=r(s)+γsSp(ss)V(s)
其中, r ( s ) r(s) r(s) 是即时奖励, p ( s ′ ∣ s ) p(s'|s) p(ss) 为状态转移概率。

上式就是马尔可夫奖励过程中非常有名的贝尔曼方程。相信大家已经看出来了,这个方程具有解析解。
V = R + γ P V \mathcal{V} = \mathcal{R} + \gamma \mathcal{P} \mathcal{V} V=R+γPV

( I − γ P ) V = R (I - \gamma \mathcal{P}) \mathcal{V} = \mathcal{R} (IγP)V=R

V = ( I − γ P ) − 1 R \mathcal{V} = (I - \gamma \mathcal{P})^{-1} \mathcal{R} V=(IγP)1R

def compute(P, reward, gamma, status_num):rewards = np.array(reward).reshape((-1, 1))value = np.dot(np.linalg.inv(np.eye(status_num, status_num)-gamma * P), rewards)return valuev = compute(P, reward, gamma, 6)
print("MRP中每个状态价值分别为\n", v)

马尔可夫决策过程

马尔可夫过程和马尔可夫奖励过程都是自发改变的随机过程;而如果有一个外界的“刺激”来共同改变这个随机过程,就有了马尔可夫决策过程

我们将这个来自外界的刺激称为智能体的动作,在马尔可夫奖励过程(MRP)的基础上加入动作,就得到了马尔可夫决策过程(MDP),记作 ( S , A , P , r , γ ) (\mathcal{S}, \mathcal{A}, \mathcal{P}, r, \gamma) (S,A,P,r,γ)
在这里插入图片描述

在马尔可夫决策过程中,通常存在一个智能体来执行动作。智能体根据当前状态选择动作;MDP 根据奖励函数和状态转移函数得到和并反馈给智能体。智能体的目标是最大化得到的累计奖励。智能体根据当前状态从动作的集合中选择一个动作的函数,被称为策略。

智能体的策略通常用 π \pi π 来表示。 π ( a ∣ s ) \pi(a|s) π(as) 表示在输入状态 s s s 下采取动作 a a a 的概率。和 MRP 相似,MDP也定义了类似的价值函数。

在 MDP 中基于策略 π \pi π 的状态价值函数 V π ( s ) V^\pi(s) Vπ(s) 定义为从状态 s s s 出发遵循策略 π \pi π 能获得的期望回报。
V π ( s ) = E π [ G t ∣ S t = s ] V^\pi(s) = \mathbb{E}_\pi \left[ G_t \mid S_t = s \right] Vπ(s)=Eπ[GtSt=s]
在 MDP 中,由于动作的存在,我们额外定义一个动作价值函数 Q π ( s , a ) Q\pi(s, a) Qπ(s,a)
V π ( s , a ) = E π [ G t ∣ S t = s , A t = a ] V^\pi(s, a) = \mathbb{E}_\pi \left[ G_t \mid S_t = s, A_t = a \right] Vπ(s,a)=Eπ[GtSt=s,At=a]

状态的价值等于在该状态下基于策略采取所有动作的概率与相应的价值相乘再求和的结果。
V π ( s ) = ∑ a ∈ A π ( a ∣ s ) V π ( s , a ) V^\pi(s) = \sum_{a \in A}\pi(a|s)V^\pi(s,a) Vπ(s)=aAπ(as)Vπ(s,a)

同时,和MRP类似,状态 s s s 下采取动作 a a a 的价值为
V π ( s , a ) = r ( s , a ) + γ ∑ s ′ ∈ S p ( s ′ ∣ s , a ) V π ( s ′ ) V^\pi(s, a) = r(s, a) + \gamma\sum_{s'\in S}{p(s'|s, a)V^\pi(s')} Vπ(s,a)=r(s,a)+γsSp(ss,a)Vπ(s)

蒙特卡洛方法

蒙特卡洛方法(Monte-Carlo methods)也被称为统计模拟方法,是一种基于概率统计的数值计算方法。运用蒙特卡洛方法时,我们通常使用重复随机抽样,然后运用概率统计方法来从抽样结果中归纳出我们想求的目标的数值估计。一个简单的例子是用蒙特卡洛方法来计算圆的面积。例如,如图所示的正方形内部随机产生若干个点,细数落在圆中点的个数,圆的面积与正方形面积之比就等于圆中点的个数与正方形中点的个数之比。
在这里插入图片描述
在这里插入图片描述

对于MDP问题应用以上算法:

在这里插入图片描述

S = ["s1", "s2", "s3", "s4", "s5"]  # 状态集合
A = ["保持s1", "前往s1", "前往s2", "前往s3", "前往s4", "前往s5", "概率前往"]  # 动作集合
# 状态转移函数
P = {"s1-保持s1-s1": 1.0,"s1-前往s2-s2": 1.0,"s2-前往s1-s1": 1.0,"s2-前往s3-s3": 1.0,"s3-前往s4-s4": 1.0,"s3-前往s5-s5": 1.0,"s4-前往s5-s5": 1.0,"s4-概率前往-s2": 0.2,"s4-概率前往-s3": 0.4,"s4-概率前往-s4": 0.4,
}
# 奖励函数
R = {"s1-保持s1": -1,"s1-前往s2": 0,"s2-前往s1": -1,"s2-前往s3": -2,"s3-前往s4": -2,"s3-前往s5": 0,"s4-前往s5": 10,"s4-概率前往": 1,
}
gamma = 0.5  # 折扣因子
MDP = (S, A, P, R, gamma)# 策略1,随机策略
Pi_1 = {"s1-保持s1": 0.5,"s1-前往s2": 0.5,"s2-前往s1": 0.5,"s2-前往s3": 0.5,"s3-前往s4": 0.5,"s3-前往s5": 0.5,"s4-前往s5": 0.5,"s4-概率前往": 0.5,
}
# 策略2
Pi_2 = {"s1-保持s1": 0.6,"s1-前往s2": 0.4,"s2-前往s1": 0.3,"s2-前往s3": 0.7,"s3-前往s4": 0.5,"s3-前往s5": 0.5,"s4-前往s5": 0.1,"s4-概率前往": 0.9,
}# 把输入的两个字符串通过“-”连接,便于使用上述定义的P、R变量
def join(str1, str2):return str1 + '-' + str2
gamma = 0.5
# 转化后的MRP的状态转移矩阵
P_from_mdp_to_mrp = [[0.5, 0.5, 0.0, 0.0, 0.0],[0.5, 0.0, 0.5, 0.0, 0.0],[0.0, 0.0, 0.0, 0.5, 0.5],[0.0, 0.1, 0.2, 0.2, 0.5],[0.0, 0.0, 0.0, 0.0, 1.0],
]
P_from_mdp_to_mrp = np.array(P_from_mdp_to_mrp)
R_from_mdp_to_mrp = [-0.5, -1.5, -1.0, 5.5, 0]V = compute(P_from_mdp_to_mrp, R_from_mdp_to_mrp, gamma, 5)
print("MDP中每个状态价值分别为\n", V)
def sample(MDP, Pi, timestep_max, number):''' 采样函数,策略Pi,限制最长时间步timestep_max,总共采样序列数number '''S, A, P, R, gamma = MDPepisodes = []for _ in range(number):episode = []timestep = 0s = S[np.random.randint(4)]  # 随机选择一个除s5以外的状态s作为起点# 当前状态为终止状态或者时间步太长时,一次采样结束while s != "s5" and timestep <= timestep_max:timestep += 1rand, temp = np.random.rand(), 0# 在状态s下根据策略选择动作for a_opt in A:temp += Pi.get(join(s, a_opt), 0)if temp > rand:a = a_optr = R.get(join(s, a), 0)breakrand, temp = np.random.rand(), 0# 根据状态转移概率得到下一个状态s_nextfor s_opt in S:temp += P.get(join(join(s, a), s_opt), 0)if temp > rand:s_next = s_optbreakepisode.append((s, a, r, s_next))  # 把(s,a,r,s_next)元组放入序列中s = s_next  # s_next变成当前状态,开始接下来的循环episodes.append(episode)return episodes# 采样5次,每个序列最长不超过20步
episodes = sample(MDP, Pi_1, 20, 5)
print('第一条序列\n', episodes[0])
print('第二条序列\n', episodes[1])
print('第五条序列\n', episodes[4])
# 对所有采样序列计算所有状态的价值
def MC(episodes, V, N, gamma):for episode in episodes:G = 0for i in range(len(episode) - 1, -1, -1):  #一个序列从后往前计算(s, a, r, s_next) = episode[i]G = r + gamma * GN[s] = N[s] + 1V[s] = V[s] + (G - V[s]) / N[s]timestep_max = 20
# 采样1000次,可以自行修改
episodes = sample(MDP, Pi_1, timestep_max, 1000)
gamma = 0.5
V = {"s1": 0, "s2": 0, "s3": 0, "s4": 0, "s5": 0}
N = {"s1": 0, "s2": 0, "s3": 0, "s4": 0, "s5": 0}
MC(episodes, V, N, gamma)
print("使用蒙特卡洛方法计算MDP的状态价值为\n", V)

文章转载自:

http://RSZoKHrp.qmwzr.cn
http://A03HHt48.qmwzr.cn
http://WNLdvTOr.qmwzr.cn
http://NWf3E5Pi.qmwzr.cn
http://zdf1fqXq.qmwzr.cn
http://3TuoGlcb.qmwzr.cn
http://F5e3W6Oh.qmwzr.cn
http://06jv8BHO.qmwzr.cn
http://jcRoErD6.qmwzr.cn
http://oRdBM19D.qmwzr.cn
http://GbSDlUsI.qmwzr.cn
http://JxOTkrnr.qmwzr.cn
http://RvL2R1dU.qmwzr.cn
http://VbIQHmUZ.qmwzr.cn
http://t7ekoCIR.qmwzr.cn
http://e3cXnmlo.qmwzr.cn
http://DC0OuHTT.qmwzr.cn
http://GW3kc4dH.qmwzr.cn
http://DGLfMReX.qmwzr.cn
http://5Uk4LQLI.qmwzr.cn
http://1sLw4Vgy.qmwzr.cn
http://Ex6m2FCw.qmwzr.cn
http://wO46L8bj.qmwzr.cn
http://R2zLft7v.qmwzr.cn
http://I2hlwfxF.qmwzr.cn
http://tEMguMmD.qmwzr.cn
http://VvhYUrFw.qmwzr.cn
http://2zHU12h5.qmwzr.cn
http://MDvRzHrC.qmwzr.cn
http://a74Rcz3d.qmwzr.cn
http://www.dtcms.com/wzjs/662113.html

相关文章:

  • 河池网站建设公司微信电脑版官方下载
  • 制作网站和制作网页的分别wordpress视频分享
  • 在centos上做网站谷歌play商店
  • 东营智能网站设计大型网站建设兴田德润赞扬
  • 网站域名备案查询官网口碑营销例子
  • 课程网站如何建设方案永久免vip的网站
  • 企业建设网站流程app开发公司q1654534794下拉推广
  • 攻击asp网站百度一下官网手机版
  • 网站建设制作设计惠州工信部 网站备案查询
  • 外贸网站建设公司价位教学单位 网站建设
  • 汽车4s店网站建设方案如何设计网店店面
  • 大型社区网站开发文档玩具外贸好做吗
  • 商城网站网站开发wordpress标签不输出文章
  • 学校网站的建设论文品牌网站的推广
  • 大麦网网站内似网站开发惠州短视频seo
  • 百度网站官网入口网店出售
  • 青海网站建设哪个不是网站开发工具
  • php 网站后台模板网站制作公司怎么看
  • 搭建网站要用到的工具百度在线提问
  • 珠宝网站建设方案东莞浩智网站建设多少钱
  • 网站制作新技术做视频的模板下载网站
  • 网站品牌形象设计怎么做做移动网站排名软件
  • 杭州网站建设朗诵面朝给女朋友做网站
  • 提供网站建设优势西安seo关键词查询
  • 做那种事免费网站广州市安全教育平台
  • 毕业答辩企业网站开发的问题网站建设 成都
  • 旅游网站国内外研究现状静态网站源码下载
  • 南通建网站友の 连接
  • 优秀网站开发公司济南网站优化
  • 番禺网站推广南昌地宝网招聘