美文网首页书房就是我的全世界数据科学家每天写500字
强化学习第6课:什么是 Crossentropy 方法

强化学习第6课:什么是 Crossentropy 方法

作者: 不会停的蜗牛 | 来源:发表于2018-11-14 22:14 被阅读20次

    上次讲了马尔科夫决策过程,今天让我们来看看要如何求解这个过程?

    求解方法不止有一个,
    有一种思路是,我们有一个 policy,即有了行为和状态的概率分布。
    对其进行初始化,可以是随机的,也可以根据具体问题用一些先验知识初始化。
    然后想要改进这个 policy,可以通过获得数据,玩几次游戏,不断重复,policy 会随着这个过程调整变得越来越好。

    符合这个思想的有一个算法叫做: crossentropy 方法。

    还是以学自行车为例,开始的时候是等可能地踩脚踏板,向各个方向转轮子,有时候可能会马上就摔倒,有时候可能会骑一段距离。
    摔倒再起来重新骑,比如这样骑了一百次,然后有些时候会做的比较好了,不会立刻摔倒了。

    那么我们就想更频繁地采取一下这样的行动,
    例如我们观察到,如果将轮子转到摔倒的那个方向的对立面,就会骑得更长一些,然后我们就会觉得,如果增加这样做的概率,我们就可能骑得更久一些。
    重复这样一整个过程,我们骑自行车就会更顺手,更不容易犯错。

    这样的方式学习骑车100次,从中选择几次最有效率的过程,开始的时候可能会选择不摔倒,现在可能是在一米之内不要摔倒。

    然后用一个非常简单的算法去迭代,来不断的调整这个 policy,最后就到达了一个最优的 policy,这时候就能够非常熟练地骑自行车了。

    再来看这个公式,它的意思就和上面的例子是一样的,也是一个很符合直觉的思想:尝试了 N 次,选择其中最好的 m 次,称为 elite,然后调整 policy 来增加在 elite 里面的 action 的概率。


    最简单的情况是这个 policy 只是一个表格,它可以记忆所有的概率。

    例如骑自行车有十种情况,可能倒向左边,倒向右边,保持在中间,骑得快,骑得慢等等。
    对每种情况都有转向左边,转向右边,或者加速减速的概率。
    那么首先初始化这些概率,例如用 uniform 随机分布,它可以保证等可能的尝试所有的行为。
    再从这个概率分布中取样来选择行为。

    然后开始骑车,例如尝试骑自行车连续100次。
    从这100次尝试中,选择了25个最好的,作为 elite。
    然后建立了一个新的 metrics:

    我们去数这些 elite 过程中的状态和行为:
    对每个 state 我们都数一下出现了多少次,也数一下处于这个状态中,多少次采取了什么样的 action。
    然后做除法来得到这个概率分布,
    再不断重复这个过程,这个概率分布就会不断地更新,不断地优化,骑车也就可以变得越来越好。


    学习资料:

    Practical Reinforcement Learning

    推荐阅读 历史技术博文链接汇总

    http://www.jianshu.com/p/28f02bb59fe5

    也许可以找到你想要的:

    [入门问题][TensorFlow][深度学习][强化学习][神经网络][机器学习][自然语言处理][聊天机器人]

    Hello World !

    This is 不会停的蜗牛 Alice !

    🐌 要开始连载强化学习系列啦!

    今天开始我们一起来每天 2 分钟,get 强化学习的一个小知识吧!

    相关文章

      网友评论

      本文标题:强化学习第6课:什么是 Crossentropy 方法

      本文链接:https://www.haomeiwen.com/subject/btysfqtx.html