机器学习(第七周)--支持向量机
以逻辑回归引入支持向量机
线性可分的情况下:
逻辑回归的代价函数极限情况下:
分类y=1,θ'x取分类效果较好的极限,>>0,使用直线的方式表示为左下角图
分类y=0,θ'x取分类效果较好的极限,<<0,使用直线的方式表示为右下角图
分类的效果是最理想的,分类的点的代价函数也能够满足代价函数最小,分类的边界线或者超平面也会是最优的,线性代数原理就是点到分类的界限的距离最优,这也就是支持向量机分类的原理
理论上也可以证明,最优化的距离,是最小化的目标函数权重范数的最小
详细可参考:
讲述支持向量机数学原理
https://blog.****.net/jcjx0315/article/details/61929439
讲述支持向量机逐渐深化过程
https://blog.****.net/alwaystry/article/details/60957096
逻辑回归函数为例,如下图:
目标函数和正则项两个约束条件使用拉格朗日乘子形式链接,
分界线表示如下
正则项是向量θ的范数,目标函数是x与θ內积,x与θ垂直的,內积项最小,θ'与x內积分类后最大是1,
如下图
核函数(kernel)
处理非线性关系,假设函数需要建立二项式或者曲线的方程,通过构造一个相似函数把训练集的数据映射到新的结果,相似函数可以是高斯分布函数,再进行分类判断,如下
映射过程中,与训练集相近的则判定为f则判定为1,否则为0,在通过系数θ'与f乘积得到非线性判断的边界线
训练集代价函数如下:
svm参数含义
核函数选择
如果n比较大,训练样本m较小,使用线性核函数,否则你会没有足够的样本去映射到高维空间中
如果n比较小,训练样本m较大,高斯核函数是个不错的选择
在使用高斯核函数的时候需要特别注意,对变量进行归一化处理,避免不同变量量纲差异,导致的计算差异,如下图:
无论是哪种核函数,都必须满足莫塞尔定里,在支持向量机的中许多优化数据的技巧是在莫塞尔定里假设条件下实现的
其他核函数如下
逻辑回归与支持向量机算法应用场景对比: