总结:强化学习的基本原理和其相应的方法,包括马尔可夫决策过程(MDP)(状态转移概率),贝尔曼方程(考虑现在和未来的reward联合)和Q learning(Q table 生成方法,巡遍当前状态所对应的动作的状态动作价值函数Q函数)
原理:
2.1 强化学习
定义:通过交互的目标导向学习方法,旨在找到连续时间序列的最优策略。
核心点:尝试
主要因素:智能体(Agent),环境(Environment),状态(State)、动作(Action)、奖励(Reward)、策略(Policy)。
第一步:智能体尝试执行了某个动作后,环境将会转换到一个新的状态,当然,对于这个新的状态,环境会给出奖励或者惩罚。
第二步:智能体根据新的状态和环境反馈的奖励或惩罚,执行新的动作,如此反复,直至到达目标。
第三步:智能体根据奖励最大值找到到达目标的最佳策略,然后根据这个策略到达目标。
要注意的是,智能体要尝试执行所有可能的动作,到达目标,最终会有所有可能动作对应所有可能状态的一张映射表(Q-table)。
这里借用知乎论坛关于强化学习各个因素关系的一幅图(https://www.zhihu.com/topic/20039099/intro)
2.2 马尔科夫决策过程(Markov Decision Process,MDP)
组成:
S:状态集 (states)
A: 动作集 (actions)
P: 状态转移概率
R: 即时奖励(reward)
Y:折扣系数(未来反馈的reward相比当下的重要性,在[0,1)之间)
决策过程: 智能体初始状态,选择一个动作,按概率转移矩阵转移到下一个状态,如此反复…
状态价值函数(评价某个状态奖励的数学公式):
表示在t时刻的状态s能获得奖励的期望。
最优价值函数(某个策略下奖励期望最大值):
π
\pi
π 代表策略,s表状态
2.3 贝尔曼方程(Bellman)
贝尔曼方程是更一般的状态价值函数表达式,它表示当前状态的价值由当前的奖励和下一状态的价值组成。这里借用某位大神的一幅图形象说明:
看不懂这幅图·········
贝尔曼最优化方程:
状态价值函数( State Value Function) V p i ( s ) V^{pi}{(s)} Vpi(s)和状态动作价值函数 (State-action Value Function)(Q值函数——Q Function)
贝尔曼方程说明补充
推导,见链接
link
2.4 Q-Learning
学习在一个给定的状态时,采取了一个特定的行动后,所得到的回报 ,然后遍历所有可能的行动,得到所有状态的回报 Q (Table)。
其实,每个 == 。Q-Table生成的算法流程:
-
初始化Q-Table 每个状态(s)对应的回报为 0;
-
随机选取一个状态(s)作为遍历的起始点;
-
在当前状态(s)的所有可能的行动(A)中按顺序遍历每一个行动(a);
-
移动到下一个状态 ;
-
在新状态上选择 Q 值最大的那个行动(a1);
-
用贝尔曼方程更新Q-Table中相应状态-行动对应的价值()。按顺序遍历第3步其他可能的行动,重复第3 - 6步;
-
将新状态设置为当前状态,然后重复第2 - 6步,直到到达目标状态;
这里注意有两层循环:
外层:遍历所有状态;
内层:遍历每个状态的所有可能的行动;