一.流数据的特点
1.无限的数据量
→
\rightarrow
→存储左右数据多次扫描不现实,学习模型所需的空间代价应独立于样本数
2.样本产生速度快
→
\rightarrow
→算法实时处理和分析能力要强
二.流数据分类目的
从流式数据中增量学习一个从输入变量到类标变量的映射函数
三.批量学习与在线学习
批量学习:在学习过程中需要多次扫描已有数据,且新数据到来时,不能在旧模型上增量更新(即修改),只能重新训练一个新模型,不适合流数据处理。如ID3,C4.5,CART和SVM等。
在线学习:是一种增量式的机器学习,可以对模型进行实时增量更新,且处理完样本后,不需要对其存储和再访问,适合大规模流式学习。
四.增量学习算法特点
1.可以从新数据中学习新知识
2.以前已经处理过的数据不需要重复处理
3.每次只有一个训练观测样本被看到和学习
4.学习新知识的同时能保存以前学习到的大部分知识
5.—旦学习完成后训练观测样本被丢弃
6.学习系统没有关于整个训练样本的先验知识
五.在线学习与统计机器学习的区别
统计机器学习假设训练集中样本是独立同分布的(在线学习不依赖该假设),且服从于某个未知分布,旨在从假设空间中找一个期望风险最小的模型。
而在线学习则是基于当前所观察到的数据序列构建一个在线预测器,以便对接下来的到达的数据进行预测,它不需要假设数据服从于某个未知分布,旨在找到一个悔恨最小化的在线预测器序列。悔恨定义为算法使用其生成的预测器序列进行在线预测产生的累计损失与使用假设空间中某个固定最优的预测器进行在线预测所产生的累计损失之差。
其中
w
t
w_t
wt为学习到的模型,
w
∗
w^*
w∗为最优模型。
悔恨上界应为次线性的,这样随着学习次数增加,算法与最优模型 w ∗ w^* w∗之间的平均累计损失之差会趋近于0,意味着算法最终可以收敛到 w ∗ w^* w∗。
六.一般流数据上的在线学习算法分类
七.完全信息下的在线线性分类
(1).一阶方法
在线梯度下降(online gradient descent,简称OGD):
在学习的每一轮,总是沿着瞬时损失函数的负梯度方向修正模型,然后再将其投影到可行域内。
效果:使用学习步长 η t = θ ( 1 / t ) \eta_t=\theta(1/\sqrt{t}) ηt=θ(1/t),在 T T T轮学习中,OGD可以取得 O ( T ) O(\sqrt{T}) O(T)的悔恨。
被动主动算法(passive aggressive learning,简称PA):
在学习过程中考虑预测的置信水平,即样本到当前决策边界的间距,使用该信息来辅助模型更新。算法在每轮学习中在决策空间中挑选一个新模型 w t + 1 w_{t+1} wt+1,使得 w t + 1 w_{t+1} wt+1尽可能接近当前模型w,且对当前样本x,分类能取得合适的置信水平。理论上,PA算法具有与感知机算法相当的误差界,但从实验结果上看,PA算法经常优于感知机。本质上,PA与OGD都是沿着瞬时损失函数的负梯度方向更新模型,只是PA采用更复杂的学习步长:每个样本上的学习步长与该样本被分类的置信水平相关。
Pegasos算法:
使用OGD方法来求解 ℓ 2 \ell_2 ℓ2范数正则化的SVM规划问题,并赋予0GD方法更先进的步长调度方式 η t = 1 / ( λ t ) \eta_t=1/(\lambda t) ηt=1/(λt),其中 λ \lambda λ是正则化系数。由于 ℓ 2 \ell_2 ℓ2范数正则化的铰链损失函数是强凸的,在新步长调度方式下,Pegasos可以取得 O ( l n T ) O(lnT) O(lnT)的悔恨界,这个界相比于 O ( t ) O(\sqrt{t}) O(t)是一个大的提升。
多步长梯度算法(multiple eta gradient,简称 MetaGrad):
同时考虑多个学习步长,每个步长产生一个相应的子模型,算法在每次学习过程中,对子模型进行倾斜指数加权平均得到主模型,子模型的权重正比于其在数据上的经验性能。MetaGrad的优势在于适用于丰富的损失函数类,包括指数凹函数、强凸函数、一般的凸函数以及梯度满足Bernstein条件的随机函数,在这些函数类上,MetaGrad至少取得 O ( t ) O(\sqrt{t}) O(t)的悔恨界,很多情况下可以取得 O ( l n T ) O(lnT) O(lnT)的悔恨界。
(2).二阶方法
1.在线牛顿方法
2.概要牛顿方法
3.置信度加权学习
4.软置信度加权学习
八.完全信息下的在线非线性分类
1.核方法
1.1单核方法
单核:
使用预定义的核函数,通过该核函数导出的非线性映射,将原始空间样本映射到新的高维特征空间,并在高维空间中学习一个线性预测器。
问题:
核诅咒,存储模型所需要的支持向量数目会随着处理的数据量增加呈现无限增长趋势,导致耗尽内存资源,对测试样本的响应时间也无限延长。
提高可扩展性发展出的三种方法:
1.基于预算维护的方法
2.基于核函数近似表示的方法
3.基于核心集表示的方法
1.2多核方法
从一个预定义的核函数集合中同时学习多个核分类器及其最优线性组合
2.其他方法
主要是基于决策树的算法。
在线决策树归纳算法设计的关键是:
如何确定选择划分属性时所需的最少样本数,使得用少量样本所选出的划分属性以极高的概率等于使用整个流数据的样本所选出的划分属性,从而保证在线学习所学出的决策树渐进地收敛于一个批量学习算法所输出地决策树。
如Hoeffding树,又称快速决策树。
九.部分信息下的在线分类算法
1.bandit反馈的在线多分类(Banditron、Newtron、Confidit)
2.部分标记下的在线主动学习
3.部分属性下的在线学习
十.完全信息下的高维数据流分类研究
- 基于 ℓ 1 \ell_1 ℓ1范数约束/正则化的方法
基于 ℓ 1 \ell_1 ℓ1范数约束的方法使用高效的投影算法将梯度下降更新后得到的解投影在一个给定半径的 ℓ 1 \ell_1 ℓ1球上获得稀疏性。基于 ℓ 1 \ell_1 ℓ1范数正则化的方法旨在通过最小化 ℓ 1 \ell_1 ℓ1正则化的损失函数来获得稀疏模型。
前向后向分割(forward backward splitting,简称FOBOS)算法,该算法在每次迭代过程中首先执行一个梯度下降更新得到一个中间解然后在中间解附近找到一个低 ℓ 1 \ell_1 ℓ1范数复杂度的新解。得到新解的过程只需通过对中间解中低于某个阈值的系数进行截断对于 ℓ 1 \ell_1 ℓ1正则化的凸损失函数,FOBOS算法可以取得 O ( T ) O(\sqrt{T}) O(T)的 ℓ 1 \ell_1 ℓ1正则化悔恨界。
FOBOS算法每次迭代中直接对中间解进行截断的操作过于激进,会阻碍模型在稀疏属性上的有效更新。一种更温和的截断梯度(truncated gradient,简称TrunGrad)方法,该方法每隔k次迭代才对模型进行稀疏化操作,将模型的系数以温和的方式逐渐地缩小为0。理论上,TrunGrad可以取得与FOBOS相当的正则化悔恨界.
- 基于 ℓ 0 \ell_0 ℓ0截断的方法
基于截断的在线特征选择(online feature selection,简称OFS)算法。算法在每次迭代中,首先将梯度下降更新后得到的解投影到一个 ℓ 2 \ell_2 ℓ2范数球,使得解中绝大部分元素集中在最大的值然后截断最小的元素,仅保留B个最大的元素,其中,B是一个预定义常数。
十一.完全信息下的演化数据流分类研究
演化流数据是指流中数据不再满足独立同分布假设,数据分布会随着时间发生演化,即存在“概念漂移”现象。概念漂移指的是输入变量到类标变量之间的函数关系会随着时间发生难以预料的变化。概念漂移影响决策制定,为处理好它,学习算法应具备遗忘能力,能够随着时间逐步忘记旧的概念,使得所学模型与最新的概念保持一致。演化流数据分类旨在捕获流数据中输入变量和类标变量之间最新的函数关系。
存在的演化流数据分类算法可以分为单模型算法和多模型算法:单模型算法主要是传统批量学习算法的增量版本,且配备了特定的概念漂移处理机制.基于决策树、k近邻法及SVM等单模型算法都已经被探索过。在单模型算法中,为将稳态流数据上比较流行的VFDT树算法应用于演化流数据,概念自适应的快速决策树(concept-adapting VFDT,简称CVFDT)算法被提了出来,维护一个决策树总是与流中最近的k个样本上的概念保持一致相比于多模型算法,单模型算法的时空开销小,但泛化性能较差。
多模型算法也称为自适应集成算法,在内存中维护多个增量模型做出联合预测。多模型方法可以删除过期的模型并创建最新的模型,借此来遗忘旧概念并适应最新概念,因此能够更灵活地处理概念漂移。目前已有的算法可以分为两类:第1类是基于数据块的集成,适用于流数据分批次到达的情形;第2类是在线集成,每次仅处理一个样本样本处理完后无需对其进行存储和再访问。表3从以下几个方面总结了最近的在线集成分类算法:
(1)使用的组件分类器,即基分类器
(2)组件多样性策略
(3)组件评估策略
(4)组件聚合策略
(5)是否使用漂移检测机制
(6)是否调整集成的组件成员结构,即创建新组件或删除过时的组件