交流无害分享 http://blog.sciencenet.cn/u/benyang22 JPL Staff Member

博文

EnsembleSVM,支持向量机器应用于大规模数据的一个方法

已有 5706 次阅读 2015-4-28 10:11 |个人分类:科技世界|系统分类:科研笔记

支持向量机器(SVM)精度好,数学概念明了。一个缺点是很难用于大数据,因为:1)计算中核矩阵(kernel matrix)是n x n,n是数据点的量。如果10万个数据点,核矩阵就是100000 x 100000 x 4 = 40GB。如果内存不能放下核矩阵,核矩阵的一部分就要交换到硬盘里(swapping),SVM训练起来就很慢了。2)SVM训练的计算复杂性是O(n2)大规模数据训练起来很慢。我曾经在一个64GB内存八核机器上算过15万点的SVM,training都要花上一天以上。

如今EnsembleSVM可以解决一部分问题。EnsembleSVM的关键是训练p个SVMs,每一个只用n/p的数据点。这样对内存要求不那么高,计算复杂性也变成O(n2/p).

文章【1】表明,EnsembleSVM的训练时间只有普通SVM的1/20 或 1/30,而精度没有改变。


EnsembleSVM也提供了改进SVM精度的途径,比如,1)增加p,2)增加每个SVM的数据点,而不是只局限于n/p;3)研究这p个SVMs的合成方法。

EnsembleSVM如今只能用于分类(classification),还不能用于regression。并且目前只有C++的接口。


【1】Claesen, M., Smet, F. De, Suykens, J. a. K., & Moor, B. De. (2014). EnsembleSVM: A Library for Ensemble Learning Using Support Vector Machines. Journal of Machine Learning Research, 15, 141–145. Retrieved from http://jmlr.org/papers/v15/claesen14a.html





https://blog.sciencenet.cn/blog-344158-885776.html

上一篇:吃素的,蛋白质够吗?
下一篇:找工作的成功率计算
收藏 IP: 76.246.77.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-6-26 07:50

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部