支持向量机(一)

简介: **支持向量机(SVM)** 是一种优雅的分类和回归算法,广泛应用于文本分类、图像识别、生物信息学和金融预测。它寻找最大化类别间边距的决策边界,适应小样本、高维和非线性问题。SVM通过核函数(如RBF)处理非线性数据,目标是找到具有最大边距的超平面,以提高泛化能力。C参数调节模型复杂度,允许数据点偏离边界的程度。

支持向量机(Support Vector Machine,SVM)是一个非常优雅的算法,具有非常完善的数学理论,常用于数据分类,也可以用于数据的回归预测中。支持向量机在许多领域都有广泛的应用,如文本分类、图像识别、生物信息学、金融预测等。


支持向量机的应用:


(1)文本分类:支持向量机可以用于文本分类任务,如垃圾邮件过滤、情感分析、主题分类等。通过对文本数据进行预处理,提取特征,然后使用支持向量机进行训练和预测,可以实现对文本数据的自动分类。


(2)图像识别:支持向量机可以用于图像识别任务,如手写数字识别、人脸识别、物体检测等。通过对图像数据进行预处理,提取特征,然后使用支持向量机进行训练和预测,可以实现对图像数据的自动识别。


(3)生物信息学:支持向量机在生物信息学领域有广泛应用,如基因表达数据分析、蛋白质结构预测、药物设计等。通过对生物数据进行预处理,提取特征,然后使用支持向量机进行训练和预测,可以帮助研究者发现新的生物学知识。


(4)金融预测:支持向量机可以用于金融预测任务,如股票价格预测、信用评分、风险评估等。通过对金融数据进行预处理,提取特征,然后使用支持向量机进行训练和预测,可以帮助投资者和金融机构做出更好的决策。


用一根棍分开不同颜色小球,在放更多球之后,仍然适用。



我们可以在中间斜放一根直线将其分开,随后又在桌上放了更多的球,有一个球站错了类别。




这样放置我们以后在加其他小球这依然是一个良好的分割线,因为我们有了容错的间隔(margin)。


我们再改变小球的位置



这样我们不能很好的分开两种球了,可以使用SVM,将维度提升



这样我们就可以通过svm分开两种类别。在 SVC 中,我们可以用高斯核函数来实现这个功能:kernel='rbf'


支持向量机的基本模型是定义在特征空间上的间隔最大的线性分类器。它是一种二分类的模型,当采用了核技巧之后,支持向量机可以用于非线性分类。


  • 当训练数据线性可分的时候,通过硬间隔最大化,学习得到一个线性可分支持向量机。
  • 当训练数据近似线性可分时,通过软间隔最大化,学习一个线性支持向量机。
  • 当训练数据不可分的时候,通过使用核技巧以及软间隔最大化,学一个非线性支持向量机。


左图的边际不及右边的边际margin大,我们选择右边的图作为边界最好的划分。因为在有新的点出现的时候左边图的边际会错误分类一些点,而右侧就能很好的分类。



SVM学习的目的在于找到具有最大边缘的超平面。 


SVM 是 N 维空间的分类超平面,它将空间切分成两部分。对于二维空间,它是一条线,对于三维空间,它是一个平面,对于更高维空间,它是超平面。


为了得到泛化性更好的分类器,分类平面应该应该不偏向于任何一类,并且距离两个样本都尽可能远,这种以最大化分类间隔为目标的线性分类器就是支持向量机。


硬间隔指的是让所有的样本都不在最大间隔之间,并位于正确的一边,如果出现异常值、或者样本不能线性可分,硬间隔无法实现。


软间隔指的是我们容忍一部分样本在最大间隔之内,甚至在错误的一边。软间隔可以应用在一些线性不可分的场景。  


惩罚参数 C  


C越大说明违反限制间隔的样本点带来的损失就越大,就要减少这些样本的数量,所以间隔就要越小。


C越小说明违反限制间隔的样本点带来的损失就越小,可以适当增大间隔,以增加模型的泛化能力。


 



支持向量机(二)+https://developer.aliyun.com/article/1544108?spm=a2c6h.13148508.setting.14.1fa24f0ewU5jCe

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