增量学习作为机器学习的一种方法,现阶段得到广泛的关注。在其中,输入数据不断被用于扩展现有模型的知识,即进一步训练模型,它代表了一种动态的学习的技术。对于满足以下条件的学习方法可以定义为增量学习方法:
- 可以学习新的信息中的有用信息
- 不需要访问已经用于训练分类器的原始数据
- 对已经学习的知识具有记忆功能
- 在面对新数据中包含的新类别时,可以有效地进行处理
[描述来源:Polikar R, Upda L, Upda S S, et al. Learn++: An incremental learning algorithm for supervised neural networks[J]. IEEE transactions on systems, man, and cybernetics, part C (applications and reviews), 2001, 31(4): 497-508.]
许多机器学习的算法可以应用增量学习,例如:决策树,Learn++,Fuzzy ARTMAP,TopoART IGNG以及增量SVM等。[描述来源:Wikipedia;URL:https://en.wikipedia.org/wiki/Incremental_learning ]
增量算法经常应用于对数据流或大数据的处理,比如对股票趋势的预测和用户偏好的分析等。在这些数据流中,新的数据可以持续地输入到模型中来完善模型。此外,将增量学习应用于聚类问题,维度约减,特征选择,数据表示强化学习,数据挖掘等等。
发展历史
描述
增量学习早在1986年就已经存在,但是直到2001年,Kuncheva对增量学习的定义进行了规范,并被普遍接受。在接下来的几年,增量学习被广泛的应用到不同的领域,包括图像,视频跟踪等。在2009年和2011年,两种增量学习的改进算法:Learn++.NSE和Learn++.NC被提出,进一步提高了增量学习算法的应用范围。
主要事件
2001 | Kuncheva提出了对增量学习的普遍接受的定义 | R. Polikar, L. Udpa, S. S. Udpa, and V. Honavar, “Learn++: An incremental learning algorithm for supervised neural networks,” IEEE Trans. Syst., Man Cybern. Part C: Appl. Rev., vol. 31, no. 4, pp. 497– 508, Nov. 2001. |
2001-2008 | 将增量学习应用到不同领域,都获得了很好的效果 | Ross D A, Lim J, Lin R S, et al. Incremental learning for robust visual tracking[J]. International journal of computer vision, 2008, 77(1-3): 125-141;Ruping S. Incremental learning with support vector machines[C]//Data Mining, 2001. ICDM 2001, Proceedings IEEE International Conference on. IEEE, 2001: 641-642. |
2009-2011 | Robi Polikar等人提出了两种种新型的增量学习算法:Learn++.NSE和Learn++.NC,对原算法进行了改进 | Elwell R, Polikar R. Incremental learning of concept drift in nonstationary environments[J]. IEEE Transactions on Neural Networks, 2011, 22(10): 1517-1531; M. Muhlbaier, A. Topalis, and R. Polikar, “Learn++.NC: Combining ensemble of classifiers with dynamically weighted consult-and-vote for efficient incremental learning of new classes,” IEEE Trans. Neural Netw., vol. 20, no. 1, pp. 152–168, Jan. 2009. |
发展分析
瓶颈
在模型有效之前,增量学习需要大量的经验和训练。而且现阶段的增量学习方法十分复杂,训练周期也很长,因此对使用者的经验要求非常高。
未来发展方向
随着数据库以及互联网技术的快速发展和广泛应用,社会各部门积累了海量数据,而且这些数据量每天都在快速增加。通过使用增量学习的方式可以有效的利用新增数据来对模型进行训练和进一步完善。此外,通过使用增量学习的方法可以从系统层面上更好地理解和模仿人脑学习方式和生物神经网络的构成机制,为开发新计算模型和有效学习算法提供技术基础。
Contributor: Yilin Pan