阅读目录
情节性任务 vs. 连续任务
马尔可夫性
马尔可夫过程
马尔可夫奖赏过程
马尔可夫决策过程
Reference
在介绍马尔可夫决策过程之前,我们先介绍下情节性任务和连续性任务以及马尔可夫性。
回到顶部
情节性任务 vs. 连续任务
情节性任务(Episodic Tasks),所有的任务可以被可以分解成一系列情节,可以看作为有限步骤的任务。
连续任务(Continuing Tasks),所有的任务不能分解,可以看作为无限步骤任务。
回到顶部
马尔可夫性
引用维基百科对马尔可夫性的定义:
马尔可夫性:当一个随机过程在给定现在状态及所有过去状态情况下,其未来状态的条件概率分布仅依赖于当前状态。
用数学形式表示如下:
A state StSt is Markov if and only if
P[St+1|St]=P[St+1|S1,...,St]
P[St+1|St]=P[St+1|S1,...,St]
回到顶部
马尔可夫过程
马尔可夫过程即为具有马尔可夫性的过程,即过程的条件概率仅仅与系统的当前状态相关,而与它的过去历史或未来状态都是独立、不相关的。
回到顶部
马尔可夫奖赏过程
马尔可夫奖赏过程(Markov Reward Process,MRP)是带有奖赏值的马尔可夫过程,其可以用一个四元组表示 <S,P,R,γ><S,P,R,γ>。
SS 为有限的状态集合;
PP 为状态转移矩阵,Pss′=P[St+1=s′|St=s]Pss′=P[St+1=s′|St=s];
RR 是奖赏函数;
γγ 为折扣因子(discount factor),其中 γ∈[0,1]γ∈[0,1]
奖赏函数
在 tt 时刻的奖赏值 GtGt:
Gt=Rt+1+γRt+2+...=∑k=0∞γkRt+k+1
Gt=Rt+1+γRt+2+...=∑k=0∞γkRt+k+1
Why Discount
关于Return的计算为什么需要 γγ 折扣系数。David Silver 给出了下面几条的解释:
数学表达的方便
避免陷入无限循环
远期利益具有一定的不确定性
在金融学上,立即的回报相对于延迟的汇报能够获得更多的利益
符合人类更看重眼前利益的特点
价值函数
状态 ss 的长期价值函数表示为:
v(s)=E[Gt|St=s]
v(s)=E[Gt|St=s]
Bellman Equation for MRPs
v(s)=E[Gt|St=s]=E[Rt+1+γRt+2+...|St=s]=E[Rt+1+γ(Rt+2+γRt+3...)|St=s]=E[Rt+1+γGt+1|St=s]=E[Rt+1+γv(st+1)|St=s](1)(2)(3)(4)(5)
(1)v(s)=E[Gt|St=s](2)=E[Rt+1+γRt+2+...|St=s](3)=E[Rt+1+γ(Rt+2+γRt+3...)|St=s](4)=E[Rt+1+γGt+1|St=s](5)=E[Rt+1+γv(st+1)|St=s]
下图为MRP的 backup tree 示意图:
注:backup tree 中的白色圆圈代表状态,黑色圆点对应动作。
根据上图可以进一步得到:
v(s)=Rs+γ∑s′∈SPss′v(s′)
v(s)=Rs+γ∑s′∈SPss′v(s′)
回到顶部
马尔可夫决策过程
马尔可夫决策过程(Markov Decision Process,MDP)是带有决策的MRP,其可以由一个五元组构成 <S,A,P,R,γ><S,A,P,R,γ>。
SS 为有限的状态集合;
AA 为有限的动作集合;
PP 为状态转移矩阵,Pass′=P[St+1=s′|St=s,At=a]Pss′a=P[St+1=s′|St=s,At=a];
RR 是奖赏函数;
γγ 为折扣因子(discount factor),其中 γ∈[0,1]γ∈[0,1]
我们讨论的MDP一般指有限(离散)马尔可夫决策过程。
策略
策略(Policy)是给定状态下的动作概率分布,即:
π(a|s)=P[At=a|St=a]
π(a|s)=P[At=a|St=a]
状态价值函数 & 最优状态价值函数
给定策略 ππ 下状态 ss 的状态价值函数(State-Value Function)vπ(s)vπ(s):
vπ(s)=Eπ[Gt|St=s]
vπ(s)=Eπ[Gt|St=s]
状态 ss 的最优状态价值函数(The Optimal State-Value Function)v∗(s)v∗(s):
v∗(s)=maxπvπ(s)
v∗(s)=maxπvπ(s)
动作价值函数 & 最优动作价值函数
给定策略 ππ,状态 ss,采取动作 aa 的动作价值函数(Action-Value Function)qπ(s,a)qπ(s,a):
qπ(s,a)=Eπ[Gt|St=s,At=a]
qπ(s,a)=Eπ[Gt|St=s,At=a]
状态 ss 下采取动作 aa 的最优动作价值函数(The Optimal Action-Value Function)q∗(s,a)q∗(s,a):
q∗(s,a)=maxπqπ(s,a)
q∗(s,a)=maxπqπ(s,a)
最优策略
如果策略 ππ 优于策略 π′π′:
π≥π′ if vπ(s)≥vπ′(s),∀s
π≥π′ if vπ(s)≥vπ′(s),∀s
最优策略 v∗v∗ 满足:
v∗≥π,∀πv∗≥π,∀π
vπ∗(s)=v∗(s)vπ∗(s)=v∗(s)
qπ∗(s,a)=q∗(s,a)qπ∗(s,a)=q∗(s,a)
如何找到最优策略?
可以通过最大化 q∗(s,a)q∗(s,a) 来找到最优策略:
v∗(a|s)={1 if a=argmaxa∈Aq∗(s,a)0 otherwise
v∗(a|s)={1 if a=argmaxa∈Aq∗(s,a)0 otherwise
对于MDP而言总存在一个确定的最优策略,而且一旦我们获得了q∗(s,a)q∗(s,a),我们就能立即找到最优策略。
Bellman Expectation Equation for MDPs
我们先看下状态价值函数 vπvπ。
状态 ss 对应的 backup tree 如下图所示:
根据上图可得:
vπ(s)=∑a∈Aπ(a|s)qπ(s,a)(1)
vπ(s)=∑a∈Aπ(a|s)qπ(s,a)(1)
再来看动作价值函数 qπ(s,a)qπ(s,a)。
状态 ss,动作 aa 对应的 backup tree 如下图所示:
因此可得:
qπ(s,a)=Ras+γ∑s′∈SPass′vπ(s′)(2)
qπ(s,a)=Rsa+γ∑s′∈SPss′avπ(s′)(2)
进一步细分 backup tree 再来看 vπvπ 与 qπ(s,a)qπ(s,a) 对应的表示形式。
细分状态 ss 对应的 backup tree 如下图所示:
将式子(2)代入式子(1)可以进一步得到 vπ(s)vπ(s) 的贝尔曼期望方程:
vπ(s)=∑a∈Aπ(a|s)(Ras+γ∑s′∈SPass′vπ(s′))(3)
vπ(s)=∑a∈Aπ(a|s)(Rsa+γ∑s′∈SPss′avπ(s′))(3)
细分状态 ss,动作 aa 对应的 backup tree 如下图所示:
将式子(1)代入式子(2)可以得到 qπ(s,a)qπ(s,a) 的贝尔曼期望方程:
qπ(s,a)=Ras+γ∑s′∈SPass′(∑a′∈Aπ(a′|s′)qπ(s′,a′))(4)
qπ(s,a)=Rsa+γ∑s′∈SPss′a(∑a′∈Aπ(a′|s′)qπ(s′,a′))(4)
Bellman Optimality Equation for MDPs
同样我们先看 v∗(s)v∗(s):
对应可以写出公式:
v∗(s)=maxaq∗(s,a)(5)
v∗(s)=maxaq∗(s,a)(5)
再来看q∗(s,a)q∗(s,a):
对应公式为:
q∗(s,a)=Ras+γ∑s′∈SPass′v∗(s′)(6)
q∗(s,a)=Rsa+γ∑s′∈SPss′av∗(s′)(6)
1. 桥接模式,静态ip上外网:
vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=www.xinghenyule.com stable-privacy
NAME=ens33
UUID=292b882b-ebd2-4d03-9ce5-402da7858f6d
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.2.124
NETMASK=255.255.255.0
GATEWAY=192.168.2.1
DNS1=127.207.160.106
DNS2=219.239.26.42
或者用下面的DNS也是可以的:
DNS1=8.8.8.8
DNS2=8.8.4.4
systemctl restart network
cat /etc/resolv.conf
看一下
nameserver 8.8.8.8
nameserver 8.8.4.4
2. 关闭防火墙
systemctl stop firewalld.service #停止firewall
systemctl disable www.ysyl157.com firewalld.service #禁止firewall开机启动
3. 禁止:
vi /etc/sysconfig/selinux
改成disabled
SELINUX=enforcing
改成:
SELINUX=disabled
4. 配置yum源
网络yum源
yum install wget
cd /etc/yum.repos.d/
wget http://www.dfgjpt.com/ mirrors.aliyun.com/repo/Centos-7.repo
mv CentOS-Base.repo CentOS-Base.repo.bak
mv Centos-7.repo CentOs-www.078886.cn/ Base.repo
yum clean all
yum makecache
yum update
5. 免密码登陆:
永久修改主机名:
在三台机器上分别执行下列语句:注意三台机器的用户名不同
hostnamectl --static set-hostname spark1
ssh-keygen -t rsa
cd /root/.ssh
cp id_rsa.pub authorized_keys
然后从spakr1主机免密码登陆spark2,spark3
ssh-copy-id -i spark2
ssh-copy-id -i spark3
同理在spark2执行下列语句:
ssh-copy-id -i spark1
ssh-copy-id -i spark3
同理在spark3执行下列语句:
ssh-copy-id -i spark1
ssh-copy-id -i spark2
6. hadoop集群搭建:
未完待续。
同样的套路获取 v∗(s)v∗(s) 对应的 backup tree 以及贝尔曼最优方程:
贝尔曼最优方程:
v∗(s)=maxa(Ras+γ∑s′∈SPass′v∗(s′))(7)
v∗(s)=maxa(Rsa+γ∑s′∈SPss′av∗(s′))(7)
q∗(s,a)q∗(s,a) 对应的 backup tree 以及贝尔曼最优方程:
对应的贝尔曼最优方程:
Ras+γ∑s′∈SPass′maxaq∗(s,a)(8)
Rsa+γ∑s′∈SPss′amaxaq∗(s,a)(8)
贝尔曼最优方程特点
非线性(non-linear)
通常情况下没有解析解(no closed form solution)
贝尔曼最优方程解法
Value Iteration
Policy Iteration
Sarsa
Q-Learning
MDPs的相关扩展问题
无限MDPs/连续MDPs
部分可观测的MDPs
Reward无折扣因子形式的MDPs/平均Reward形式的MDPs