7-机器学习之SVM

目录

一 优化目标

二 Cost function

 三 大间距分类器(SVM别称)

四 SVM的数学原理

 五 用SVM训练复杂非线性分类器

1.核函数

2.高斯核函数示例

3.根据标记点和已知的参数确定样本的分类

六 如何选择标记点(landmarks)

七 SVM参数选择技巧

八 SVM 与逻辑回归的选择



SVM是一种监督式学习算法,有时候它更简洁和强大

一 优化目标

以逻辑回归为例

如果y=1,那么​hθ(x)≈1​且​\theta ^{T}x >> 0
如果y=0,那么​hθ(x)≈0​且​\theta ^{T}x << 0

然后将逻辑回归的代价函数变形后,得到如下的代价函数公式

 可分为y = 0 和y = 1 两种情况,下图中的折现对应了SVM的代价函数曲线(hinge loss 函数)

代价函数中,在y为0时第一项失效, y=1 时第二项失效。

因此,如果我们想最小化代价函数,那么首先考虑这两个极端情况:

  • 在y为0的时候,需要让z比-1小,此时第一第二项都为零。
  • 在y为1的时候,需要让z比1大,此时第一项第二项都为零。

二 Cost function

下面给出Cost function 的定义

其中cost0 代表y =0 时,cost1 代表y=1时的代价函数,K 为直线的斜率。

C本质上和λ一样的,都是改变普通代价函数项和正则项的权重关系。如果我们想要加强正则化强度来处理过拟合,那么减小C;如果想要减少正则化强度来处理欠拟合,那么增大C

与逻辑回归中不同的是,SVM算法的假设函数并不代表y=0或1的概率,而是只输出0或1

 三 大间距分类器(SVM别称)

SVM引入了hinge loss函数来代替sigmoid函数,其输出关系如下:

  • 预测y=1,则要使​z≥1​(注意不仅仅是≥0)
  • 预测y=0,则要使​z≤−1​(注意不仅仅是<0)

如果代价函数中的C非常大,最小化优化目标的时候,我们需要找到一个值使第一项为0

 SVM决策边界

大间距分类器指的是尽可能地把正数据集与负数据集的间距拉大。因为这样会使决策边界对于两种数据集都有一些余地,也就是有一些容错率

四 SVM的数学原理

向量内积的几何意义:相当于向量V在向量U的投影长度乘以向量U的平方根,如果U和V的夹角大于90°,内积为负值

 

根据上述概念,对于SVM的cost function的优化目标是让参数的平方根尽可能的小

 因此优化代价函数的目标其实是让样本向量在参数\theta构成的向量上的投影尽可能的大于1 或小于-1

从下图可以看出,左侧的决策边界情况下,样本在参数向量上的投影长度较短,这就意味着参数的平方根要足够大才能满足上述要求。这显然不符合优化方向。

 五 用SVM训练复杂非线性分类器

如果要将下图中的类别分开,假设用了高阶多项式,为了方便表示,用f 对公式进行替换。

由于高阶多项式的特征过于庞大,计算量超级高。是否有办法来得到更好的特征嵌入到假设函数中呢?

 

1.核函数

首先假设坐标系中有一些标记(landmark),度量样本X与标记之间的相似度,因此引入了一个新的相似度函数

相似函数的目的是找到更好的特征来代替样本的幂指数项。这里选择高斯函数作为相似函数,相似函数就是核函数

 

相似函数有如下两个特征

如果样本和标记很接近,则f接近1

如果样本和标记差异很大,则f接近0 

具体如下图所示

2.高斯核函数示例

对于下图的水平坐标对应了样本的x1 和x2分量 ,高度对应了f_1(假设我们这里讨论的是标记1)的大小,对于刚好等于[3,5]这个点的样本来说,它的f值刚好达到了最大(在帽顶上),如果离这个点越远,那么f值越接近0,它衡量了样本X到标记f_1的距离(介于0和1之间)。

改变高斯函数的参数\sigma的值,可以改变f_1接近0的速度

如果\sigma^{2} = 0.5,f_1下降的很快

如果\sigma^{2} = 3,f_1下降的相对较慢

 

3.根据标记点和已知的参数\theta确定样本的分类

根据下图,靠近l1和l2的样本会被判定为正类,原理l1 和l2的样本会被判定为负类,这里l3不起作用因为假定\theta_{3} = 0

 

六 如何选择标记点(landmarks)

1.将训练集中的每一个样本的坐标位置对应一个标记点

2.对于训练集/测试集/交叉检验集中的任意一个样本计算其与所有标记点的距离,得到一个特征向量f = \begin{bmatrix} f_1 & f_2 &f_3 & ... & f_m \end{bmatrix}

 

3.训练过程

 

七 SVM参数选择技巧

C= 1/\lambda,所以对于C来说

C越大,过拟合(高方差,低偏差)

C越小,欠拟合(低方差,高偏差)

 

对于参数\sigma来说,

 \sigma^{2}越大,特征向量f_1越光滑,对应高偏差,低方差(过拟合)

 \sigma^{2}越小,特征向量f_1越剧烈,对应低偏差,高方差(欠拟合)

八 SVM 与逻辑回归的选择
n: 特征的数量,m:训练样本的数量

  1. 1.n非常大(相对于m),则使用逻辑回归,或者是无核函数的SVM算法(线性核函数)原因:我们没有足够的样本来训练多项式假设函数
  2. 2.n比较小,m适中,那么使用高斯核函数支持的SVM算法,原因:我们有足够的样本来训练非线性假设函数
  3. 3.n比较小,m非常大,则需要手动地添加更多的特征量,然后使用逻辑回归或者不带核函数的SVM算法。原因:我们想要增加更多的特征量,以此使得逻辑回归可以适用。

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值