SVM 支持向量机

简介: svm,support vector machine,可用于模式分类和非线性回归。 支持向量机的主要思想是建立一个分类超平面作为决策曲面,使得正例和反例之间的隔离边缘被最大化。支持向量机的理论基础是统计学习理论,更精确的说,支持向量机是结构风险最小化的近似实现。这个原理基于这样的事实:学习机器在测试数据上的误差率(即泛化误差率)以训练误差率和一个依赖于VC维数(Vapnik

svm,support vector machine,可用于模式分类和非线性回归。
支持向量机的主要思想是建立一个分类超平面作为决策曲面,使得正例和反例之间的隔离边缘被最大化。支持向量机的理论基础是统计学习理论,更精确的说,支持向量机是结构风险最小化的近似实现。这个原理基于这样的事实:学习机器在测试数据上的误差率(即泛化误差率)以训练误差率和一个依赖于VC维数(Vapnik-Chervonenkis dimension)的项的和为界,在可分模式情况下,支持向量机对于前一项的值为零,并且使第二项最小化。因此,尽管它不利用问题的领域内部问题,但在模式分类问题上支持向量机能提供好的泛化性能,这个属性是支持向量机特有的。

VC维

二分类问题中,n个数据点的数据集共有2n种排列可能,若对于其中的任意一个排列,假设空间H总能够将两类数据点分开,那么就说vc(H)=n。比如二维空间中,假设空间H是直线,它的vc维就是3。
vc维是对假设H(hypothesis)的解决问题的能力的度量。

结构风险最小

这个与问题真实解之间的误差,就叫做风险(更严格的说,误差的累积叫做风险)。真实风险应该由两部分内容刻画,一是经验风险,代表了分类器在给定样本上的误差;二是置信风险,代表了我们在多大程度上可以信任分类器在未知文本上分类的结果。很显然,第二部分是没有办法精确计算的,因此只能给出一个估计的区间,也使得整个误差只能计算上界,而无法计算准确的值(所以叫做泛化误差界,而不叫泛化误差)。

超平面,Hyper Plane

一般地,如果一个线性函数能够将样本完全正确的分开,就称这些数据是线性可分的,否则称为非线性可分的。
什么叫线性函数呢?在一维空间里就是一个点,在二维空间里就是一条直线,三维空间里就是一个平面,可以如此想象下去,如果不关注空间的维数,这种线性函数还有一个统一的名称——超平面(Hyper Plane)!

公式推导(未完成)

也可参考 http://blog.sina.com.cn/s/blog_4298002e010144k8.html
C-SVC模型是比较常见的二分类支持向量机模型,其具体形式如下:
1)设已知训练集:
T={x⃗ ,d}
其中x⃗ iX=Rn,y⃗ iY={1,1},(i=1,...,n);x⃗ i
2)构造并求解问题:
找到权重矩阵(列向量)w⃗ 和偏置b,使得w⃗ Tx⃗ +b=0,也即di(w⃗ Tx⃗ i)0。那么数据点离超平面的距离为distance=di(w⃗ Tx⃗ i+b)||w⃗ ||。为了提高泛化性能,令分类平面的边缘至少大于某个ρ。我们希望最大化ρ,同时缩放w,我们可以得到无限多个解。为了得到唯一解,我们固定ρ||w⃗ ||=1,至此,要求解的任务可以定义为
min12||w⃗ ||2di(w⃗ Tx⃗ i+b)1,i ( 13.3)
这是一个标准的二次优化问题。对于不等式约束的条件极值问题,可以用拉格朗日方法求解。而拉格朗日方程的构造规则是:用约束方程乘以非负的拉格朗日系数,然后再从目标函数中减去。于是得到拉格朗日方程如下:
Lp=12||w⃗ ||2Nt=1αt[di(w⃗ Tx⃗ i+b)1] (13.4)
这里应当关于w,b最小化,并关于αt0最大化。鞍点给出解。
这是一个凸二次优化问题,直接解有困难,可以通过拉格朗日对偶问题来解决,为此我们把(13.4)式做一个等价变换:

