强化学习(六)时序差分在线控制算法SARSA

 在强化学习(五)用时序差分法(TD)求解中,我们讨论了用时序差分来求解强化学习预测问题的方法,但是对控制算法的求解过程没有深入,本文我们就对时序差分的在线控制算法SARSA做详细的讨论。

    SARSA这一篇对应Sutton书的第六章部分和UCL强化学习课程的第五讲部分。

1. SARSA算法的引入

    SARSA算法是一种使用时序差分求解强化学习控制问题的方法,回顾下此时我们的控制问题可以表示为:给定强化学习的5个要素:状态集SS, 动作集AA, 即时奖励RR,衰减因子γγ, 探索率ϵϵ, 求解最优的动作价值函数q∗q∗和最优策略π∗π∗。

    这一类强化学习的问题求解不需要环境的状态转化模型,是不基于模型的强化学习问题求解方法。对于它的控制问题求解,和蒙特卡罗法类似,都是价值迭代,即通过价值函数的更新,来更新当前的策略,再通过新的策略,来产生新的状态和即时奖励,进而更新价值函数。一直进行下去,直到价值函数和策略都收敛。

    再回顾下时序差分法的控制问题,可以分为两类,一类是在线控制,即一直使用一个策略来更新价值函数和选择新的动作。而另一类是离线控制,会使用两个控制策略,一个策略用于选择新的动作,另一个策略用于更新价值函数。

    我们的SARSA算法,属于在线控制这一类,即一直使用一个策略来更新价值函数和选择新的动作,而这个策略是ϵ−ϵ−贪婪法,在强化学习(四)用蒙特卡罗法(MC)求解中,我们对于ϵ−ϵ−贪婪法有详细讲解,即通过设置一个较小的ϵϵ值,使用1−ϵ1−ϵ的概率贪婪地选择目前认为是最大行为价值的行为,而用ϵϵ的概率随机的从所有m个可选行为中选择行为。用公式可以表示为:

你可能感兴趣的:(ML机器学习算法源码)