其他分享
首页 > 其他分享> > 面试总结——强化学习

面试总结——强化学习

作者:互联网

多臂老虎机和强化学习算法的差别

策略:是强化学习机的核心,代表着决策进行的方式。它可能是一个表格,一个函数或者一个复杂的深度神经网络。

奖励信号:一个数值代表着强化学习机采取行动后的即时奖励。最大化所得奖励是强化学习机的最终目标,为了完成这个目标,我们不断地调整策略。

价值函数:一个函数,用于描述给定状态下的可能获得的远期奖励。这样看来,一个较小的但恒定的常数有可能会优于浮动范围很大的结果。当然,也可能是相反的情况。

相比于目前流行的深度学习以及类似的需要大量训练数据来生成模型的监督学习方法,强化学习一个重要的不同点是利用训练的数据去评估下一步的行动(action),而不是仅仅指示(instruct)出正确的行动。 

多臂老虎机本质上是一类简化的强化学习问题,这类问题具有非关联的状态(每次只从一种情况输或赢中学习),而且只研究可评估的反馈。假设有一台N个摇臂老虎机,每拉一个摇臂都会有一定的概率获得回报,这样我们有了N种可能的行动(每个摇臂对应一种action),并且每次行动的结果只和当前的状态关联而不受历史行动的结果影响(每次拉摇臂的回报只和老虎机设置的概率相关,之前输赢的结果不会影响本次行动)。定义这种问题是具有单一状态的马尔科夫决策过程

单步强化学习任务对应了一个理论模型,即" K-摇臂赌博机",K-摇臂赌博机有K 个摇臂,赌徒在投入一个硬币后可选择按下其中一个摇臂,每个摇臂以一定的概率吐出硬币?但这个概率赌徒并不知道.赌徒的目标是通过一定的策略最大化自己的奖赏,即获得最多的硬币.

对于离散状态空间、离散动作空间上的多步强化学习任务,一种直接的办法是将每个状态上动作的选择看作-个K-摇臂赌博机问题,用强化学习任务的累积奖赏来代替K-摇臂赌博机算法中的奖赏数,即可将赌博机算法用于每个状态:对每个状态分别记录各动作的尝试次数、当前平均累积奖赏等信息?基于赌博机算法选择要尝试的动作.然而这样的做法有很多局限,因为它没有考虑强化学习任务马尔可夫决策过程的结构,若能有效考虑马尔可夫决策过程的特性,则可有更聪明的办法.

 

 

多臂老虎机算法的分类

有一个赌博机,一共有 k 个摇臂,玩家每次投一个游戏币后可以按一个摇臂,每个摇臂按下后都有可能吐出硬币作为奖励,但是每个摇臂吐出硬币的概率分布是未知的,玩家的目标是获得最大化的累积奖赏。

有选择的去调整策略: MAB 中的每个摇臂都是一个选项,因此它是一个有条件的选择问题,目标是获得最大化的累积奖赏,限制是已有的选择分支。

Bandit算法

Bandit算法是指一类算法。 要比较不同Bandit算法的优劣, 可以用累积遗憾这个概念来衡量。

                                            

它顾名思义, 是指T次选择, 将每次选择的实际收益 WB_i与此次选择如果选择最好的策略带来的最大收益之差, 将T次差的加总就得到了累积遗憾。假设用最简单的伯努利实验来模拟这个过程:我们有K个选择, 其中每次选择时最优收益是1, 其余非优收益为0. 我们进行了T次选择, 则最差的情况下我们的累积遗憾就是T,而最好情况是每次选择都是1, 遗憾为0.

几种Bandit算法:

1、Epsilon-Greedy算法
初始化选择一个(0, 1)之间 较小的正数, epsilon。

每次以 (0, epsilon )均分分布产生一个比epsilon小的数, 选择所有臂中随机选一个, 否则选择截止当前平均收益最大的那个臂。每次尝试时,以ε 的概率进行探索,即以均匀概率随机选取一个摇臂;以1-ε 的概率进行利用,即选择当前平均奖赏最高的摇臂(若有多个,则随机选取一个).

Epsilon-Greedy 是看上去非常简单直接的算法。 通过控制epsilon的值控制对 Exploit和Explore的偏好程度。

越接近0, 越保守, 反之越激进。

2、Softmax

基于当前已知的摇臂平均奖赏来对探索和利用进行折中。若各摇臂的平均奖赏相当,则选取各摇臂的概率也相当;若某些摇臂的平均奖赏明显高于其他摇臂,则它们被选取的概率也明显更高。

总结ϵ-greedy算法和softmax算法的共有属性:

(1)两种算法在每一轮选择时,默认都是选择到目前为止最好的臂;

(2)除此之外,算法会尝试去探索一些目前看起来不是最好的臂:
      - ϵ-greedy算法探索的时候完全是随机的。
      - softmax算法探索是基于到当前时刻臂的收益概率。收益概率越高,选择的概率越高。

(3)两种算法都能够通过随着时间动态修改基本参数来实现更好的性能。

这种随机性,或者仅仅考虑收益回报的算法有一个很明显的缺点就是健壮性比较差,很容易受噪音数据影响。


3、UCB算法 (Upper Confidence Bound)

UCB算法,是一种完全不同的算法。首先,它是完全不使用随机性的;其次,它除了要考虑收益回报外,还要考虑一点,这个收益回报的置信度有多高。
     问题来了,怎么来定义这个置信度呢?这是UCB算法的核心(UCB实Upper Confidence Bounds的首字母缩写)。实际UCB算法包括很多种。本文介绍的只是其中一种。现在,让我们来正式定义这个置信度以及整个UCB算法。
首先,考虑置信后定义的收益回报为: 
                      

                      

4、Thompson sampling

原理: 假设每个臂是否产生收益,服从概率分布, 产生收益的概率为p。

不断试验,得到一个置信度较高的概率p的概率分布, 就能近似解决这个问题了。

如何估计概率p的概率分布?

答案是假设概率p的分布符合 beta分布 ~~ beta(wins, loses) 参数wins, loses

每个臂都对应着一组beta分布的参数。 每次试验后, 选中一个摇臂, 有收益则该臂的wins+1, 否则 loses+1。

选择摇臂的方式是: 用每个臂现有beta分布产生一个随机数b, 选择所有臂产生的随机数中最大的摇臂去展开策略。

 

 

 

 

标签:总结,概率,奖赏,选择,面试,算法,赌博机,摇臂,强化
来源: https://blog.csdn.net/sinat_33231573/article/details/100931281