浅谈SVM
来源:互联网 发布:淘宝网建达巧克力 编辑:程序博客网 时间:2024/06/08 06:18
版权声明:本文为博主原创文章,未经博主允许不得转载。
一、了解SVM
SVM是一机器学习中的一种分类方法,是一种二分类方法。它的目的便是在求得一组权值w1,w2,.....wn,b,使得两个分类的间隔达到最大,也就是能很好地将两个类别分开。
1、从逻辑回归引入SVM
此处使用Logistic Regression做为一个因子,来引入SVM
逻辑回归也是一个分类模型,它采用的映射函数为Sigmod函数,也就是把属于负无穷到正无穷的自变量映射到(0,1)之间。
函数图像如图所示。sigmod函数为,函数的输出是概率估计,输出代表1的概率。输出值>0.5为类别1,<0.5为类别0,。因此可以用概率模型来表示输出属于各个类别的值:, 。
逻辑回归的目的是要求得到一组,使得属于类别y=1的特征满足>>0,即,使得属于类别y=-1的特征满足<<0,即。
2、逻辑回归变形为SVM
-->
。同时y也由原来的类别1,0变为了1,-1. 针对输入x我们会得到,以下图为例
中间实线为我们要找的超平面,上面虚线代表,也就是类别为-1,下面代表类别为1.
注:类别为1 ,-1的由来:
1、二分类的标签是任意取的,只要能区分两个不同的类别即可。;
2、SVM为二分类模型,超平面分开的两个类的函数值相应于超平面是相反的;
3、既然是两个数,而且是相反数,那就去1和-1便于计算。
我们的目的是求得一组w和b,使得两个分类的间隔最大。也就是上图中虚线上的点到=0的距离最小,实际距离表示为,实际上式为,因为对于虚线的点满足,因为虚线上的点事支持向量的,所以两边虚线之间的间隔也就是。求得max,即可找到一组最优的w,下面对这个式子做一下变换,max等价于min s.t
注:能够表示x到超平面的距离远近,通过观察与i的符合是否一致就可以判断分类是否正确。
二、参数求解
在求解w的过程中,一直有一个约束条件即,可以引入拉格朗日函数约束。
求函数的极值,对三个未知数分别求偏导可得出:
这样就找到了三者之间的关系,求出就相当于求出了w,b。
。只有一个参数,采用SMO方法,即每次只求两个,固定除了这两个以外所有的(视为常数),不断的任意抽取,然后求解上面关于的函数值直到收敛。
求出以后,w,b也就迎刃而解了,则超平面也就确定了。
1、SVM中涉及的核函数是处理非线性情况,直接映射到高维空间维度太高时计算量太大,所以核函数是在低维空间计算。(此处摘抄自某资料,在下现在还不明白?)
2、松弛变量是为了满足少量不严格满足的因子而设计的(即对不好分类的点的一种约束)。
经验风险,结构风险:
1、经验风险就是真实存在的风险,即真实值与预测值差的平均
SVM采用的是合页损失,max(1,1-z),
2、结构风险(加入正则化之后的风险值),
是对参数w的一种约束,分为L1正则化和L2正则化
L1正则化就是趋向于产生更少的特征,其它的特征的wi均为0;
L2正则化趋向于选择更多的特征,使得特征wi都接近于0;L2可以防止过拟合,提升泛化能力。SVM默认采用L2正则化。
以上对SVM的理解还是比较浅显的,以后有了更深的理解会继续更新。希望批评指正。
另外推荐一个可以网页版编辑公式的的东西:http://www.codecogs.com/latex/eqneditor.PHP
- 浅谈SVM
- 浅谈SVM
- 浅谈SVM(一)
- 浅谈SVM(二)
- 浅谈SVM(三)
- 浅谈SVM(四)
- 浅谈SVM(五)
- 浅谈SVM(六)
- 【机器学习】SVM浅谈
- 支持向量机SVM浅谈
- libsvm代码阅读:svm.cpp浅谈和函数指针
- SVM
- SVM
- SVM
- svm
- svm
- svm
- svm
- java继承常见错误
- apache和tomcat区别
- Java 泛型详解
- 剑指offer: 二叉搜索树的后序遍历序列
- 快速幂求a^b结果的最后一位
- 浅谈SVM
- 旋转数组中的最小数字
- Bootstrap初识
- 关于python中值传递和引用传递的问题
- 习题 4.12 有4个圆塔,圆心分别为(2,2)、(-2,2)、(-2,-2)、(2,-2),圆半径为1,这4个塔的高度为10m,塔以外无建筑物。今输入任一点的坐标,求该点的建筑高度(塔外的高度为零)
- jQuery UI 工作原理
- 携程4月11日编程题 输出最大乘积 java
- 九、swift3.0可选类型+类型修饰符及其它
- Halcon算子函数[2]