datawhale西瓜书打卡——第六章“支持向量机”

部分文字引用自周志华西瓜书和南瓜书视频

马上就31号年末了,今天也是最后一次打卡截点,冲!

这一章的支持向量机,想必大家也是十分耳熟了,同样地,先问问自己,什么是支持向量机?用来完成什么功能的?如何实现这种功能的?

首先呢,支持向量机和第三章的线性模型、第四章的决策树以及第五章的神经网络是同一个地位的,都是机器学习中并列的对数据处理的一种方法。

那这种方法有什么特点?(要是没有专属的特点也不会单独拎出来作为一个章节对吧?)

我们知道,机器学习中一个很大的主题就是分类学习。
对于线性可分的数据集,支持向量机就是寻找一个能将正负样本隔开的超平面,咦,感知机不就是做这事的吗?是的,但支持向量机找的超平面距离正负样本都最远,这种情况的超平面是唯一的,对新样本的泛化能力更好。

好了,我们知道支持向量机是做什么的了,再从它的名字出发,想想它是怎么做到这个功能的。

我们知道,对于给定的训练样本集,可以在样本空间中将每个样本点标出来。所谓分类,就是在这个样本空间中找出一个超平面(超平面,按我的理解,就是高位空间的平面。)来把不同类别的点分隔开来。支持向量机要找的是一个泛化能力最强的超平面。

datawhale西瓜书打卡——第六章“支持向量机”_第1张图片
如图所示,支持向量机不是随随便便找根线把正负样本隔开,而是要找那条黑线,这样当新样本出现时,分类正确的概率最大。

那要怎么去做呢?怎么去找这样的超平面呢?
OK,涉及数学了,我们知道二维空间的平面可以由一个法向量和一个位移常量构成,高维空间中的超平面也是这样,只不过它的法向量变成了一个高维向量。我们要做的就是通过数学方法求出这两个量。
datawhale西瓜书打卡——第六章“支持向量机”_第2张图片
(s.t.的全称是subject to,受限于,表示约束条件)
如原文所示,目标就是在约束条件下求出使得w的l2范数最小的参数。

常用的方法就是将问题转变成对偶问题,在每个约束条件下乘以拉格朗日因子得到目标函数,由目标函数对参数w和b求偏导为0得到新的条件。(数学推导略过,本次目标在于逻辑思路)

前面提到了,对于线性可分的数据集,支持向量机就是找一个特殊的超平面。那如果在样本的特征空间中,没有这样特殊的超平面怎么办,支持向量机就不能用了?那这适用范围也太窄了吧。肯定不是这样的,数学思想的一大法宝就是转换,变,变,变,假的能变成真的,你的能变成我的,线性不可分的能给你变成线性可分的!那怎么变呢?对啦,就是映射。将原始样本映射到一个更高维的空间,映射的目标是使得样本在新的高维特征空间中线性可分。
这下不就回到了原来的问题了?如何在高维的特征空间找超平面。
这次不一样的是数据样本变了,由原来的数据集经过变换映射得到的高维新样本,如此以来,求解参数的方法不变,但计算过程肯定变复杂了。
由于计算的时候要算新样本的内积,高维不好算啊,就想着能不能计算原来样本的内积来偷懒,,是能偷懒的,只不过要把原来样本的内积经过一个核函数来加工一下,加工的结果就是高维新样本的内积,如此一来,就把新问题推回到原来的旧问题上了。

只要有分类,就有过拟合。为了解决过拟合,软间隔和正则化是常用的两种方法。

你可能感兴趣的:(支持向量机,机器学习,人工智能)