热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

关于支持向量机的算法复杂度,因为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|损失函数

  • linux操作系统基础知识
  • 谷歌论文Weight Agnostic Neural Networks(WANN)权重无关神经网络
  • Unet论文详解U-Net:Convolutional Networks for Biomedical Image Segmentation
  • Text to image基于GAN的文本生成图像GAN-INT-CLS解析
  • 眼底血管分割MICCAI 2019论文详解Multi-task Neural Networks with Spatial Activation for Retinal Vessel...

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

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

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

 


推荐阅读
author-avatar
寤丨惘_191
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有