吴恩达《Machine Learning》精炼笔记 7:支持向量机 SVM

简介: 吴恩达《Machine Learning》精炼笔记 7:支持向量机 SVM

系列文章:


吴恩达《Machine Learning》精炼笔记 1:监督学习与非监督学习

吴恩达《Machine Learning》精炼笔记 2:梯度下降与正规方程

吴恩达《Machine Learning》精炼笔记 3:回归问题和正则化

吴恩达《Machine Learning》精炼笔记 4:神经网络基础

吴恩达《Machine Learning》精炼笔记 5:神经网络

吴恩达《Machine Learning》精炼笔记 6:关于机器学习的建议


今天带来第七周课程的笔记:关于支持向量机SVM的相关知识点。内容包含:


  • 硬间隔
  • 支持向量
  • 软间隔
  • 对偶问题



优化目标Optimization Objectives


主要是讲解如何从逻辑回归慢慢的推导出本质上的支持向量机。逻辑回归的假设形式:


image.png

  • 左边是假设函数
  • 右边是Sigmoid激活函数


z=θTx,如果满足:


  1. y=1,希望h(θ)约为1,将样本正确分类,那么z必须满足z>>0
  2. y=0,希望h(θ)约为0,将样本正确分类,那么z必须满足z<<0


样本正确分类指的是:假设函数h(x)得到的结果和真实值y是一致的


image.png

总代价函数通常是对所有的训练样本进行求和,并且每个样本都会为总代价函数增加上式的最后一项(还有个系数1/m,系数忽略掉)


如果y=1,目标函数中只有第一项起作用,得到了表达式 :

image.png


支持向量机


image.png

根据逻辑回归推导得到的支持向量机的公式 :

image.png

两个cost函数是上面提到的两条直线。对于逻辑回归,在目标函数中有两项:


  • 第一个是训练样本的代价
  • 第二个是正则化项



大边界的直观解释


下面是支持向量机的代价函数模型。


image.png


SVM决策边界


image.png


SVM鲁棒性:间隔最大化,是一种大间距分类器。


image.png


关于上图的解释:


  1. C太大的话,将是粉色的线
  2. C不是过大的话,将是黑色的线


大间距分类器的描述,仅仅是从直观上给出了正则化参数C非常大的情形,C的作用类似于之前使用过的正则化参数


  • C较大,可能导致过拟合,高方差
  • C较小,可能导致低拟合,高偏差


硬间隔模型


image.png



间隔和支持向量


注释:本文中全部采用列向量:

image.png

给定一个样本训练集D=(x1,y1),(x2,y2),…,(xm,ym),其中yi(1,+1)


分类学习的基本思想就是:基于训练集D在样本空间上找到一个划分的超平面


image.png

上面红色的线是最好的。所产生的分类结果是最鲁棒的,最稳定的,泛化能力是最好的。


划分超平面的的线性描述:

image.png


W称之为法向量(看做是列向量),决定平面的方向;b是位移项,决定了超平面和原点之间的距离。


空间中任意一点x到超平面(w,b)的距离是:

image.png

+区域的点满足y=+1

image.png

区域的点满足y=1

image.png

综合上面的两个式子有:

image.png

支持向量


距离超平面最近的几个点(带上圆圈的几个点)称之为支持向量support vector,这个点到超平面到距离称之为间隔margin


刚好在决策边界上的点(下图中带上圆圈的点)满足上式中的等号成立:

image.png


间距margin


求解间距margin就是求解向量(x+x)在法向量上的投影

image.png

决策边界上的正例表示为:

image.png

决策边界行的负例表示为:

image.png

将两个结果带入margin 的表达式中:

image.png


SVM的基本模型


最大间隔化只需要将||w||最小化即可:

image.png


SVM-对偶模型


模型参数推导


希望求解上面基本模型对应超平面的模型:

image.png

利用拉格朗日乘子αi,改成拉格朗日函数:


image.png

分别对w,b求导,可以得到:

image.png

对偶模型


原始问题是极大转成最大值问题:

image.png

带入拉格朗日函数中,得到对偶问题(全部是关于α系数):


image.png

转换一下,变成最小值问题(上面的式子加上负号):

image.png

那么超平面的模型 :

image.png


SMO算法


思想


SMO算法指的是Sequential Minimal Optimization,序列最小优化算法。算法的根本思路是:


