精华内容
下载资源
问答
  • 机器学习笔记——15 马尔可夫模型

    机器学习笔记——15 强化学习:马尔可夫决策模型

    展开全文
  • 马尔可夫决策模型(转)

    千次阅读 2012-11-17 15:57:13
    一个偶尔的机会接触到了MDP,马尔可夫决策过程,突然发现多年的困惑有点头绪了,分享一段东西。 以下东西摘自某博士论文部分(若有版权问题请及时告知): 以哲学观点来看,人类来到世间至少有三件事要做:认识世界...

    一个偶尔的机会接触到了MDP,马尔可夫决策过程,突然发现多年的困惑有点头绪了,分享一段东西。

    以下东西摘自某博士论文部分(若有版权问题请及时告知):

    以哲学观点来看,人类来到世间至少有三件事要做:认识世界;改造世界;享受世界。

    在这其中,学习类问题对应认识世界,而决策类问题便是和改造世界紧密相关的。决策问题伴随着人们的日常生活,大至公司乃至国家的战略性决定,小至个人利益相关的一些选择。‘决策’又区别于简单的‘决定’以及‘选择’。它通常涉及的是一个过程,其最终对应的行动的执行一般是多步的。在每一步,都要去做一个选择。不同的选择,不同的行动,导致不同的结果,进而也意味着不同的收益。决策不能孤立的进行,若不考虑现在与将来的联系,很难在整个过程中获得最好的收益,就如同在一次长跑比赛中,我们不能在起点就用尽全力冲刺一样。事实上,决策问题与人们的社会生活的联系是如此密切,可以说,一切社会实践活动都离不开决策,甚至,从辨证的观点看,若是把主观世界也当作客观世界的一部份,那么学习本身也是一个改造世界的过程,其过程也一样讲究策略,我们改造就是自己罢了。

    对于智能体而言,当其面对客观世界中存在的一个待解决的问题时,首先,他的学习能力使其在主观世界中获得了对该问题的一个抽象的描述,对应为问题的模型,这其中通常包括:

    ¨        问题所有可能的状态,

    ¨        问题发展过程的演变规律,

    ¨        智能体在过程中可以做出的选择,

    ¨        智能体所期望的结果等。

    事实上,这就是MDP模型的基本构成部分,

    而所谓的智能体进行决策,也就是指智能体在此模型的基础上,基于问题过程的规律进行规划,利用智能体可行的选择参与改变过程,使其朝自身期望的结果发展,最终解决问题。总的来说,决策基于问题的模型再结合规划的方法两部分完成。在人工智能领域,马尔可夫决策过程是用来建模规划问题的一个基本理论模型。以其为基础,进一步发展出一系列更具一般性的决策模型,如部分可观察马尔可夫决策过程,分布式马尔可夫决策过程,部分可观察的随机博弈及半马尔可夫决策过程等等。


    决策总是与一个过程相联系的(当然,从广义上来看,过程可以只有一步)。智能体要在过程中做出合适的选择,将过程的发展引入对自身有利的方向,必然需要了解描述过程发展变化的知识。相对于穷举所有变化,如果某些知识,不止一次可被用来推断过程发展,即为规律。主体更需要就是这种精简的知识。

    马尔可夫过程正是具有一类普遍共性的过程。这类共性既是马尔可夫性,也称无后效性。由俄罗斯数学家马尔可夫于1907提出。所谓无后效性,指的是这样一种性质:某阶段的状态一旦确定,则此后过程的演变不再受此前各状态的影响。也就是说,“未来与过去无关”,当前的状态是此前历史的一个完整总结,此前的历史只能通过当前的状态去影响过程未来的演变。具体地说,如果一个问题被划分各个阶段之后,阶段 I 中的状态只能通过状态转移方程去影响阶段 I+1 中的状态的得来,与其他状态没有关系,特别是与未发生的状态没有关系,这就是无后效性。从更本质的的角度来理论,可以认为马尔可夫性来源于对因果性和时间的连续性以及单向性的认可。

    马尔可夫性用来描述过程的规律类似数学中使用递推公式描述数列一样,并且特点是递推式只用到了前面一项。做为区别,比如著名的斐波拉契(Fibonacci)数列,1,1,2,3,5……的递推公式F(n)=F(n-1)+F(n-2)就用到了前面的两项。假设我们构造一个过程,逐次去读取数列中的每一项,任何一个时刻的状态便是读取到的数字。那么,斐波拉契数列对应的便不是一个马尔可夫过程。描述规律的方式很多,把握“当前的状态是此前历史的一个完整总结”这一要点后,很多过程可以被转化描述为马尔可夫过程。当然,前提是,可以做到当前状态完整总结历史这点。但事实上完美总是相对而言的,从后面不确定性的讨论也可以看到。从这个角度来说,马尔可夫过程是一个很实用的理论。在马尔可夫过程上做决策的好处显而易见,我们可以忽略历史的影响,也无需再去不断的保存历史信息,一切规划都只要从当前状态出发即可。它所蕴含的思想是将智能体有限的规划能力引导至更有价值的方向。

    马尔可夫决策过程与马尔可夫过程的本质区别就是多了主体即决策者的介入。下面将依次简单介绍马尔可夫决策过程(Markov Decision Processes, MDP),部分可观察马尔可夫决策过程(Partially Observable Markov Decision Processes, POMDP),分布式部分马尔可夫决策过程(Decentralized-POMDP, DEC-POMDP),部分可观察的随机博弈(Partially Observable Stochastic Games, POSG)及半马尔可夫决策过程(Semi-MDP)之间的区别与联系。

    50年代R.贝尔曼研究动态规划时和L.S.沙普利研究随机对策时已出现马尔可夫决策过程的基本思想。R.A.霍华德(1960)和D.布莱克韦尔(1962)等人的研究工作奠定了马尔可夫决策过程的理论基础。1965年,布莱克韦尔关于一般状态空间的研究和E.B.丁金关于非时齐(非时间平稳性)的研究,推动了这一理论的发展。1960年以来,马尔可夫决策过程理论得到迅速发展,应用领域不断扩大。凡是以马尔可夫过程作为数学模型的问题,只要能引入决策和效用结构,均可应用这种理论。

    在人工智能领域中,对决策类问题的求解过程也可以称为规划。经典规划一般基于确定式的环境模式,如搜索算法A*等。这类方法在现实应用中有很大的局限性。面对现实中的规划问题,主体对环境特性的把握常常是不完整的,正是由于这种知识的缺失,造成了不确定性。马尔可夫决策模型则可以处理这类问题。利用下图信息集合划分的方式,可以更清晰的理解不确定性,以及马尔可夫决策过程(MDP)与下面将提到部分可观察马尔可夫决策过程(POMDP)的区别。

    针对某个决策问题,从信息或者知识的角度我们区分出如下所示3个依次为包含关系的集合:



    图1.1 决策问题中的信息划分



    A集合:为客观存在的影响过程的全部信息,是整个客观世界的世界状态中与问题所对应过程相关的因素。

    B集合:为影响智能体主观决策的信息,进一步解释,是智能体主观上知道存在,并能够把握运用的一些信息。因为对于某些因素,即便智能体知道应该与过程相关,但无法把握运用,这些信息也不会影响智能体决策。比如,一般都认为掷硬币,正反面的概率各50%。事实上,风力,掷硬币的具体操作方式,抛出轨迹,用力情况,地面情况等都会影响过程结果,而这些因素通常无法把握运用,即使考虑进来,也难以改变决策。因此,这类智能体知道存在却无法把握利用的信息,及主观上根本不知道其存在而客观上却影响过程的因素,构成了B集合与A集合的差别。同时,也正是这些差别,造成了不确定性的存在。从另一个角度,只要B不是空集,基于应用的需求,就存在进行决策的意义。但对不确定性仍需进行刻画,于是便引入了统计意义上概率。

    C集合:为智能体总是能观察到的信息。现实中很多决策过程,对于B集合中的信息,智能体有时观察不到。比如踢足球,自己身后球员的位置是会影响决策的,但却可能会观察不到。

    根据定义内容,首先有前提A>=B>=C,进而可以对问题做下面的分类:

    1> 当 A=B=C时是一个确定性问题。

    2> 当 A>=B=C时是一个MDP问题。

    3> 当 A>=B>C时是一个POMDP问题。

    MDP本身既可以处理确定性问题,也可处理不确定性问题。而POMDP在MDP模型上进行了一定扩展,引入了对观察不确定性的处理。从一定意义上也可以认为,MDP是POMDP的一种极端的情况,即决策相关信息全部可观察。

    MDP及POMDP模型中都认为决策的智能体只有一个,并把其它一切因素都归于客观环境。这些因素一部分是确定性的知识;另一部分则是已归入统计概率的不确定性,认为在当前条件下,从处理问题的实际情况出发,不适合再进行探究,只作概率推理。当一个过程中,有多个智能体同时决策合作来解决一个问题时,上述模型是否适用的关键因素即其他智能体的策略是否已知。策略是决策的结果,指出在过程某个状态要采用哪个行动。如果认为其他智能体策略已知,无论是确定性的策略亦或含概率表示的不确定性策略,那么其他智能体一样可以归入环境,仍可使用MDP或POMDP模型处理。否则,其它智能体会采用何种策略也是需要纳入考虑的,在生成智能体自身决策的同时,也要生成其他智能体的决策,这是其客观过程本身的模型决定的。分布式马尔可夫决策过程(DEC-MDP)及分布式部分可观察马尔可夫决策过程(DEC-POMDP)可以处理这类多智能体合作问题。

    在现实应用中,多智能体间除了合作也可能存在对抗,这类问题可以归为博弈。其中本质的区别即智能体间收益评价的不同。合作类问题,各个智能体有相同的收益评价,或者说有共同的目标;而博弈类问题,各个智能体收益评价存在区别,甚至完全对立。部分可观察的随机博弈(POSG)便是进一步扩展的一个决策模型,可以处理这类带有不确定性的博弈问题。

    半马尔可夫过程又可以称为非时齐马尔可夫过程,这是相对于一般的时齐马尔可夫过程而言的。所谓时齐是指过程的每两个相邻状态点间的时间间隔是一致的,对应决策过程则是每步行动的执行时间是定长的。非时齐则是描述了一类更一般的情况,对应决策过程中行动的执行时间并不固定,甚至是时间上的一个概率分布。

    我的收获:早些年研究的东西,基本思路是有一定的科学理论依据的,只是出发点有了问题,所以难逃计算量的恐怖。就像目前的彩票研究者一样,最终的常理的结论是预知性不明朗,靠运气吧。现在想想其实换一个研究层面去研究,然后按原来的方法计算,很多层面的东西还是相当有可能的。感谢数学,感谢马尔可夫。

     

    展开全文
  • 针对智能水下机器人(AUV)软件故障修复过程中存在的修复代价过高和系统环境只有部分可观察的问题,提出了一种基于微重启技术和部分客观马尔可夫决策(POMDP)模型的AUV软件故障修复方法。该方法结合AUV软件系统分层结构...
  • 一、马尔可夫模型1. 马尔可夫链设表示随机变量X在离散时间t时刻的取值。若该变量随时间变化的转移概率仅依赖于它的当前值,即:也就是时候状态转移概率指依赖于前一个状态,称这个变量为马尔可夫变量,其中 为随机...

    一、马尔可夫模型

    1. 马尔可夫链

    gif.latex?X_{t}表示随机变量X在离散时间t时刻的取值。若该变量随时间变化的转移概率仅依赖于它的当前值,即:

    gif.latex?P(X_{t+1}=s_{j}|X_{0},X_{1}=s_{1},....X_{t}=s_{i})=P(X_{t+1}=s_{j}|X_{t}=s_{t})

    也就是时候状态转移概率指依赖于前一个状态,称这个变量为马尔可夫变量,其中 gif.latex?s_{0},s_{1}....s_{i},s_{j}&space;\epsilon&space;\Omega为随机变量X可能的状态,这个性质称为马尔可夫性质,具有马尔可夫性质的随机过程称为马尔可夫过程。

    马尔可夫链是满足马尔可夫性质的随机过程,指在一段时间内随机变量X的取值序列(gif.latex?X_{0},X_{1},...X_{n})满足上述性质

    2、转移概率

    马尔可夫链是通过转移概率定义的,转移概率指随机变量从一个时刻到下一个时刻,从状态gif.latex?s_{i}转移到状态gif.latex?s_{j}的概率:

    gif.latex?P(i\rightarrow&space;j):=P_{i,j}=P(X_{t+1}=s_{j}|X_{t}=s_{i})

    gif.latex?\pi^{(t)}_{k}表示变量X在时刻t的取值为gif.latex?s_{k}的概率,则随机变量X在时刻t+1的取值为gif.latex?s_{i}的概率为:

    gif.latex?\pi^{(t+1)}_i=P(X_{t+1}=s_{i})&space;=P(X_{t+1}=s_{i}|X_{t}=s_{0})P(X_{t}=s_{0})+P(X_{t+1}=s_{i}|X_{t}=s_{1})P(X_{t}=s_{1})+...&space;=\sum_{k}P(X_{t+1}=s_{i}|X_{t}=s_{k})\cdot&space;P(X_{t}=s_{k})&space;=\sum&space;P_{k,i}\cdot&space;\pi^{(t)}_{k}

    假设状态的数目为n,则:

    gif.latex?\left&space;(&space;\pi&space;_1^{\left&space;(&space;t+1&space;\right&space;)},\cdots&space;,\pi&space;_n^{\left&space;(&space;t+1&space;\right&space;)}&space;\right&space;)=\left&space;(&space;\pi&space;_1^{\left&space;(&space;t&space;\right&space;)},\cdots&space;,\pi&space;_n^{\left&space;(&space;t&space;\right&space;)}&space;\right&space;)\begin{bmatrix}&space;P_{1,1}&space;&&space;P_{1,2}&space;&&space;\cdots&space;&&space;P_{1,n}\\&space;P_{2,1}&space;&&space;P_{2,2}&space;&&space;\cdots&space;&&space;P_{2,n}\\&space;\vdots&space;&&space;\vdots&space;&&space;&&space;\vdots&space;\\&space;P_{n,1}&space;&&space;P_{n,2}&space;&&space;\cdots&space;&&space;P_{n,n}&space;\end{bmatrix}

    3 马尔可夫链的平稳分布

    • 1.周期性:即经过有限次的状态转移,又回到了自身
      1. 不可约:两个状态之间的转移

      马尔可夫模型如下所示:

    可见状态之间没有转换概率,但是隐含态和可见态之间存在一个概率叫做输出概率。
    上述概率转移公式就是表示模型中状态转移的情况。
    如果一个马尔可夫过程既没有周期性,又不可约,则称为各态遍历的。

    对于一个各态遍历的马尔可夫过程,无论初始值gif.latex?\pi&space;^{\left&space;(&space;0&space;\right&space;)}取何值,随着转移次数的增多,随机变量的取值分布最终都收敛到唯一的平稳分布gif.latex?\pi&space;^{\ast&space;}

    gif.latex?\underset{t\rightarrow&space;\infty&space;}{lim}\pi&space;^{\left&space;(&space;0&space;\right&space;)}\mathbf{P}^t=\pi&space;^{\ast&space;}

    其中gif.latex?\mathbf{P}=\left&space;(&space;p_{i,j}&space;\right&space;)_{n\times&space;n}为转移概率矩阵。

    二、隐含马尔可夫模型(HMM)

    HMM是关于时序的概率模型,描述由一个隐藏的马尔可夫链生成的不客观状态随机序列,再由各个状态生成观测的随机序列的过程,如下所示:

    这里写图片描述

    1. HMM的定义

    HMM的参数:
    Q 是所有可能的状态的集合, 其中 N 是可能的状态数;
    V 是所有可能的观测的集合, 其中 M 是可能的观测数;
    gif.latex?Q=\{q_1,q_2,\cdots,q_N\},\quad&space;V=\{v_1,v_2,\cdots,v_M\}
    I 是长度为 TT 的状态序列; O 是对应的观测序列:
    gif.latex?I=\{i_1,i_2,\cdots,i_T\},\quad&space;O=\{o_1,o_2,\cdots,o_T\}

    隐马尔科夫也比马尔科夫多了一个假设,即输出仅与当前状态有关,可以用如下公式表示:

    P(O1,O2,…,Ot|S1,S2,…,St)=P(O1|S1)P(O2|S2)…*P(Ot|St)

    其中,O1,O2,…,Ot为从时刻1到时刻t的观测状态序列,S1,S2,…,St则为隐藏状态序列。

    HMM的三要素:
    HMM由初始概率分布 ππ (向量)、状态转移概率分布 A(矩阵) 以及观测概率分布 B (矩阵) 确定. π 和 A 决定状态序列, BB 决定观测序列。因此, HMM可以用三元符号表示, 称为HMM的三要素:
    gif.latex?\lambda=(A,&space;B,\pi)
    A是状态转移矩阵:
    gif.latex?A=[a_{ij}]_{N\times&space;N}
    其中, gif.latex?a_{ij}是在时刻 t 处于状态 gif.latex?q_i 的条件下时刻 t+1 转移到状态 gif.latex?q_j 的概率:
    gif.latex?a_{ij}=P(i_{t+1}=q_j\mid&space;i_t=q_i),&space;\quad&space;i=1,2,\cdots,N;j=1,2,\cdots,N{%&space;endmath&space;%}

    B是观测转移概率矩阵:
    gif.latex?B=[b_{j}(k)]{N\times&space;M}{%&space;endmath&space;%}

    其中, gif.latex?b_{j}(k) 是在时刻 t 处于状态 qi 的条件下生成观测 gif.latex?v_k的概率:
    gif.latex?b_j(k)=P(o_t=v_k\mid&space;i_t=q_j),\quad&space;k=1,2,\cdots,M;j=1,2,\cdots,N{%&space;endmath&space;%}

    π 是初始状态概率向量:
    gif.latex?\pi=(\pi_i)_{N\times&space;1}

    其中gif.latex?\pi_i{%&space;endmath&space;%}是时刻t=1处于状态gif.latex?q_i{%&space;endmath&space;%}的概率:
    gif.latex?\pi_i=P(i_1=q_i),\quad&space;i=1,2,\cdots,N{%&space;endmath&space;%}

    HMM增加了一个假设:
    齐次马尔可夫性假设 任意时刻 t 的状态, 只依赖于其前一刻的状态, 与其他时刻的状态及观测无关, 也与时刻 t 无关.
    gif.latex?P(i_t\mid&space;i_{t-1},o_{t-1},\cdots,i_1,o_1)=P(i_t\mid&space;i_{t-1}),&space;\quad&space;t=1,2,\cdots,T{%&space;endmath&space;%}

    观测独立性假设 任何时刻的观测只依赖于该时刻的马尔科夫链状态. 与其他观测及状态无关.

    gif.latex?P(o_t\mid&space;i_{T},o_{T},\cdots,i_{t},o_{t},\cdots,i_1,o_1)=P(o_t\mid&space;i_{t}),&space;\quad&space;t=1,2,\cdots,T{%&space;endmath&space;%}

    概率计算问题:
    1.计算模型λ下观测序列O出现的概率P(O|λ)
    2.估计模型gif.latex?\lambda=(A,&space;B,\pi)的参数,使得该模型下观测序列P(O|λ)最大
    3.已知模型 λ=(A,B,π) , 和观测序列 O={o1,o2,⋯,oT}
    求给定观测序列条件概率 P(I∣O,λ)P(I∣O,λ) 最大的状态序列gif.latex?I=\{i_1,i_2,\cdots,i_T\}

    2、直接计算

    状态gif.latex?I=\{i_1,i_2,\cdots,i_T\}的概率

    gif.latex?P(I\mid\lambda)=P(i_1)P(i_2\mid&space;i_1)\cdots&space;P(i_T\mid&space;i_{T-1})=\pi_{i_1}a_{i_1i_2}\cdots&space;a_{i_{T-1}i_T},\quad&space;O(T-1)

    对固定的状态序列 gif.latex?I=\{i_1,i_2,\cdots,i_T\} ,观测序列 gif.latex?O=\{o_1,o_2,\cdots,o_T\} 的概率是:

    gif.latex?P(O\mid&space;I,&space;\lambda)=P(o_1\mid&space;i_1)\cdots&space;P(o_T\mid&space;i_T)=b_{i_1}(o_1)b_{i_2}(o_2)\cdots&space;b_{i_T}(o_T),&space;\quad&space;O(T)

    O 和 I 同时出现的联合概率:
    gif.latex?\begin{align}&space;P(O,I\mid\lambda)&=P(O\mid&space;I,&space;\lambda)P(I\mid\lambda)\notag\\&space;&=\pi_{i_1}a_{i_1i_2}b_{i_1}(o_1)\cdots&space;a_{i_{T-1}i_T}b_{i_T}(o_T),\quad\quad&space;O(2T-1)=O(T)\notag&space;\end{align}

    对所有可能的状态序列I求和,得到观测序列O的概率:

    gif.latex?\begin{align}&space;P(O\mid\lambda)&=\sum_I&space;P(O\mid&space;I,&space;\lambda)P(I\mid\lambda)\notag\\&space;&=\sum_{\underbrace{i_1,i_2,&space;\cdots&space;,i_T}_{N\times&space;N\times&space;\cdots&space;\times&space;N}}\pi_{i_1}a_{i_1i_2}b_{i_1}(o_1)&space;\cdots&space;a_{i_{T-1}i_T}b_{i_T}(o_T),\quad\quad&space;O(TN^T)\notag&space;\end{align}

    此外还有前向算法,及后向算法。

    参考 :https://clyyuanzi.gitbooks.io/julymlnotes/content/hmm.html

    三、马尔可夫决策过程(MDP)

    MDP也具有马尔可夫性,与上面不同的是,MDP考虑了动作,即系统的下个状态不仅和当前的状态有关,也与当前采取的动作有关。比如下棋,当我们在某个局面(状态s)走了一步(动作a),这是对手的选择(导致下个状态s’)我们不确定,但是他的选择只与状态s和动作a有关,而与之前的状态和动作无关。

    1 、 马尔可夫决策过程

    一个马尔可夫决策过程由一个四元组构成M = (S, A, Psa, R)

    S: 表示状态集(states),有s∈S,si表示第i步的状态。
    A:表示一组动作(actions),有a∈A,ai表示第i步的动作。
    Psa: 表示状态转移概率。Psa 表示的是在当前s ∈ S状态下,经过a ∈ A作用后,会转移到的其他状态的概率分布情况。比如,在状态s下执行动作a,转移到s’的概率可以表示为p(s’|s,a)。
    R: S×A⟼ℝ ,R是回报函数(reward function)。有些回报函数状态S的函数,可以简化为R: S⟼ℝ。如果一组(s,a)转移到了下个状态s’,那么回报函数可记为r(s’|s, a)。如果(s,a)对应的下个状态s’是唯一的,那么回报函数也可以记为r(s,a)。

    MDP 的动态过程如下:某个智能体(agent)的初始状态为s0,然后从 A 中挑选一个动作a0执行,执行后,agent 按Psa概率随机转移到了下一个s1状态,s1∈ Ps0a0。然后再执行一个动作a1,就转移到了s2,接下来再执行a2…,我们可以用下面的图表示状态转移的过程。
    这里写图片描述

    如果回报r是根据状态s和动作a得到的,则MDP还可以表示成下图:
    这里写图片描述

    2、 值函数(value function )
    上篇我们提到增强学习学到的是一个从环境状态到动作的映射(即行为策略),记为策略π: S→A。而增强学习往往又具有延迟回报的特点: 如果在第n步输掉了棋,那么只有状态sn和动作an获得了立即回报r(sn,an)=-1,前面的所有状态立即回报均为0。所以对于之前的任意状态s和动作a,立即回报函数r(s,a)无法说明策略的好坏。因而需要定义值函数(value function,又叫效用函数)来表明当前状态下策略π的长期影响。

    用Vπ(s)表示策略π下,状态s的值函数。ri表示未来第i步的立即回报,常见的值函数有以下三种:

    这里写图片描述 a)
    这里写图片描述 b)
    这里写图片描述 c)

    其中:

    a)是采用策略π的情况下未来有限h步的期望立即回报总和;

    b)是采用策略π的情况下期望的平均回报;

    c)是值函数最常见的形式,式中γ∈[0,1]称为折合因子,表明了未来的回报相对于当前回报的重要程度。特别的,γ=0时,相当于只考虑立即不考虑长期回报,γ=1时,将长期回报和立即回报看得同等重要。接下来我们只讨论第三种形式,
    现在将值函数的第三种形式展开,其中ri表示未来第i步回报,s’表示下一步状态,则有:

    这里写图片描述

    给定策略π和初始状态s,则动作a=π(s),下个时刻将以概率p(s’|s,a)转向下个状态s’,那么上式的期望可以拆开,可以重写为:
    这里写图片描述

    上面提到的值函数称为状态值函数(state value function),需要注意的是,在Vπ(s)中,π和初始状态s是我们给定的,而初始动作a是由策略π和状态s决定的,即a=π(s)。

    定义动作值函数(action value functionQ函数)如下:
    这里写图片描述

    给定当前状态s和当前动作a,在未来遵循策略π,那么系统将以概率p(s’|s,a)转向下个状态s’,上式可以重写为:
    这里写图片描述

    在Qπ(s,a)中,不仅策略π和初始状态s是我们给定的,当前的动作a也是我们给定的,这是Qπ(s,a)和Vπ(a)的主要区别。

    知道值函数的概念后,一个MDP的最优策略可以由下式表示:

    这里写图片描述

    即我们寻找的是在任意初始条件s下,能够最大化值函数的策略π*。

    1. 值函数与Q函数计算的例子

    上面的概念可能描述得不够清晰,接下来我们实际计算一下,如图所示是一个格子世界,我们假设agent从左下角的start点出发,右上角为目标位置,称为吸收状态(Absorbing state),对于进入吸收态的动作,我们给予立即回报100,对其他动作则给予0回报,折合因子γ的值我们选择0.9。

    为了方便描述,记第i行,第j列的状态为sij, 在每个状态,有四种上下左右四种可选的动作,分别记为au,ad,al,ar。(up,down,left,right首字母),并认为状态按动作a选择的方向转移的概率为1。

    这里写图片描述

    1.由于状态转移概率是1,每组(s,a)对应了唯一的s’。回报函数r(s’|s,a)可以简记为r(s,a)

    如下所示,每个格子代表一个状态s,箭头则代表动作a,旁边的数字代表立即回报,可以看到只有进入目标位置的动作获得了回报100,其他动作都获得了0回报。 即r(s_12,ar_) = r(s_23,a_u) =100。
    这里写图片描述

    1. 一个策略π如图所示:

      这里写图片描述

    2. 值函数Vπ(s)如下所示

    这里写图片描述

    根据Vπ的表达式,立即回报,和策略π,有

    Vπ(s12) = r(s12,ar) = r(s13|s12,ar) = 100

    Vπ(s11)= r(s11,ar)+γ*Vπ(s12) = 0+0.9*100 = 90

    Vπ(s23) = r(s23,au) = 100

    Vπ(s22)= r(s22,ar)+γ*Vπ(s23) = 90

    Vπ(s21)= r(s21,ar)+γ*Vπ(s22) = 81

    1. Q(s,a)值如下所示

    这里写图片描述

    有了策略π和立即回报函数r(s,a), Qπ(s,a)如何得到的呢?

    对s11计算Q函数(用到了上面Vπ的结果)如下:

    Qπ(s11,ar)=r(s11,ar)+ γ *Vπ(s12) =0+0.9*100 = 90

    Qπ(s11,ad)=r(s11,ad)+ γ *Vπ(s21) = 72

    展开全文
  • 考虑到台风灾害演变导致应急物资需求不断增长与应急物资供应相对紧缺之间的矛盾,将需求的演变设计成一个马尔可夫决策过程,建立基于马尔可夫决策的应急物资动态分配模型.通过二进制粒子群优化算法求解,最后将所提出...
  • 马尔可夫决策模型有5个参数;A,S,Psa,γ,R(s,a)A,S,P_{sa},\gamma,R(s,a)其中: -A表示动作集合 -S表示状态集合 -γ\gamma表示折损因子 -PsaP_{sa}表示在状态ss采取a行动后,下一状态是状态集合S里各个状态的

    马尔可夫决策内容较多,此学习笔记仅在重要点作简要记录备忘,逻辑性不强。如要重新学习马尔可夫决策,此学习笔记可能不适合,请见谅。

    马尔可夫决策模型有5个参数;A,S,Psa,γ,R(s,a)其中:
    -A表示动作集合
    -S表示状态集合
    -γ表示折损因子
    -Psa表示在状态s采取a行动后,下一状态是状态集合S里各个状态的概率
    -R(s,a)在状态s采取a行动的回报。

    例如,我们用手柄玩打砖块的游戏:
    这里写图片描述

    -A={左,右},注意,这里的动作集合左,右均指手指按手柄的动作。
    -S={s1,s2,s3}小球的位置,速度大小和方向,砖块的数量和位置以及板的位置均会影响状态。因此状态集合的数量是很大的。
    -γ表示折损因子
    -Psa,指在状态s,手指对手柄作出了动作a(如左)后,模型进入下一个状态的概率。一般而言,当手指作出了向左的动作,模型会进入板向左对应的状态。但有可能手柄或者其他硬件出问题,相反进入了向右所对应的状态。因此这里Psa有很大的概率=s,Psa有很小的概率=s
    -R(s,a)一般R只和s有关,与动作无关,则R(s,a)可以用R(s)表示。在游戏中,可以设置小球击中板和砖块的R(s)为正值,小球在空中飞行的R(s)为0或者很小的负值,小球没有被板接住的R(s)为负值。

    马尔可夫决策的目的在于学习到一个策略π,策略的作用是a=π(s),即将策略运用到状态s上,得到动作a。

    要得到策略π,首先要进行策略评估。
    定义值函数Vπ(s)=R(s)+γsPsπ(s)(s)Vπ(s)
    最优值函数V(s)=R(s)+maxaγsPsπ(s)(s)Vπ(s)
    最优策略π(s)=argmaxaV(s)=argmaxasPsa(s)V(s)
    s表示s的下一个状态

    有了策略评估手段,就可以对最优策略进行迭代计算
    方法有两种:值迭代和策略迭代。

    值迭代:
    该算法先不管策略π,先得出每个状态的最优值函数,最后直接得出最优策略,算法是这样的。
    1-定义状态的数量为num_S,将每个状态的值函数V(s1),V(s2)V(s3),V(s4),V(snum_S)置0
    2-对上面的所有的V(s)值(num_S个),用以下公式做更新:

    V(s):=R(s)+maxaγsPsa(s)V(s)

    作多轮迭代(每轮更新所有的num_S个V值),直到新V(s)值和旧V(s)值相仿。
    3-得到V(s)后,用π(s)=argmaxasPsa(s)V(s)π(s)。即对于状态s,计算策略空间A中所有策略的sPsa(s)V(s)值,将该值最大时所对应的策略作为状态s的策略。

    策略迭代:
    1-定义状态的数量为num_S,随机初始化策略π
    2-运用公式Vπ(s)=R(s)+γsPsπ(s)(s)Vπ(s),求策略π对应的Vπ(s),并更新V(s)值。因为R,γ,Psa(s)π均已知,共有num_S个未知的V(s)值。又因为有num_S个状态,因此可以列出num_S个方程,求解线性方程组,就可以得出对应的V(s)值。
    3-用π(s)=argmaxasPsa(s)V(s)更新π(s)
    4-步骤2和步骤3反复迭代,直到π不再变化。

    ==================Q学习=========================
    定义Q函数:Q(s,a)=R+γmaxaQ(s,a)
    Q学习跟值函数的值迭代很相似

    展开全文
  • 理解马尔可夫决策过程

    千次阅读 2019-02-04 11:18:29
    在高层次的直觉中,马尔可夫决策过程(MDP)是一种对机器学习非常有用的数学模型,具体来说就是强化学习。该模型允许机器和agent确定特定环境中的理想行为,从而最大限度地提高模型在环境中实现特定状态甚至多个状态...
  • 针对异构网络中系统容量有限、资源利用率低的问题,在分析对比传统呼叫接纳控制模型的基础上,提出一种基于马尔可夫决策过程理论的接纳控制模型。理论采用定义五元组的方式来描述建模过程,推导出目标评价函数,并...
  • matlab开发-马尔可夫决策过程摆度控制。建立了摆锤的马尔可夫决策过程模型,然后找到了摆锤的最优上摆策略。
  • 增强学习(二)----- 马尔可夫决策过程MDP 1. 马尔可夫模型的几类子模型 大家应该还记得马尔科夫链(Markov Chain),了解机器学习的也都知道隐马尔可夫模型(Hidden Markov Model,HMM)。它们具有的一个共同性质就是...
  • 实用马尔可夫决策过程

    热门讨论 2011-07-22 13:35:42
    的大量新模型的涌现, 进一步刺激了马尔可夫决策过程在理论上和应用领域中长足的发展. 本书从简单的例子开始, 介绍了马尔可夫决策过程的基本概念、决策过程以及一些常用 的基本理论.还介绍了多种最优准则, 包括有限...
  • 马尔可夫决策过程是序贯决策的数学模型,用于在系统状态具有马尔可夫性质的环境中模拟智能体可实现的随机性策略与回报。 一、马尔可夫性质 当一个随机过程在给定现在状态以及所有过去状态情况下,其未来状态的条件...
  • 马尔可夫决策过程MDP

    2017-03-17 09:23:44
    1. 马尔可夫模型的几类子模型 大家应该还记得马尔科夫链(Markov Chain),了解机器学习的也都知道隐马尔可夫模型(Hidden Markov Model,HMM)。...马尔可夫决策过程(Markov Decision Process, MDP)也具有马尔可夫性,
  • 首先利用马尔可夫决策方法,提出适合于理性秘密共享的系统模型,该模型包括参与者集合、状态集合、风险偏好函数、状态转移函数、回报函数等。在模型中,引入秘密重构中的参与者的风险偏好函数刻画秘密共享模型的状态...
  • 增强学习(二)----- 马尔可夫决策过程MDP 1. 马尔可夫模型的几类子模型 大家应该还记得马尔科夫链(Markov Chain),了解机器学习的也都知道隐马尔可夫模型(Hidden Markov Model,HMM)。它们具有的一个共同性质就是...
  • 我正在用Java编写辅助学习算法.我遇到了一个我可以解决的数学问题,但由于处理过程很重,我需要一个最佳解决方案.话虽这么说,如果有人知道一个非常棒的优化库,...决策过程将每次迭代生成一个随机变量.如果生成的变量是...
  • 大家学过机器学习的话应该对隐马尔可夫模型(HMM)有所了解,它具有的马尔可夫特性就是指系统的下个状态只和当前状态信息有关,而与更早之前的状态无关,即: 马尔科夫决策过程(Markov Decision Process, MDP)以...
  • 在概率论和统计学中,马尔可夫决策过程(英语:Markov Decision Processes,缩写为 MDPs)提供了一个数学架构模型,用于面对部分随机,部分可由决策者控制的状态下,如何进行决策,以俄罗斯数学...
  • 在概率论和统计学中,马尔可夫决策过程提供了一个数学架构模型,用于面对部分随机、部分可由决策者控制的状态下,如何进行决策,以俄罗斯数学家安德雷·马尔可夫的名字命名。 0.引例 假设我们有一个机器人处于...
  •   1. 马尔可夫模型的几类子模型 大家应该还记得马尔科夫链(Markov Chain),了解机器学习的也都知道隐马尔可夫模型(Hidden Markov Model,HMM...马尔可夫决策过程(Markov Decision Process, MDP)也具有马尔可夫...
  • 射频电磁频谱是一种宝贵的资源,用户和运营商都可以在这些...本文采用马尔可夫决策过程和强化学习来解决这一问题。 1.引言 2.雷达简介 3.认知雷达与机器学习简介 4.系统模型与详细方法 5.实验结果与分析 6....
  • 在上一篇文章里,主要讨论了马尔可夫决策过程模型的来源和基本思想,并以MAB问题为例简单的介绍了动态编程的基本方法。虽然上一篇文章中的马尔可夫决策过程模型实现起来比较简单,但我认为其存在两个小问题: ...
  • 阿⾥巴巴对⽤户的浏览购买⾏为进⾏ MDP 建模,在搜索实时学习和实时决策计算体系之上,实现了基于强化学习的排序策略决策模型,从⽽使得淘宝搜索的智能化进化⾄新的⾼度。双 11 桶测试效果表明,算法指标取得了近 20...
  • 强化学习之——马尔可夫决策过程原理与实现( 1.1 MDP:策略与环境模型 我们以蛇棋为模型引入——蛇棋的关键问题在于:哪些因素决定了蛇棋最终获得分数的多少? 两个因素 选择什么样的手法投掷(也就是投3以内的数 ...
  • 马尔可夫决策过程(Markov Decision Processes,MDPs)MDPs 简单说就是一个智能体(Agent)采取行动(Action)从而改变自己的状态(State)获得奖励(Reward)与环境(Environment)发生交互的循环过程。绝大多数的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 485
精华内容 194
关键字:

马尔可夫决策模型