一、概述
SVM是一种小样本学习方法。
少数支持向量决定了最终结果,对异常值不敏感, 这不但可以帮助我们抓住关键样本、“剔除”大量冗余样本,而且注定了该方法不但算法简单,而且具有较好的“鲁棒性”
SVM学习问题可以表示为凸优化问题,因此可以利用已知的有效算法发现目标函数的全局最小值
有优秀的泛化能力。
1. 支持向量机(Support vector machine, SVM)解释:
(1)支持向量(support vector):支持或支撑平面上把两类类别划分开来的超平面的向量点。
(2)“机”(机器,machine):“机”实质上是一个算法。在机器学习领域,常把一些算法看做是一个机器,如分类机(当然,也叫做分类器),而支持向量机本身便是一种监督式学习的方法,它广泛的应用于统计分类以及回归分析中。
2. SVM三宝:
(1)间隔(margin):用于建模
(2)对偶(duality):用于模型求解
(3)核技巧(kernel trick):将非线性问题转化为线性问题
3. SVM的三个重要的算法:
(1)Hard-margin SVM 线性可分的SVM
(2)Soft-margin SVM 线性不可分的SVM
(3)Kernel SVM (Nonlinear SVM) 非线性
二、硬间隔SVM(Linearly separable patterns – Hard-margin SVM)
1. 预知识:
线性模型:在样本空间中寻找一个超平面, 将不同类别的样本分开.
-Q:将训练样本分开的超平面可能有很多, 哪一个好呢?
-A:应选择”正中间”, 容忍性好, 鲁棒性高, 泛化能力最强.
2. Hard-margin SVM
****输入空间:****欧几里德空间或离散集(Euclidean space or discrete set)
****输出空间:****欧几里得空间或希尔伯特空间(Euclidean space or Hilbert space)内积空间
****假设:****输入空间的实例可以映射到特征空间中的特征向量。(一对一)。学习是在特征空间中进行的
训练数据集:
****目标:****找到一个超平面 wx + b = 0 (w,b为参数)
****思路:****间隔最大(maximum margin)
线性支持向量机SVM:
3. 函数间隔 VS 几何间隔
确信度(confidence):|w x + b|
****正确性(correctness):****w x + b与y符号相同时,表示预测正确,相反w x + b与y符号相反时,表示预测错误,则正确的可以写成 y ( w x + b )
因此结合确信度和正确性 可以得到:y ( w x + b )
(1)函数间隔
给定训练数据集T,平面(w,b)
目前可以得到这样的结果。
但是,如果将w变为2w,b变成2b,超平面不会发生变化,但是函数间隔变化了
因此:我们选择使用||w|| ( w的二范数)
从而引出几何间隔
(2)几何间隔
4. 最大间隔化
****基本思想:****求解能正确划分训练数据集,且geometric margin 最大的分离超平面(唯一)
间隔最大化又称硬间隔最大化(Maximum Hard-margin)
直观解释****:****对训练数据集找到几何间隔最大的超平面意味着以充分大的确信度对训练数据进行分类。也即,不仅将正负实例点分开,而且对最难分的实例点(离超平面最近的点)也有足够大的确信度将它们分开。这样的超平面应对未知的新实例有很好的分类预测能力。
****如何求该超平面?****几何间隔最大化(最优化)
(每个样本的几何间隔至少是r)
我们令 r=1
(实质是一个凸二次规划)
5. 硬间隔SVM的算法描述
输入:训练集T
输出:最大间隔超平面w* x + b
得到最大间隔超平面和决策函数
6. 支持向量
****支持向量:****离超平面最近的点,即满足不等式取等的时候
长带的宽度:H1和H2的距离叫间隔margin
H1和H2称作间隔的边界
H1和H2上的训练样本点叫支持向量
中间线上的叫支持向量机
在决定分离超平面时只有支持向量起作用;其他的点不影响求解
若移动支持向量将改变所求的解;但若在间隔边界以外移动其他实例点,甚至去掉这些点,则解释不好改变的。
由于支持向量在确定分离超平面中起决定性作用,故这种分类模型称支持向量机。
支持向量的个数一般很少,所有支持向量机由很少的“重要的”训练样本确定。
7. 硬间隔SVM例题
由于当训练集比较大时,手动解法很复杂,因此我们引入对偶问题
8. 对偶问题
原始问题—>对偶问题
****目的:****方便解决问题和方便引入核函数(非线性分类变为线性分类)
如何进行对偶理论不再此讲解
原始问题:
对于每一个约束,引入一个拉格朗日参数a,因此问题转化为:
对于求解对偶问题,我们调换min和max,因此得到了原始问题的对偶问题:
求解对偶问题
求解对偶问题,就是要解w,b,a
先求拉格朗日函数的最小问题----求导
求出对w和b的导数之后,可以解出w以及关系
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
[外链图片转存中…(img-CZooSQ8o-1715258884233)]
[外链图片转存中…(img-YYb0TkMX-1715258884234)]
[外链图片转存中…(img-iIHoTbyC-1715258884234)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!