所有的α满足:

image.png

  1. 先选取需要更新的变量αiαj

  2. 固定变量αiαj以外的参数,求解更新后的变量αiαj

image.png

其中c使得上式成立:

image.png

将变量αiαj的其中一个用另一个来表示,得到关于αi的单变量二次规划问题,就可以求出来变量αi



软间隔最大化


上面的结论和推导都是针对的线性可分的数据。线性不可分数据意味着某些样本点(xi,yi)不再满足函数间隔大于等于1的约束条件,比如下图中的红圈中的点,故引入了松弛变量ξi≥0,满足:

image.png

因此,目标函数由原来的1/2||w||*||w||变成了

image.png

其中C≥0是惩罚项参数,C值越大对误分类的越大,C越小对误分类的惩罚越小。


至此,第七周的课程笔记完毕!

相关文章
|
机器学习/深度学习 运维 算法
Machine Learning机器学习之向量机(Support Vector Machine,SVM)
Machine Learning机器学习之向量机(Support Vector Machine,SVM)
|
7月前
|
机器学习/深度学习 数据可视化 算法
Python | 网格搜索参数优化的XGBoost+SHAP可解释性分析回归预测及可视化算法
本教程将推出Python实现的XGBoost回归预测,结合网格搜索调参与SHAP可解释性分析,涵盖数据处理、模型训练、可视化及结果保存,助力科研论文提升模型可解释性,附完整代码与保姆级环境配置指南。
1110 1
|
9月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于WOA鲸鱼优化的XGBoost序列预测算法matlab仿真
基于WOA优化XGBoost的序列预测算法,利用鲸鱼优化算法自动寻优超参数,提升预测精度。结合MATLAB实现,适用于金融、气象等领域,具有较强非线性拟合能力,实验结果表明该方法显著优于传统模型。(238字)
|
10月前
|
存储 移动开发 算法
ARM 常用汇编指令
下面是ARM架构中常用汇编指令的总结,涵盖数据处理、数据传输、分支跳转、堆栈操作等类别,方便你快速查阅和理解。
521 105
|
5月前
|
数据采集 监控 数据可视化
你的数据质量可靠吗?一份评估数据质量的实用指南
数据质量是企业数据驱动的生命线。本文深入探讨其六大核心维度:准确性、完整性、一致性、及时性、唯一性与有效性,解析低质数据带来的决策失误、效率低下等痛点,并分享如何通过业务与技术协同,借助工具实现质量规则的自动化监控与持续改进,构建可信数据体系。
|
机器学习/深度学习 算法 数据挖掘
从菜鸟到大师:Scikit-learn库实战教程,模型训练、评估、选择一网打尽!
【9月更文挑战第13天】在数据科学与机器学习领域,Scikit-learn是不可或缺的工具。本文通过问答形式,指导初学者从零开始使用Scikit-learn进行模型训练、评估与选择。首先介绍了如何安装库、预处理数据并训练模型;接着展示了如何利用多种评估指标确保模型性能;最后通过GridSearchCV演示了系统化的参数调优方法。通过这些实战技巧,帮助读者逐步成长为熟练的数据科学家。
622 3
|
机器学习/深度学习 算法 PyTorch
【从零开始学习深度学习】40. 算法优化之AdaGrad算法介绍及其Pytorch实现
【从零开始学习深度学习】40. 算法优化之AdaGrad算法介绍及其Pytorch实现
|
机器学习/深度学习 算法 搜索推荐
《探秘Adagrad算法:自适应学习率的奥秘与适用场景》
Adagrad算法通过自适应调整学习率,根据参数梯度的累积平方动态改变每个参数的学习率。初始时设置学习率η,每次迭代计算梯度并累积其平方,更新后的学习率为η/√(r_t+ε),使频繁更新的参数学习率减小,稀疏参数学习率增大。适用于稀疏数据、特征重要性差异大、前期快速探索及简单模型场景。然而,学习率单调递减可能影响后期训练效果。
555 3
|
数据可视化 数据挖掘 定位技术
Python+Kepler.gl轻松制作时间轮播地图
Python+Kepler.gl轻松制作时间轮播地图
387 1
|
机器学习/深度学习 数据采集 算法
Python基础算法解析:支持向量机(SVM)
Python基础算法解析:支持向量机(SVM)
877 0
Python基础算法解析:支持向量机(SVM)