目录
01 支持向量机思想
02 支持向量机背后的最优化问题
2.1 点到直线距离
2.2 限定条件的最优化问题
2.3 目标函数
03 𝑺𝒐𝒇𝒕 𝑴𝒂𝒓𝒈𝒊𝒏 𝑺𝑽𝑴
3.1 𝑆𝑜𝑓𝑡 𝑀𝑎𝑟𝑔𝑖𝑛 𝑆𝑉𝑀 概念
3.1 𝑆𝑜𝑓𝑡 𝑀𝑎𝑟𝑔𝑖𝑛 𝑆𝑉𝑀 推导
04 𝒔𝒌𝒍𝒆𝒂𝒓𝒏 中的支持向量机
4.1 案例分析
05 非线性 𝑺𝑽𝑴 分类
5.2 案例分析
06 多项式核函数
6.1 学习的对偶算法
6.2 核函数
6.3 多项式核函数
6.4 通过核函数方式使 SVM 处理非线性问题
07 高斯核函数
7.1 高斯核函数
7.2 多项式核函数“升维”原理
7.3 高斯核函数“升维”原理
7.4 模拟高斯核函数“升维”原理
7,5 超参数 𝛾
08 𝒔𝒌𝒍𝒆𝒂𝒓𝒏 中的支持向量机(高斯核函数)
8.1 案例分析 8.2 参数调整
09 𝑺𝑽𝑴 思想解决回归问题
9.1 回归事项
9.2 案例分析
9.3 参数调整
01 支持向量机思想
02 支持向量机背后的最优化问题
2.1 点到直线距离
2.2 限定条件的最优化问题
2.3 目标函数
03 𝑺𝒐𝒇𝒕 𝑴𝒂𝒓𝒈𝒊𝒏 𝑺𝑽𝑴
3.1 𝑆𝑜𝑓𝑡 𝑀𝑎𝑟𝑔𝑖𝑛 𝑆𝑉𝑀 概念
3.1 𝑆𝑜𝑓𝑡 𝑀𝑎𝑟𝑔𝑖𝑛 𝑆𝑉𝑀 推导
04 𝒔𝒌𝒍𝒆𝒂𝒓𝒏 中的支持向量机
4.1 案例分析
05 非线性 𝑺𝑽𝑴 分类
5.2 案例分析
06 多项式核函数
6.1 学习的对偶算法
6.2 核函数
6.3 多项式核函数
6.4 通过核函数方式使 SVM 处理非线性问题
07 高斯核函数
7.1 高斯核函数
7.2 多项式核函数“升维”原理
7.3 高斯核函数“升维”原理
7.4 模拟高斯核函数“升维”原理
7,5 超参数 𝛾
08 𝒔𝒌𝒍𝒆𝒂𝒓𝒏 中的支持向量机(高斯核函数)
8.1 案例分析 8.2 参数调整
09 𝑺𝑽𝑴 思想解决回归问题
9.1 回归事项
9.2 案例分析
9.3 参数调整
03 𝑺𝒐𝒇𝒕 𝑴𝒂𝒓𝒈𝒊𝒏 𝑺𝑽𝑴
在上一节介绍了𝐻𝑎𝑟𝑑 𝑀𝑎𝑟𝑔𝑖𝑛 𝑆𝑉𝑀和𝑆𝑜𝑓𝑡 𝑀𝑎𝑟𝑔𝑖𝑛 𝑆𝑉𝑀,并且在诠释𝑆𝑉𝑀背后最优化
问题的数学原理时也是基于
𝐻𝑎𝑟𝑑 𝑀𝑎𝑟𝑔𝑖𝑛 𝑆𝑉𝑀
前提的。
3.1 𝑺𝒐𝒇𝒕 𝑴𝒂𝒓𝒈𝒊𝒏 𝑺𝑽𝑴概念
如图所示,点𝐴是一个蓝色分类的点,但是它离红色分类的点非常近,那么如果按线性
𝐻𝑎𝑟𝑑 𝑀𝑎𝑟𝑔𝑖𝑛 𝑆𝑉𝑀
的思路,图中情况的决策边界很有可能是下图所示这样:
这条决策边界直线看似很好的将蓝色和红色点完全区分开了,但是它的泛化能力是值得怀疑的.因为这条决策边界极大的受到了点的影响,而点
可能是蓝色点中极为特殊的一个点,也有可能它根本就是一个错误的点。所以根据𝑺𝑽𝑴的思想,比较合理的决策边界应该下图绿色虚线所示:
虽然绿色直线的决策边界没有完全将红蓝点分开,但是如果将它放在生产数据中,可能预测准确度更高,也就是泛化能力更强。也就是说,虽然它将一个数据判断错误,但是泛化能力要比之前判断正确的决策边界要好很多。所以对于𝑺𝑽𝑴得出的决策边界要有一定的容错机制。即我们要达到泛化能力较强时,是可以把一些点错误分类的。
当然,更一般的情况,很多样本数据点是无法线性分割的,这就需要我们找到一个曲线进行分割。
如上图中的情况,已经根本不可能有一条线性决策边界能将红蓝点分开了,所以我们希望决策边界具有一定的包容性或容错性,已降低分类准确度的代价换来更高的泛化能力。那么这种𝑺𝑽𝑴就称为𝑺𝒐𝒇𝒕 𝑴𝒂𝒓𝒈𝒊𝒏 𝑺𝑽𝑴。
3.2 𝑺𝒐𝒇𝒕 𝑴𝒂𝒓𝒈𝒊𝒏 𝑺𝑽𝑴推导
在𝐻𝑎𝑟𝑑 𝑀𝑎𝑟𝑔𝑖𝑛 𝑆𝑉𝑀
最优化问题的两个函数中,限定条件
𝑦
(𝑖)
(𝜔
𝑇
𝑥 + 𝑏) ≥ 1
,表示在𝑚𝑎𝑟𝑔𝑖𝑛区域内不会有任何点出现,但是在
𝑆𝑜𝑓𝑡 𝑀𝑎𝑟𝑔𝑖𝑛 𝑆𝑉𝑀
中为了容错性,是允许在𝑚𝑎𝑟𝑔𝑖𝑛区域内出现点的,也就是将
𝐻𝑎𝑟𝑑 𝑀𝑎𝑟𝑔𝑖𝑛 𝑆𝑉𝑀
的限定条件加以宽松量
𝜉
(柯西),并且这个宽松量𝜉
必须是正数:
如图所示:
换句话说,我们最优化问题实际上是最大化我们的𝑚𝑎𝑟𝑔𝑖𝑛
,现在考虑这个宽松量
𝜉
,y允许我们的𝑆𝑉𝑀
犯一定的错误,也就是说我们允许有一些数据点在直线和虚线之间,即打破了𝐻𝑎𝑟𝑑 𝑚𝑎𝑟𝑔𝑖𝑛 𝑆𝑉𝑀
。
这条虚线是𝜔
𝑇
𝑥 + 𝑏 = 1 − 𝜉
,同时
𝜉
也有一定的限制条件,即大于等于 0。在几何图像上表示在𝜔
𝑇
𝑥 + 𝑏 = 1
的下面和
𝜔
𝑇
𝑥 + 𝑏 = −1
的下面才叫犯错误。
另外,需要注意到,对于我们的𝜉
不是固定的值,而是对于每一样本数据
𝑖
都有一个相对应的𝜉
,即如果我们有
𝑚
个数据点的话,相应的也应该有
𝑚
个
𝜉
值,换句话说对于每一个样本点都求出他的容错空间。
当然,单单有𝜉
大于等于 0 这个限制条件也是不够的,试想一下,当我们的
𝜉
取值为正无穷时,即这个虚线在𝜔
𝑇
𝑥 + 𝑏 = 1
下面无限远的地方,毫无疑问,对于我们所有的数据点,都将满足这样的条件,那么此时我们的容错范围就太大了。
事实上我们的𝜉
希望有一定的容错空间,但是又不能太大,那如何表达容错空间不能太大这件事情呢?答案很简单,就是然我们的目标函数添加一项正则模型(类似于𝐿1
与
𝐿2
),即所有𝜉
之和。
我们知道
𝐻𝑎𝑟𝑑 𝑀𝑎𝑟𝑔𝑖𝑛 𝑆𝑉𝑀
的优化目标函数为:
𝑆𝑜𝑓𝑡 𝑀𝑎𝑟𝑔𝑖𝑛 𝑆𝑉𝑀也是基于
𝐻𝑎𝑟𝑑 𝑀𝑎𝑟𝑔𝑖𝑛 𝑆𝑉𝑀
的思想演变的,所以我们将这个目标函数加一个正则模型,而这个正则模型又恰是𝑆𝑜𝑓𝑡 𝑀𝑎𝑟𝑔𝑖𝑛 𝑆𝑉𝑀
的宽松量,这样就达到了在𝐻𝑎𝑟𝑑 𝑀𝑎𝑟𝑔𝑖𝑛 𝑆𝑉𝑀的思路下增加宽松量实现
𝑆𝑜𝑓𝑡 𝑀𝑎𝑟𝑔𝑖𝑛 𝑆𝑉𝑀
,所以
𝑆𝑜𝑓𝑡 𝑀𝑎𝑟𝑔𝑖𝑛 𝑆𝑉𝑀
的目标函数为:
此时的
𝑆𝑜𝑓𝑡 𝑀𝑎𝑟𝑔𝑖𝑛 𝑆𝑉𝑀
模型为:
可以看到这个式子即兼容了𝐻𝑎𝑟𝑑 𝑀𝑎𝑟𝑔𝑖𝑛 𝑆𝑉𝑀
,又兼顾了一定的容错能力。同理和正则化逻辑一样,目标函数由两部分组成,但两部分所占比重未必是一样的,所以在后面添加一个参数𝐶
。
上述的表达式写法可以理解为添加了一个𝐿1
正则化项。正则化的目的就是使得我们的模型有一定的容错能力,使我们模型的泛化能力有所提升。当然,有𝐿1
正则项,就会有
𝐿2
正则项。
𝐿1正则项:
𝐿2正则项:
同时我们观察式子,如果当𝐶 = +∞
时,为了求最小,只能使
𝜉
为 0。也就是说,我们的容错能力为 0,要求相当严格,由𝑆𝑜𝑓𝑡 𝑀𝑎𝑟𝑔𝑖𝑛 𝑆𝑉𝑀
变成
𝐻𝑎𝑟𝑑 𝑀𝑎𝑟𝑔𝑖𝑛 𝑆𝑉𝑀
。换句话说,当𝐶越大时,我们的容错能力越小。