强化学习

机器学习分类:

 

强化学习是机器学习中的一个领域,强调如何基于环境而行动,以取得最大化的预期利益

强化学习基础概念:
Agent :主体,与环境交互的对象,动作的行使者
Environment : 环境, 通常被规范为马尔科夫决策过程(MDP)
State :  环境状态的集合
Action : 环境下可行的动作集合,离散or连续
Reward :奖励, 有了反馈,RL才能迭代,才会学习到策略链

马尔可夫决策过程(MDP)

Markov Decision Processes:
马尔可夫决策过程是强化学习的理论基础
一个马尔可夫决策过程由一个五元组构成
      { S , A ,  ,         ,  γ }
S 表示状态集 (states)
A 表示动作集 (Action)      

表示状态 s 下采取动作 a 之后转移到 s' 状态的概率分布
表示状态 s 下采取动作 a 获得的奖励
γ 是衰减因子,表示的是随着时间的推移回报率的折扣

 

MDP的动态过程:

主体在状态s0选择某个动作a0∈A,主体根据概率         转移到状态s1,然后执行动作a1,...如此下去我们可以得到这样的过程:


经过上面的转移路径,我们可以得到相应的回报函数和如下:



目标是选择一组最佳的动作,使得全部的回报加权和期望最大:

 

数学表示
策略(policy):
一个策略π就是一个从状态到动作的映射函数π:S↦A
确定性的policy(Deterministic policy): a=π(s)  
随机性的policy(Stochastic policy): π(a|s)=P[At=a|St=t] 
状态值函数(value function):
给定初始状态s0和策略π后的累积折扣回报期望

贝尔曼等式(Bellman Equations):
对于一个固定的策略,它的值函数Vπ满足贝尔曼等式

求解Vπ的目的是为找到一个当前状态s下最优的行动策略π服务的
最优值函数:

行动值Q函数:
表示在s状态下执行动作a作为第一个动作时的最大累计折扣回报

对应最优值函数的最优的策略为:

π∗是针对的是所有的状态s的,确定了每一个状态s的下一个动作a

求解方法

值迭代方法:
1 将每一个状态s的值函数V(s)初始化为0
2 循环直至收敛{  
            对于每一个状态s,对V(s)做更新
    
}

策略迭代方法:
1 随机初始化话一个S到A的映射π
2 循环直至收敛{
        2.1 令V:=Vπ
        2.2 对每一个状态s,对π(s)做更新
    
           }

两者比较:
      规模较小的MDP,策略迭代一般能够更快的收敛
      规模较大的MDP(状态多),值迭代更容易些


MDP中的参数估计

 在许多实际问题中,状态转移概率分布Psa和回报函数R(s)不能显式的得到
假设我们已知很多条状态转移路径如下:

每条转移路径中的状态数都是有限的
 当获得了很多类似上面的转移路径后(样本),我们可以用最大似然估计来估计状态转移概率。

                  分子表示在状态s通过执行动作a后到达状态s′的次数
                  分母表示在状态s我们执行动作的次数
对于未知的回报函数,我们令R(s)为在状态s下观察到的回报均值。


强化学习算法
Q-learning
Sarsa
Monte-carlo
Policy gradient
Temporal-difference
Deep-Q-Network(DQN)
TD-lambda
SARSA-lambda


强化学习特点:
无监督数据,只有奖励信号
奖励信号不一定实时,大部分情况奖励信号滞后
研究的时间序列
当前的行为影响后续数据分布
强化学习更加专注于在线规划,需要在探索(在未知的领域)和利用(现有知识)之间找到平衡









 

posted @ 2018-04-17 22:20  xmeo  阅读(1576)  评论(0编辑  收藏  举报