结束。(latex写的好累 啊)

目录
相关文章
|
4月前
|
机器学习/深度学习 算法 Serverless
什么是支持向量机(SVM)
支持向量机(Support Vector Machine,SVM)是一种用于分类问题的监督算法。主要用于二分类和多分类问题。其基本思想是找到一个超平面,能够将不同类别的样本点尽可能地分开,并使得离超平面最近的样本点尽可能远离超平面,从而实现较好的分类效果。 SVM的关键是找到一个最优的超平面,这个超平面可以通过使得最靠近超平面的样本点之间的间隔最大化来定义。这些最靠近超平面的样本点被称为支持向量。SVM的优化目标可以表示为一个凸二次规划问题,可以通过求解对应的拉格朗日函数来得到最优解。
|
4月前
|
机器学习/深度学习 算法 Serverless
支持向量机(SVM)
支持向量机(Support Vector Machine,SVM)是一种用于分类问题的监督算法。主要用于二分类和多分类问题。其基本思想是找到一个超平面,能够将不同类别的样本点尽可能地分开,并使得离超平面最近的样本点尽可能远离超平面,从而实现较好的分类效果。 SVM的关键是找到一个最优的超平面,这个超平面可以通过使得最靠近超平面的样本点之间的间隔最大化来定义。这些最靠近超平面的样本点被称为支持向量。SVM的优化目标可以表示为一个凸二次规划问题,可以通过求解对应的拉格朗日函数来得到最优解。 SVM除了能够处理线性可分离的问题外,还可以通过核函数的引入处理线性不可分的问题,将样本映射到高维空间,从而
|
3月前
|
机器学习/深度学习 数据可视化 算法
支持向量机(二)
这是一个关于支持向量机(SVM)的实践教程概要。作者使用Python的sklearn库演示了SVM的步骤,包括导入库、构建数据集、训练线性SVM模型、查看模型参数、进行预测及可视化决策边界。讨论了SVM在处理线性不可分数据时使用核函数(如高斯核)的重要性,并总结了SVM的优缺点:它擅长处理高维和非线性问题,但对大规模数据和参数选择敏感,训练时间可能较长。
|
3月前
|
机器学习/深度学习 算法 数据挖掘
支持向量机(一)
**支持向量机(SVM)** 是一种优雅的分类和回归算法,广泛应用于文本分类、图像识别、生物信息学和金融预测。它寻找最大化类别间边距的决策边界,适应小样本、高维和非线性问题。SVM通过核函数(如RBF)处理非线性数据,目标是找到具有最大边距的超平面,以提高泛化能力。C参数调节模型复杂度,允许数据点偏离边界的程度。
|
4月前
|
机器学习/深度学习 数据采集 算法
深入理解并应用机器学习算法:支持向量机(SVM)
【5月更文挑战第13天】支持向量机(SVM)是监督学习中的强分类算法,用于文本分类、图像识别等领域。它寻找超平面最大化间隔,支持向量是离超平面最近的样本点。SVM通过核函数处理非线性数据,软间隔和正则化避免过拟合。应用步骤包括数据预处理、选择核函数、训练模型、评估性能及应用预测。优点是高效、鲁棒和泛化能力强,但对参数敏感、不适合大规模数据集且对缺失数据敏感。理解SVM原理有助于优化实际问题的解决方案。
|
11月前
|
机器学习/深度学习 数据采集 算法
支持向量机SVM:从数学原理到实际应用
支持向量机SVM:从数学原理到实际应用
534 0
|
机器学习/深度学习 算法 Python
2022-11-10-支持向量机SVM
2022-11-10-支持向量机SVM
107 0
|
机器学习/深度学习 运维 算法
SVM(五):SVM小结
SVM(五):SVM小结
SVM(五):SVM小结
|
机器学习/深度学习
SVM(三):非线性支持向量机
SVM(三):非线性支持向量机
SVM(三):非线性支持向量机
|
机器学习/深度学习
支持向量机(SVM)公式推导
支持向量机(SVM)公式推导
148 0