SVM的文字理解--无公式版,纯思想分享

所谓的svm算法是一个有监督学习类的二分类方法。我们需要找到一个超平面将两类数据分开来,不提出要求的话,会找到很多的超平面,但是他们肯定不都是最优的,我们要是找一个分类平面肯定是在以后的分类中适应性比较强的平面。那么我怎么设定相关的约束条件来找到这样的一个平面呢。接下来就要请出我们的机器学习的分类方法了。这些方法包含有逻辑回归,还有决策树。我们都希望通过这些分类器将两个类别的数据分开来。开始讲了,有很多的分类平面,但是如何找到那个最优的呢?我们希望这个平面举例两个类之间的距离尽可能的大,这样我就又足够的置信概率来充分地有自信说这个类我肯定分对了,你看我距离它那么远,分类错误的概率会非常的小。于是最大化类间距的svm就这样出现了。但是在这里为什么一定要选择支持向量机呢?

我来分析一下。是因为我们解决的是一个凸优化的问题,这个目标函数是凸的,我们能够使用svm一步步地找到最优的那个解。这个凸优化问题不是说的是一般的只是单纯地向上或者向下凸的图像。它可能在这里是向下,但是到了另一个地方就变成了向上凸了,如果你能够用一般的方法求出最优解的话,会有很多的解,我们可能一时无法找到这个最优解,找到的是另一个次优解。这个解只是这个函数中的一个极小值点,却不是我们想要寻找的最小值点(定义域中的)。只有svm可以帮助我们做到这点,按照它的求解规则来解题,就是最优解的。

我们开始的目标函数是求最大间隔距离,约束条件一个不等式,手机不好打字,就叫做不等式。最大间隔距离,可以转化为求关于w平方的最小解。之后会加上核函数,来帮助我们将低维坐标系中的线性不可分数据映射到高维空间中进行分析。接着呢我开始利用拉格朗日乘子结合kkt条件进行求解。这样还不好求,我要结合好解的对偶问题来进行求解。之后得到解alpha,根据这个可以由之前得到的偏导公式求出w,这个b呢,就根据最开始的的决策函数,我从训练中找到构成分类边界的一个支持向量(如何找到这个支持向量呢?有待继续研究),由这个支持向量来计算b的值(注意此时w已知,xi,yi已知)这样就可以找到最优平面啦。

以上全部都是针对线性和非线性可分的数据来讲的。

对于那些线性非线性不可分的数据呢,就要降低我们对可分的要求啦。给它加上一个松弛变量,并且还附带有一个惩罚因子。这里依旧结合拉格朗日乘子还有kkt条件来进行求解,跟上面可分的差不多。就是多了一个惩罚因子,alpha的取值有一个上限,原来的不等式部分也加上了松弛变量,这些松弛变量的累计和前面是惩罚因子(只是一个一维实数而已)。剩下的跟可分的求解就差不多啦。这里我没有仔细理解,但知道惩罚因子c的选择很重要。

参考文章:
解密SVM系列(二):SVM的理论基础
手把手教你实现SVM算法(一)
绝对通俗易懂SVM的理解,大白话
支持向量机SVM通俗理解(python代码实现)
SVM-支持向量机算法概述
数据挖掘领域十大经典算法之—SVM算法(超详细附代码)
Svm算法原理及实现
【机器学习】支持向量机SVM及实例应用

文本分类与SVM

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值