吴恩达机器学习-第十二章个人笔记

本文深入探讨了支持向量机(SVM)的基础知识,包括其从逻辑回归的演变、大间距分类器的概念、数学原理以及高斯核函数的作用。SVM通过最大化决策边界的间距来实现高效分类,高斯核函数则允许SVM处理非线性问题。此外,还讨论了SVM参数C和σ²对模型的影响以及在实际应用中的选择,如线性核与高斯核的选择,并推荐了liblinear和libsvm等库作为实现工具。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

12、1SVM的基本简介

SVM是由logistic regression演变而来的:
假设函数:
logistic regression的假设函数输出是使得y=1的概率;
而SVM输出的是要么是0,要么是1.

在这里插入图片描述

代价函数:
logistic regression的代价函数分为y=1和y=0两种情况,对应的是下面左右两张图的黑色曲线;
SVM的代价函数则是对应下图中的粉色折线(由一段水平直线和一段倾斜直线构成),分别记为
cost1(z)和cost0(z),其中z= θ \theta θTx
在这里插入图片描述
logistic regression代价函数:
在这里插入图片描述
SVM代价函数:
在这里插入图片描述
不同:
①对于SVM函数的代价函数来说,乘以常数m或者除以常数m对最后求得的 θ \theta θ没有影响,所以这里去掉了m.(不太理解)
②cost0(z)和cost1(z)都由曲线变成了折线。
③C相当于1/ λ \lambda λ,表示前一部分的比重;其中SVM中C增大和logistic regression中 λ \lambda λ减小效果相同,都是增加前一部分的权重,减少后一部分的权重。

12、2大间距分类器

SVM通常也被别人称为大间距分类器
当y=1时,我们想要z>=1
当y=0时,我们想要z<=-1.这里更加严格的条件,是为了让分类器分类后能得到最大间距。
在这里插入图片描述
决策边界:
假设代价函数中的C很大时,我们必须想办法让前半部分另一个乘数为0.
当y(i)=1时,要求z>=1
当y(i)=0时,要求z<=-1.
这样的话代价函数的前半部分变成了C*0
在这里插入图片描述
举例:这里为了把正样本和负样本分开,我们可以选择黑线、粉线或者绿线。
我们很容易发现粉线和绿线显得不太好,因为他们紧紧贴着样本;但黑线和两类样本都相距很远,拥有最大的间距(黑线也是应SVM得出的决策边界,SVM也被称为最大间距分类器)
在这里插入图片描述
运用SVM得出的决策边界是黑线,当我们加入一个异常样本时
①如果C很大的话,决策边界就会由黑线变为粉线。(粉线显得并不好)
②如果C不是很大的话,决策边界依然是黑线。(当C不是很大时,正样本中参杂少许负样本,负样本中参杂少许正样本,SVM依然可以得到正确的决策边界)
在这里插入图片描述

12、3支持向量机背后的数学原理

首先我们来了解两个向量内积的几何含义:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
其次我们来了解 θ \theta θtx的几何含义:
在这里插入图片描述
最后我们在假设A(其中 θ \theta θ0=0保证决策边界能够过原点,且只有两个特征项也只有两个参数)下考虑为啥SVM会得到最大间距的决策边界:
其中很明显 θ \theta θ向量是和决策边界相互垂直的。
p(i)|| θ \theta θ||>=1时,代价函数前一部分为0,我们的目标是让1/2|| θ \theta θ||2最小,很明显右边的边界每个样本由于p(i)很大,想要p(i)|| θ \theta θ||>=1,则|| θ \theta θ||可以变得更小,符合我们的目标

在这里插入图片描述

12、4高斯核函数Ⅰ

非线性决策界:一般来说我们的选择就是构造复杂多项式的集合,但有时我们会想着用更好的特征量f1、f2、f3
在这里插入图片描述
三个标记点的相似度函数(高斯核函数)如下:
在这里插入图片描述
高斯核函数的含义(离标记点越近,函数值越靠近1;离标记点越远,函数值越靠近0):
在这里插入图片描述
σ \sigma σ2的大小与整个函数图像的关系( σ \sigma σ2越大,则梯度下降越慢;越小,梯度下降越快):
在这里插入图片描述
用这些特殊的特征量来构造决策边界:
其中 θ \theta θ0=-0.5, θ \theta θ1=1, θ \theta θ2=1, θ \theta θ3=0;
靠近l(1)和l(2)的样本的预测值为1
在这里插入图片描述

12、5高斯核函数Ⅱ

选择标记点:我们的所有的训练样本的个数都可以标为标记点,故有m个标记点
在这里插入图片描述
特征量:原先的特征量的维数是n+1,转换之后变为m+1维
在这里插入图片描述
代价函数的差异:
θ \theta θTx(i)换成 θ \theta θTf(i)
②正则化中n变为m
值得注意的是这里只需要 θ \theta θTx(i)>=0不需要>=1;
想让正则化项 θ \theta θT θ \theta θ尽量小,实际中会让 θ \theta θTM θ \theta θ尽量小,这会在m很大时让计算的时间变得更短。
在这里插入图片描述
参数的讨论:
①C大,则低偏差、高方差,容易过拟合
C小,则高偏差、低方差,欠拟合
σ \sigma σ2大,则高偏差、低方差,欠拟合
σ \sigma σ2小,则低偏差、高方差,过拟合

在这里插入图片描述

12、6SVM的实际使用

推荐软件库:liblinear,libsvm
我们需要做的:
①选择参数C
②选择核函数
当n很大、m很小的时候,选择线性核函数
当n很小、m很大的时候,选择高斯核函数
在这里插入图片描述
在实现核函数的时候,当你的特征变量相差比例较大的时候,我们必须对某些特征向量按比例归一化,防止某一个特征向量的影响盖过其他特征向量的影响,这个向量直接决定着核函数值(这时其他向量根本无用)

其他核函数的选择:
核函数必须满足‘默塞尔定理’,这样就可以用软件包中的优化方法
其中多项式核函数有两个选择参数:+x;次方数
在这里插入图片描述

多类别分类(不太理解)
在这里插入图片描述

逻辑回归和SVM的选择:
分三种情况:第三种情况相比第一种情况只是多了创造更多的特征项的步骤,用无核函数的SVM和逻辑回归效果取决于具体实例。
(SVM的软件包优化就是使得代价函数最小时,永远是全局最优、不会是局部最优)
神经网络则适用于大部分的情况,但其训练时间比较长。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值