支持向量机(Support Vector Machine,SVM)算法复杂度详解

关于支持向量机的算法复杂度,因为SVM在训练阶段的算法较为复杂,详细的算法复杂度较为难以推算且众说纷纭,与很多因素相关。但是可以根据相应的数据类型大致推算出SVM的算法复杂度。

参考资料:

Burges C J C . A Tutorial on Support Vector Machines for Pattern Recognition[J]. Data Mining and Knowledge Discovery, 1998, 2(2):121-167.

文献地址:

https://www.researchgate.net/publication/226658534_A_Tutorial_on_Support_Vector_Machines_for_Pattern_Recognition

目录

一、训练阶段的算法复杂度

1.1 算法复杂度

1.2 参考文献

二、测试阶段的算法复杂度

2.1 算法复杂度

2.2 参考文献与推导

三、测试阶段存储量分析

3.1 测试阶段线性SVM存储复杂度


一、训练阶段的算法复杂度

1.1 算法复杂度

训练算法为Bunch-Kaufman算法,算法复杂度为:

其中, 为支持向量的个数, 为输入向量的维度, 为训练样本点的个数。上边界为Upper Bound。当条件介于以上条件之间时,运算复杂度介于以上运算复杂度之间。

1.2 参考文献

详细参见A Tutorial on Support Vector Machines for Pattern Recognition[J] P28

二、测试阶段的算法复杂度

2.1 算法复杂度

SVM在测试阶段的算法复杂度为: ,M为SVM的kernel需要的运算次数,如果RBF核的话并且是点乘的话,M就是

因此对于线性SVM分类器,算法复杂度为

就是支持向量的个数乘以输入向量的维度。

2.2 参考文献与推导

详细参见A Tutorial on Support Vector Machines for Pattern Recognition[J]  P29

原文:

相应的测试阶段的运算公式为:

三、测试阶段存储量分析

注:第三部分未经过详细考证,可能有误,欢迎留言交流与探讨。

3.1 测试阶段线性SVM存储复杂度

假定分类数量为,也是支持向量的个数,输入向量维度为

相当于在维度为的高维空间上,存储个高维超平面,用于对每个维度的样本点进行分类。

线性SVM需要存储的参数就是这个高维超平面的参数,共个数字需要存储。

 

相关内容:

博客文章总目录-邢翔瑞的技术博客

机器学习算法基础问题(一)PCA|SVM|贝叶斯|过拟合

机器学习算法基础问题(二)类别不均|尺寸及感受野|Batch Norm|损失函数

概率相关实际问题汇总及解析

比赛竞猜投注类问题概率模型

王者荣耀中的数学原理及游戏策略(一)防御篇(护甲|魔抗|伤害运算机制)

 

  • 6
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

祥瑞Coding

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值