本文主要是介绍【Abee】吃掉西瓜——西瓜书学习笔记(五),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
支持向量机(Support Vector Machine,SVM)
目录
【内容包含 第六章】
间隔与支持向量
核函数
软间隔(soft margin)
正则化(regularization)
支持向量回归(Support Vector Regrassion,SVR)
核方法
间隔与支持向量
分类学习的主要思想是在样本空间中找到一个划分超平面,将不同样本分开。
超平面可以定义为
其中w是法向量,决定超平面的方向,b是位移项,决定超平面到原点的距离。
样本空间中任意点到超平面(w,b)的距离为(根据点到平面的距离公式,这里是超平面,应该是广义的)
令
离超平面最近的几个样本点(可能不止正反两个)使上式成立,被称为支持向量(support vector),异类支持向量的距离和为
即 间隔(margin)
支持向量机即使间隔最大化
对偶问题(引入拉格朗日乘子)
解出后即可得到模型的w,b
求解的方法主要是二次规划算法,比如SMO(Sequential Minimal Optimization),每次更新两个参数,把其他的变量固定,不断迭代直至收敛(每次选取的两个变量对应的样本之间的间隔最大,可以尽快的收敛)
核函数
并非所有问题都是线性可分的,需要把样本从原始空间映射至高维空间,则模型可以表示为
相应的对偶问题
假设存在核函数 (kernel function)
此时模型为
只要一个对称函数所对应的核矩阵半正定,就能作为核函数使用,,一个半正定核矩阵总是能找到一个与之对应的映射,隐式的定义了一个 再生核希尔伯特空间(Reproducing Kernel Hilbert Space,RKHS)
常用的核函数:线性核、多项式核、高斯核、拉普拉斯核、Sigmoid核
软间隔(soft margin)
虽然可以通过升维来实现线性可分,不过仍然是很困难的,引入软间隔的概念,即允许SVM在一些样本上出错
由于 数学性质不好,常用的替代损失函数:
hinge损失:
指数损失:
对率损失:
引入松弛变量 ,软间隔支持向量机为
正则化(regularization)
其中是正则化项,也称为 结构风险(structural risk),C为正则化常数,为常用的正则化项,范数倾向于w的分量取值均衡,范数则倾向于w分量尽量稀疏。
支持向量回归(Support Vector Regrassion,SVR)
SVR的损失计算允许f(x)和y之间有最小的偏差,若样本落入2的间隔带中,被认为是正确预测,不计损失。
此时SVR的解为
核方法
当正则化项为单调递增时,优化问题的解总可以写成核函数 的线性组合。
比如可以通过引入核函数吧线性判别器扩展为非线性判别器,比如 核线性判别分析(Kernelized Linear Discriminant Analysis,KLDA)
假设存在映射
核函数
学习目标为
这篇关于【Abee】吃掉西瓜——西瓜书学习笔记(五)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!