SVM的复杂度为什么高?如何解决?

没有查到对这个问题的很完善的答案,都是些零零碎碎的,尝试总结一下。
复杂度高的原因:
1.SVM参数优化方法是先转为对偶问题再使用SMO算法,最坏情况下要计算n*n次,并不适合在大规模数据集上做分类。
2.svm使用核技巧时,如RBF,特征会升高至无限维,计算量也很大。
补充:
LR较为简单,可以适用于大规模线性分类。SVM可以有效解决高维特征的分类和回归问题。

SVM对小样本的寻优能力是非常好的,无可置疑。SVM的优化目标是结构化风险最小,有优秀的泛化能力,所以在小样本高维特征上表现很好。对大样本可能不太适合,一是上面提到的复杂,二是样本足够多时,支持向量基本固定了,许多不重要样本的增加不能提高性能了。

如何解决复杂度高的问题呢?
1、分布式,对不同样本对做核距离计算,可以分开放在不同机器。有人提到PEGASOS就是一种分布式的SVM的训练方法,待学习。
2、svm-light和libsvm
但实际中这些效果并不太好。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值