网站首页 > 技术文章 正文
写在前面:目前许多专业在做分类问题时都选择线性回归模型进行研究,比如技术经济与管理专业、工商管理专业、会计等。
这些专业的硕士论文中所表现出了的数据条数基本保持在200~300条左右,数据量并不高,相比较于线性回归模型而言,SVM模型在小样本的分类预测上精度更明显(但是SVM的缺点是运行速度慢),所以本文对支持向量机模型进行介绍。
什么是支持向量机SVM?
支持向量机(Support Vector Machine, SVM)是一类按监督学习(supervised learning)方式对数据进行二元分类的广义线性分类器(generalized linear classifier),其决策边界是对学习样本求解的最大边距超平面(maximum-margin hyperplane)。
01
SVM与SVR的区别
01
很多人也有听过SVR(Support Vector Regression)模型即支持向量机回归,那么二者的区别是什么?
区别就是:一个是分类,一个是回归啊!没错,就是这么浅显的区别。
分类和回归的区别是什么?
很多童鞋对这方面应该很清楚,分类模型输出类别,回归输出数值。
▲SVM
▲回归
如上图所示,分类目的是寻求一条线或面把两类数据分开,后续预测时可以按照预测集的数据决定把它划为绿色类还是蓝色类,而回归是根据已有数据得到一条线,这条线通过方程表述出来,预测时我们知道x(质量)的值,就可以预测出y(用户满意度)的值。
02
SVM与逻辑回归的区别
02
那么有童鞋又会问分类模型不还有逻辑回归吗?它跟支持向量机模型的区别是什么?
首先,两者都是线性分类器,本章都是求最佳分类平面,且都是监督学习算法,都是判别模型。但是,两者的区别还是挺大的
(1) 分类依据不同
SVM是基于距离分类的,逻辑回归是基于概率分类的。SVM依赖数据表达的距离测度,所以需要对数据先做标准化处理,逻辑回归不受其影响。
且SVM受数据量影响严重,大量数据一般选择用逻辑回归。
(2) 敏感性不同
SVM考虑分类边界线附近的样本(决定分类超平面的样本)。在支持向量外添加或减少任何样本点对分类决策面没有任何影响。
逻辑回归受所有数据点的影响。直接依赖数据分布,每个样本点都会影响决策面的结果。
如果训练数据不同类别严重不平衡,则一般需要先对数据做平衡处理,让不同类别的样本尽量平衡。
(3) 算法差异
SVM与逻辑回归的损失函数不同,且SVM的损失函数自带正则,逻辑回归需要再添加正则项。SVM可以选择核函数机制,逻辑回归不可以。
03
SVM中的线性可分、线性不可分、非线性可分与非
SVM模型按性质可以划分为四种,线性可分、线性不可分,非线性三种。
首先,线性与非线性指的是两变量之间的关系是否是一条直线,比如y=kx就是线性,而y=kx2就是非线性模型。
其次,可分与不可分指的是两类数据点是否有完全分界线或者面,如果是“你中有我,我中有你”,那么就是不可分,如果是“泾渭分明”,那么就是可分的。
1. 线性可分SVM
▲线性可分SVM模型的图例
如上图所示,黑点和空心圆两种数据可以由一条红色虚直线完全分离,那么这种情况就是SVM模型的线性可分类型
2. 线性不可分SVM
▲线性不可分SVM示例图
如上图所示,当有两种数据存在“你中有我,我中有你”的类型,比如有一个空心圆与黑点掺在一起,那么我们选择H1,H2和MMH都是不合理的。
此时我们在拟合SVM模型时需要调整约束条件,即增加松弛变量和惩罚因子,但是更好的方法是通过核方法来对特征向量进行映射,将他们转化到更高维的空间,使得数据在高维空间是线性可分的。
这种方法也适合用在数据存在异常值时的SVM模型的拟合。
3. 非线性SVM
▲非线性可分SVM示例图
如上图,蓝色方块和绿色三角形之间存在明显界限,但是这条界线是非线性的,这就对应SVM中的非线性可分情况。
这种情况我们也是通常选取核方法进行研究,该类型可以选取多项式核,高斯RBF核等。
- 上一篇: 如何使用支持向量机学习非线性数据集
- 下一篇: 支持向量机的核函数
猜你喜欢
- 2024-11-19 零基础学习!数据分析分类模型「支持向量机」
- 2024-11-19 机器学习 | 算法笔记(三)- 支持向量机算法以及代码实现
- 2024-11-19 我以前一直没有真正理解支持向量机,直到我画了一张图
- 2024-11-19 研一小姑娘分享机器学习之SVM支持向量机
- 2024-11-19 [机器学习] sklearn支持向量机
- 2024-11-19 支持向量机
- 2024-11-19 初探支持向量机:用大白话解释、原理详解、Python实现
- 2024-11-19 支持向量机的核函数
- 2024-11-19 如何使用支持向量机学习非线性数据集
- 2024-11-19 一文帮助你快速搞懂支持向量机算法模型
你 发表评论:
欢迎- 11-19零基础学习!数据分析分类模型「支持向量机」
- 11-19机器学习 | 算法笔记(三)- 支持向量机算法以及代码实现
- 11-19我以前一直没有真正理解支持向量机,直到我画了一张图
- 11-19研一小姑娘分享机器学习之SVM支持向量机
- 11-19[机器学习] sklearn支持向量机
- 11-19支持向量机
- 11-19初探支持向量机:用大白话解释、原理详解、Python实现
- 11-19支持向量机的核函数
- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)