机器学习——支持向量机

优化目标

代价函数正则化的参数去掉,然后往总的求和加了C也并不影响什么,大致上和逻辑回归的代价函数一致。
代价函数

假设函数从之前的概率值变成了非0即1的情况
与逻辑回归的不同

大间隔分类器的直观理解

它有更加 严格的限值区间,之前的逻辑回归在z大于0的时候就会判定成1而现在只有在 z>1的时候才会判定成1。
SVM
我们假设一种C非常长大的情况:我们就会迫切的希望与C相乘的项足够的小,宁愿趋近于0:
SVM决策边界
从二维平面更加客观的理解是:黑色的分界线明显好于其他颜色的,而蓝色之间的间隔就是分类器的留出间隔。
C特别大的时候容易受异常点的影响,C较小时,可以在异常点的情况下实现良好的分类;
线性分类的最大间隔

大间隔分类器的数学原理

最小化在这里就是最小化theta的范数了,因为前面的项目已经使得它的代价等于0了![数学原理](https://img-blog.csdnimg.cn/20200809121121324.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzNDkyOTM4,size_16,color_FFFFFF,t_70)

在左边图中,绿色为决策边界,对于每一个样本点,在theta向量上面计算投影,然后乘以theta的范数,但是为了让这个乘积足够小,就要增大theta,但是代价函数是要求theta足够小,相对于右图来说,就显得这个决策边界不是那么好了,因为对同样的一个样本点在右边的这个图中的投影更长,那么所对应的theta就更小,代价函数就会更小,所以更好,SVM也就不会选择右边那个分割平面。

kernel 核函数

在线性不可分的情况下,我们往往想到进行高次多项式的特征添加,如下图中所示的这样,但是这些是我们真的需要的吗?是否有更好的可以构造的特征供我们使用?
特征
相似度函数:
相似度函数与核函数:下图所示的是相似的函数,或者说核函数的一种:高斯核函数
他表示了一个样本点跟已经标记好的点之间的相似程度。特征点离标记点近了,经过核函数就算就是1,远了就是0;与根据标记点的数量,会对每一样本特征产生新的标记点个数维的特征向量。
核函数——相似函数
样本点距离标记点的远近,最大为1
方差的不同会导致特征变量的变化速度的不同
特征变量减小的速度
经过核函数运算后,距离标记近的点的预测值将是1,距离标记点远的点预测值将是0,当标记点多起来就会构成决策边界。从而得到非线性边界。
决策边界

标记点的选取是根据样本点来的,每一个样本点(n,或n+1)就是一个标记点。对于进入SVM的特征,是每一个样本点通过相似度函数进行对每一个标记点运算后得出的 m + 1 维的 f ^ (i)。
在这里插入图片描述
于是在这种情况下,theta的求解就变成了m + 1个theta。

参数求解

支持向量机的一些参数的选取
C和方差

使用SVM

不选择核函数的时候就是线性核函数,也就是线性可分的情况。
真正使用时:

  1. 我们要选择核函数以及对应的相关参数。
  2. 写实现核函数的函数,以供高级优化算法调用。实现输入特征,输出新的特征。需要注意的是在这使用核函数之前应该将X归一化;
    写核函数以及归一化
  3. 其他核函数也可用,但是需要满足莫塞尔定理。如:多项式核函数、字符串和函数、卡方核函数、直方相交核函数…
  4. SVM包有内置的多分类函数。

当特征维数n 大于样本个数 m 的时候,用逻辑回归或者不带核函数的SVM;
当 n 比较小,而 m 的大小适中,高斯核函数可以很好工作;
当 n 小, 而 m 大的时候,那么请增加或组合一下特征出来,再使用线性回归或者没有和函数的SVM的分类器。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值