[ML]强化学习

来源:互联网 发布:手机单机小游戏知乎 编辑:程序博客网 时间:2024/05/13 23:28

    我们想一下一个场景:驯兽师对海豚进行训练,使得海豚可以进行:起立——上台阶——跳跃——投篮——投中这一系列动作,并对海豚的每一个动作给予奖赏。所以海豚需要学习摸索,如何才能得到最高的奖赏。对海豚而言,每次动作得到的奖赏不同,海豚需要从驯兽师给的反馈中,总结出一套策略,针对每一个状态选择一个最优的动作,使得最终获得的奖赏最高。这就是强化学习。
    强化学习任务可用四元组来表示E=(X,A,P,R) 
  1,状态空间X ,表示机器能感知到的所处环境的状态,比如海豚当前所处的环境是最有利于投篮、利于投篮,还是最不利于投篮等;
  2,动作空间A ,表示机器可以采取的动作或措施,比如海豚是站起来、下台阶、上台阶等;
  3,当前状态为x t  ,动作aA 作用于当前状态x t  ,使得下一状态为x t+1  ,转移函数P 定义了x t x t+1  的可能性,比如当前海豚的状态是最不利于投篮,此时海豚选择上台阶,则环境会改变,可能变为利于投篮,也可能继续保持着最不利于投篮的状态;
  4,奖励函数R 则定义了从一个状态转移到另一个状态,机器可以收到的奖赏,假设海豚从最不利于投篮的状态转移到了最利于投篮的状态,可收到价值为10的奖励,依然保持着最不利于投篮的状态,则会收到价值为-1的奖励。转移函数的映射为:X×A×XR ,从状态转移空间映射到实数空间,其值为状态转移概率;奖励函数的映射为:X×A×XR 或者X×XR ,前者和动作有关。
  以上过程是一个马尔科夫决策过程(Markov Decision Process,MDP)。
  机器在这个学习过程中,可以作为的是根据当前状态和收到的反馈选择动作。从机器的角度来看,环境的状态是客观存在的,状态的转移也是客观的,收到的奖赏也是客观被决定了的。机器可以做的就是选择动作来影响其所处环境,并通过观察动作后的状态和收到的反馈来感知环境。
  机器就是不断地尝试和反馈中,学习到一个策略,定义为π 。得到策略π 之后,就可以知道在状态时,需要执行的动作a=π(x) π 一般有2种:确定性策略;随机性策略。前者把策略表示为函数π:XA ,直接返回当前需要选择的动作;后者把策略表示为概率π:X×AR π(x,a) 表示在状态x 下,欲得到最高奖赏,需要选择动作[a]的概率,由概率性质可知, a π(x,a)=1 
  强化学习同监督学习有很大不同。监督学习有标记样本提高信息,可供机器去学习。强化学习没有任何标记样本可以利用,也没有人告诉机器在何种状态下改采取何种动作,甚至不知道当前动作对最终奖赏的影响,也仅能得到一个当前局部反馈。只有等最终结果揭晓,才知道之前所采取的动作对最终结果是有利还是不利的。机器只有通过多次尝试来发觉不同动作所带来的结果。

0 0
原创粉丝点击