在线学习算法一些感悟与理解

最近在学习关于解决bandits问题的一些算法,熟悉的人都明白,MAB问题主要是寻找一个平衡点,也就是说,找一个trade-off 点。目前经典的算法有贪婪算法,UCB1,UCB2,以及context-based UCB等。它们都有一个共同点,它们是基于在线学习(learning algorithm)的解决思路。对于在线学习,我也搜索了一些资料,下面我结合资料谈谈看法,由于资料是当时摘抄的,我也忘了出处,在此,向所有作者表达感谢。

在线学习:数据不断前来,我们需根据当前所能得到的来调整自己的最优策略。在线学习的一个主要限制是当前只能看到当前的和过去的数据,未来是未知,有可能完全颠覆现在的认知。因此,对在线学习而言,它追求的是知道所有数据时所能设计的最优策略。同这个最优策略的差异称之为后悔(regret):后悔没能一开始就选定最优策略。我们的希望是,时间一久,数据一多,这个差异就会变得很小。因为不对数据做任何假设,最优策略是否完美我们不关心(例如回答正确所有问题)。我们追求的是,没有后悔(no-regret)。在线学习算法对有限内存的利用,管理来说非常有效。

此外,在线学习可以定义为学习器和对手之间的博弈:在每一个时刻,学习器从决策空间选择一个决策,同时对手选择一个损失函数,这样学习器在当前时刻遭受损失;根据遭受的损失,学习器对当前的决策进行更新,从而决定下一时刻的决策。学习器的目的是最小化个时刻的累计损失,即。以线性分类为例,在这种情况下,学习器所选择的决策就是分类平面,对手选择的损失函数则是一个训练样本上的分类误差,学习器的目的是最小化在个训练样本上的累计误差。在分析在线学习算法的效果时,我们通常将在线学习的累计误差与批量学习的累计误差相比较,将其差值称为遗憾(regret)。因此,在线学习最小化累计误差也等价于最小化遗憾,遗憾的上界也就成为衡量在线学习算法性能的标准。

以在线广告推荐为例,当学习器向用户推荐广告后,可以得到用户是否点击该广告的反馈,但是用户产生该反馈的机制学习器并不知晓。这种情况就是赌博机在线学习的研究范畴。之所以被称为赌博机在线学习,是因为这类研究最早被用来建模赌场中的多臂赌博机问题。

由于观测的不充分,赌博机在线学习存在探索和利用两者之间的困境。一方面,为了准确地估计损失函数的结构,学习器需要尝试更多的新决策;而另一方面,为了最小化遗憾,学习器又倾向于选择能最小化损失函数的决策。与完全信息相比,赌博机在线学习更加复杂,学习算法达到的遗憾上界也更大;并且难以设计通用的学习算法,需要针对不同的函数类型、不同的随机假设设计不同的算法。置信上界和指数加权是用来解决探索和利用之间困境的常用策略,前者适用于损失函数是随机产生的情况,后者针对非随机情况。

总之,在线学习算法需要更多的实践来理解,在如今大规模数据时代已经来临,而在线学习算法是解决大数据的有力之法。需要更多地努力呀!

你可能感兴趣的:(强化学习,算法基础)