机器学习第六篇:详解支持向量机算法


(本文框架)

01|概念及原理:

支持向量机是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器。

说的通俗一点就是就是在特征空间里面用某条线或某块面将训练数据集分成两类,而依据的原则就是间隔最大化,这里的间隔最大化是指特征空间里面距离分离线或面最近的点到这条线或面的间隔(距离)最大。

看下面的图来感受一下,SVM的目的就是要找打能把红色点和蓝色点准确分开的线或面。

上图来源于链接:https://www.zhihu.com/question/21094489,里面还有不错的动态展示视频,可点击了解。

间隔最大化的直观解释:对训练数据集找到几何间隔最大的超平面意味着以充分大的确信度对训练数据进行分类。也就是说,不仅将正负实例点分开,而且对最难分的实例点(即离平面最近的点)也有足够大的确信度将他们分开。这样的超平面对未知的新实例有很好的分类预测能力。

02|几个基本概念:

1、线性/非线性

线性是指量与量之间按比例,成直线关系,在数学上可理解为一阶导数为常数的函数;而非线性是指不按比例,不成直线关系,一阶导数不为常数的函数。

2、线性可分/不可分

对于二分类问题,有那么一条直线可以把正负实例点完全分开,这些数据就是线性可分的;而线性不可分就是找不到一条直线可以把正负实例点完全分开。

3、超平面

其实就是实例点从二维空间转移到三维甚至多维空间中,这个时候不能再用直线划分,而需要用平面去划分数据集,这个平面就称为超平面。

4、支持向量

在线性可分的情况下,训练数据集的样本点与分离超平面距离最近的样本点称为支持向量,而支持向量机的目的就是求取距离这个点(下图中带有v字母的点,与其他实例点无关)最远的分离超平面,这个点在确定分离超平面时起着决定性作用,所以把这种分类模型称为支持向量机。

5、间隔问题

  • 函数间隔

一般地,一点距离分离超平面远近程度可以反映分类预测的准确程度,在超平面wx+b=0确定的情况下,|wx+b|能够相对地表示点x距离超平面的远近。而wx+b的符号与类标记y的符号是否一致能够表示分类是否正确,所以可以用量y(wx+b)来表示分类正确性及确信度,这就是函数间隔。

通过上图能看出|wx+b|与点到超平面的实际距离之间的区别,所以前面说到是用|wx+b|来相对地表示点x到超平面的远近。

  • 几何间隔

上面的函数间隔,只要成比例的改变w和b的值,超平面不会改变,但是函数间隔却会改变。比如把w和b均扩大一倍,则超平面依然是wx+b=0,而函数间隔则变成了2|wx+b|,(2wx+2b=w'x+b'=-2)。但是我们学习的目的是在保持在间隔不变的情况下通过求取间隔最大化对应的超平面来达到学习的目的,所以我们要保证w保持不变。这里对w做一些约束,如规范化,使得间隔是确定的,这时函数间隔就成了几何间隔。 

  • 函数间隔与几何间隔的关系

03|线性可分支持向量机:

线性可分支持向量机是有一条直线(平面)可以将训练数据集完全分离开来,而线性可分支持向量机的学习目的就是找到那一条直线。

1、算法步骤

  1. 假设现在存在这么一个超平面wx+b=0可以完全把训练数据集分开。

  2. 思考这个超平面需要满足什么样的条件时才能够将数据完全分开。

  3. 如果距离超平面最近的点都能够被正确分类,那么其他距离较远的点肯定都能够被正确分类。

  4. 所以我们现在需要做的是找到距离超平面最近的样本点(前面几何间隔与函数间隔区别中有说)。

  5. 找到最小值以后还不够,因为我们前面提到过,样本点到超平面的距离越大,分类的准确性越高,所以我们要尽可能的让步骤4求取的极小值尽可能的大。依据这个条件取求取满足调价的最佳分割超平面。 

2、求解约束问题以及算法步骤

04|线性支持向量机:

1、基本概念

2、求解约束问题以及算法步骤

05|非线性支持向量机:

非线性支持向量机是针对非线性分类问题的一种学习方法。非线性分类问题是指无法用直线(线性模型)将正负实例正确分开,但可以用一条曲线将他们分开。

对解线性分类问题,线性分类支持向量机是一种非常有效的方法。但是有时候分类问题是非线性的,非线性分类问题是指利用非线性模型才能很好地进行分类。(前面我们已经说过线性与非线性的概念)

非线性问题一般不好求解,所以我们一般求解非线性分类问题时,将非线性问题通过非线性变换变换成线性问题。

1、非线性分类问题求解步骤

  1. 首先使用一个变换将原空间(非线性分类对应的空间)的数据映射到新空间(线性分类对应的空间),这里用到的方法就是核技巧(核函数)。

  2. 然后在新空间里面利用线性分类的方法对问题进行求解。

2、核函数定义

3、核技巧在支持向量机中的应用:

4、非线性支持向量机的算法步骤:

PS时刻:

那些数学公式输入实在是太麻烦了,所以就用手写了,但是很无奈字&像素渣渣,所以各位多担待,有看不清看不懂的地方可以私聊。

  • 17
    点赞
  • 81
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
支持向量机(Support Vector Machine, SVM)是一种广泛应用的分类算法,用于文本分类。在SVM中,数据被映射到高维空间,并找到一个最优超平面,将不同类别的数据分开。在文本分类中,SVM可以用于将文本数据分为不同的类别,如垃圾邮件和非垃圾邮件。 在应用SVM进行文本分类时,首先需要进行数据预处理。例如,在垃圾邮件分类中,可以使用SpamAssassin Public Corpus数据集。该数据集包括两个文件夹,分别代表垃圾邮件和非垃圾邮件。每个文件夹下包含多个txt文件,每个txt文件代表一封邮件。在预处理过程中,我们需要将这些txt文件读取并进行一些操作,例如去除停用词、标记化、词干提取等。 接下来,可以使用支持向量机算法对预处理后的文本数据进行分类。在SVM中,我们需要构建一个目标函数来寻找最优的决策边界,即分类线。这条分类线需要到两个类别最近的样本点最远,并且通过一些支持向量点(距离决策边界最近的点)来确定其位置。通过最大化间隔(margin),SVM可以找到最优的分类线,从而对文本进行准确分类。 总结来说,支持向量机是一种常用的文本分类算法,它通过映射数据到高维空间,并找到一个最优超平面将不同类别的文本数据分开。在SVM的应用中,数据预处理是很关键的一步,通过构建目标函数并利用支持向量来确定分类线的位置,SVM可以实现准确的文本分类。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [文本分类之支持向量机SVM详解(6)机器学习](https://blog.csdn.net/qq_34516746/article/details/124673023)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [基于流形正则化的支持向量机文本分类 (2013年)](https://download.csdn.net/download/weixin_38742520/19072551)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [机器学习算法:利用支持向量机做文本分类](https://blog.csdn.net/ai52learn/article/details/132074379)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

俊红的数据分析之路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值