Online learning 的一些简单认识
来源:互联网 发布:淘宝价格不一样买哪家 编辑:程序博客网 时间:2024/05/23 09:48
Online learning的一些简单认识
Online learning是机器学习中的一种方法。
其目的是正确预测数据的类别,并且在每次预测后,该结果用来更新修正预测模型,用于对以后数据进行更好的预测。
而不同于batch learning,batch learning生成的最好预测仅基于一次确定的数据训练集。
一般的,一种Online learning算法对于一个序列进行一系列处理可以分为三步:
第一步,算法获得一个训练实例;
第二步,算法预测训练实例的类别;
第三步,算法获得正确类别,并根据预测类别与正确类别更新模型假设。
Online learning 很好的应用在训练整个数据集在计算上不可行的情况,和一些要求算法动态适应型模式的情况。
对应的online learning有两种通用的模型:statistical learning模型和adversarial模型。
statisticallearning 模型:数据样本是独立同分布的随机变量且不随时间变化,算法只是对数据的有限访问,即不是对整个数据集的计算。(如随机梯度下降,感知器)
adversarial模型:我们把问题看作是两个玩家之间的游戏(学习者和数据生成器),在这个模型中对手(数据生成器)能动态的适应该算法输出产生而产生变化,例如在垃圾邮件过滤中,垃圾邮件的产生者能基于过滤器的表现来生成新的垃圾邮件。
下面以Multi-armed bandit(多臂赌博机)问题为例来简要介绍几个简单的策略
Multi-armed bandit 问题中,有k台赌博机,我们每次选择其中一台进行游戏,并会得到相应的奖励,该奖励是基于特定机器的某种分布。我们的目标是选择最好的进行游戏的机器的序列,使奖励最大化。
在我理解看来这个问题中应该也可以对应两种模型
Statistical leaning 模型:每个机器都有一种固定的概率分布,只是我们无法得到整个数据集进行计算。
Adversarial 模型:有人可以基于你的游戏行为动态的调整每台机器的奖励。
另外关于评价策略的好坏标准。由于我们不可能知道理论的最大奖励,这里我们定义regret作为策略的评价标准,regret即为我们可以达到的最理想的总奖励和实际得到的总奖励的差。
1 ExploitExplore 随机探索策略:
这个问题如很多生活中的问题一样,很容易想到这样一个问题。面对有限次的游戏次数,我们每次选择是进行探索(explore),还是进行开发(exploit)。保守的来看,我们可以选择目前来看可能获得奖励最多的一台机器进行游戏(exploit),但另一方面来看我们可能错过了其他有潜力的机器,所以我们也可以选择进行探索(explore),进而由新的反馈发现可能的更好的机器。
就像生活中我们无法确定我们做的每一个决定一定是最优的,我们可以选择目前短期看起来是最好的,但这就有可能错过其他可能更好的选择,所以有时我们也可能选择去尝试那些暂时看起来不是最优的选择,但可能将来会获得更多的收益。哈人生选择也是很有策略的嘛,学习学习算法对人生还是很有帮助哈哈。
考虑到这个问题,有这样一些选择。
最朴素的想法:random,那我就随机吧,不考虑任何策略,每次随便选一台进行游戏,
可以想象这个策略肯定不怎么样,不过可以作为其他更优策略的一种参考。
另外一个也很朴素的想法:naïve简单观察,很容易想到的一个思路,既然有很多台机器,我可以选择在每个机器上进行10次游戏,然后通过这10次来进行分析,选出最好的一台机器,这也是很多人的选择。
结合上面两种想法可以得到这样一种策略:ε-Greedy
它以ε的概率去explore,1-ε的概率来exploit。即以ε的概率random选择一个机器进行游戏来进行探索,1-ε的概率来基于之前的游戏次数来选择一个最优的机器进行游戏。这样就兼顾了explore和exploit。具体的问题便落到了ε系数的选择上,针对具体的情况和具体的要求而有所不同。
2置信界策略Upper Confidence Bound(UCB)
顾名思义,该策略以奖励均值的置信上界来表示它的估值
Xi = Ui + sqrt(2*log t / ni)
式中Ui为每个机器的奖励均值,t为游戏次数,ni为当前机器累计被选择的次数。
每次游戏之后都会更新相应的值。
同时在前k次选择中,每个机器各选择一次。
在这个策略中首先可以看出当不断尝试后随着ni的越来越大,Xi与Ui越来越接近,即次数越多置信上界与预估值差越来越小。
同时这个策略的一个好处是,当t较大时,对选择次数比较少的机器ni较小,而导致Xi较大,从而增加被选到的可能性,而选择后,如果奖励较少,Xi也会相应减少。即兼顾了explore和exploit,不至于停留在函数的一个小的极值点上,想起类似思想在最近ai课上的诸多算法中都有体现,以后有空再一起总结。
3 随机抽样策略Thompson Sampling(TS)
该算法选择可能最大化回报期望的行动。
即由贝叶斯观点,认为先验参数p服从一个beta分布,通过对后验的观测,不断修正,explore时对该beta分布随机抽样。
而对应上面的UCB策略,UCB是对后验进行估值,使后验误差越来越小。
即对给定的估计分布,TS对分布抽样,UCB取最大值。
上面是对几个策略的大概了解,具体的进一步理解和更多的策略再更新。
- Online learning 的一些简单认识
- Deep Learning 的一些认识
- Deep Learning 的一些认识
- e-learning的认识
- 关于注册表的一些简单认识
- 对敏捷方法的一些简单认识
- online learning
- Online Learning
- online learning
- 关于各类存储器的一些简单的认识
- 对 Object 类中方法的一些简单认识
- 我对学习新技术新语言的一些简单认识
- linux系统的初步认识和一些简单指令‘
- Machine Learning—Online Learning
- 【Machine Learning】笔记:Online Learning
- winpcap的一些认识
- HttpWebRequest的一些认识
- fd_set的一些认识
- 系统命令
- zjut1634——也算是动态规划吧,只是我写的奇怪
- Linux下安装matlab(2)
- linux查找
- 面向对象三大基本特性,五大基本原则
- Online learning 的一些简单认识
- 组织领导层在信息化建设中需要解决的问题
- 打包与压缩
- vim常用命令收集
- BitmapData.draw 绘制透明区域
- 【杭电-oj】-3188-Just A Triangle
- bzoj 4243: 交朋友 bfs
- 进程控制
- hdoj--A Heavy Rainy Day(贪心好题)