Q-learning

Posted sbj123456789

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Q-learning相关的知识,希望对你有一定的参考价值。

几个关键要素

State

  状态

Action

  行动,每个State下可以采取的行动

Reward(State,Action)

  实际的奖励,每个State下采取不同的Action,会得到不同的Reward。因此其可以是一张二维的表,也可以根据实际情况来判定。

Q(State,Action)

  Q-value,动作效用,即每个State下采取不同的Action,得到的不同的效用,可以看成是agent的经验与记忆。其是一张二维的表,往往各个元素都初始化为0。

π(s)

  策略,对于当前State s 在所有可能的Action中选择一个Action a 的策略,在Q-learning中通常采用ε-greedy

Q-learning算法学习框架

1. 初始化各个参数

2. 对每一个episode:

  (随机)初始化agent的state

  若未达到目标状态,则执行:

    在当前State s 所有可能的Action中选择一个,记作a(通常采用ε-greedy策略)

    应用Action a,可以得到下一个State,记作s_

    更新Q(State,Action)表,Q[S,A] ← (1-α)*Q[S,A] + α*(R(S,a) + γ* max Q[S‘,a_i ])

    更新State s,s ← s_

Q(State,Action)更新公式的解释

  技术分享图片

  (该图里前后两个a含义不一样,后者表示a_i)

  α 表示learning rate,右边式子中的Q[S,A]表示之前的经验,(R(S,a) + γ* max Q[S‘,a_i ])表示新学到的经验

  γ 表示discount factor,R(S,a) 表示实际收获的经验,max Q[S‘,a_i ]表示下一状态期望学习到的经验(是一个估计,并且这个经验是基于过去的记忆的)

 

参考:

Q-learning的解释:https://www.zhihu.com/question/26408259

A Painless Q-learning Tutorial:https://blog.csdn.net/itplus/article/details/9361915

 

以上是关于Q-learning的主要内容,如果未能解决你的问题,请参考以下文章