机器学习笔记5-支持向量机1

简介: 机器学习笔记5-支持向量机1

前言:

支持向量机这一节是看的中国mooc网上浙大胡浩基的课,感觉还是中文讲课的比较清晰易懂,
再结合看了周志华的《机器学习》。看完视频再看瓜书才明白上面那些公式是怎么来的,可能对于初学者来说还是
母语的视频教学更好懂。一开始看瓜书真的是头痛,全是各种数学公式,推导过程也没有。

1.支持向量机(support vector machine)

定义:可分不可分
线性可分
如图如果能用一条直线把不同的数据给分隔开,就是线性可分的(linear separable)
线性不可分
如果如果不能用一条直线把不同的数据给分隔开,就是线性不可分的(nonlinear separable)

这个理论可以推广到三维,甚至思维以上的特征空间。三维使用平面来分隔数据,四维和四维以上因为人类
无法直观的感知出来,所以画不出来,但是能分隔数据,存在这样的平面叫做超平面。

二维线性可分情况:

数学定义:

向量定义:

2.支持向量机

问题描述:
对于线性可分的情况下,怎么找到最优分类的超平面

从图上看中间的超平面是最优的,这个对于划分数据是的容忍性最好,例如优于训练集数据的局限性,训练集外的数据可能导致分类直线出现错误的分类结果。但是第二幅图中的执行是受影响最小的,较小概率受新的数据影响而产生错误的结果。

支持向量机的寻找的最优分类直线应该满足:
2.1 该直线分开了两类
2.2 该直线最大化间隔(margin)
2.3 该直线处于间隔的正中间,到所有支持向量距离相等

上述的规则同样适用于线性可分的多维特征空间,只不过直线是变成了超平面。

3.数学定义的线性可分问题推导:

理解这个部分的公式花了我很长的时间,看了很多遍视频,对照着书和找的资料才勉强理解了。越往后面学,越发现自己数学知识储备太少。
首先我们看一个点到平面的距离的公式:
点到平面的距离公式
可以发现其实这个公式可以看做是平行四边形的面积除以底边,然后求出的高就是点到平面的距离。

然后开始推导求线性可分问题的公式:
先看两个存在的公式:
事实1:

事实2

在先看下样本空间任意一点到超平面的距离公式是:
ωx + b
这里的ω是个法向量,决定了超平面的方向,b是位移项是超平面和原点之间的距离。

根据事实1和事实2来推导:

要找到最大的间隔的超平面,就是要找到参数ω和b,使d最大。
所以问题就转化为,求||ω||的最小值。

所以优化问题定为:
最小化 1/2 * ||ω||^2 (这个和最小化||ω||是一样的,只是为了方便求导弄成了这种形式)

这个公式是二次规划的问题,所以我们求(ω,b)的为问题变成了求二次规划的问题。

因为二次规划是要么是无解,要么就是有唯一最小值的。又因为在凸优化问题中,一定存在唯一最小值的解,
所以是凸优化问题的二次规划问题一定有最优解。因此后面只要转化为了二次规划,又是凸优化问题的。我们就可以用已经存在解决凸优化问题的工具去解决它。

备注:

1.支持向量机还有要学习的内容核函数,对偶问题,这些小节还没有学习完,所以这里没有写出来。
2.下周要将核函数和对偶问题学习下,然后学习下拉格朗日子乘法,这个对偶问题公式推导会用到。

相关文章
|
1月前
|
机器学习/深度学习 数据采集 算法
机器学习在医疗诊断中的前沿应用,包括神经网络、决策树和支持向量机等方法,及其在医学影像、疾病预测和基因数据分析中的具体应用
医疗诊断是医学的核心,其准确性和效率至关重要。本文探讨了机器学习在医疗诊断中的前沿应用,包括神经网络、决策树和支持向量机等方法,及其在医学影像、疾病预测和基因数据分析中的具体应用。文章还讨论了Python在构建机器学习模型中的作用,面临的挑战及应对策略,并展望了未来的发展趋势。
133 1
|
2月前
|
机器学习/深度学习 计算机视觉 Python
模型预测笔记(三):通过交叉验证网格搜索机器学习的最优参数
本文介绍了网格搜索(Grid Search)在机器学习中用于优化模型超参数的方法,包括定义超参数范围、创建参数网格、选择评估指标、构建模型和交叉验证策略、执行网格搜索、选择最佳超参数组合,并使用这些参数重新训练模型。文中还讨论了GridSearchCV的参数和不同机器学习问题适用的评分指标。最后提供了使用决策树分类器进行网格搜索的Python代码示例。
162 1
|
7月前
|
机器学习/深度学习 人工智能 算法
探索机器学习中的支持向量机(SVM)算法
【5月更文挑战第27天】在数据科学和人工智能的领域中,支持向量机(SVM)是一种强大的监督学习模型,它基于统计学习理论中的VC维理论和结构风险最小化原理。本文将详细介绍SVM的工作原理、核心概念以及如何在实际问题中应用该算法进行分类和回归分析。我们还将讨论SVM面临的挑战以及如何通过调整参数和核技巧来优化模型性能。
|
4月前
|
机器学习/深度学习 算法
【机器学习】SVM面试题:简单介绍一下SVM?支持向量机SVM、逻辑回归LR、决策树DT的直观对比和理论对比,该如何选择?SVM为什么采用间隔最大化?为什么要将求解SVM的原始问题转换为其对偶问题?
支持向量机(SVM)的介绍,包括其基本概念、与逻辑回归(LR)和决策树(DT)的直观和理论对比,如何选择这些算法,SVM为何采用间隔最大化,求解SVM时为何转换为对偶问题,核函数的引入原因,以及SVM对缺失数据的敏感性。
90 3
|
4月前
|
机器学习/深度学习 运维 算法
深入探索机器学习中的支持向量机(SVM)算法:原理、应用与Python代码示例全面解析
【8月更文挑战第6天】在机器学习领域,支持向量机(SVM)犹如璀璨明珠。它是一种强大的监督学习算法,在分类、回归及异常检测中表现出色。SVM通过在高维空间寻找最大间隔超平面来分隔不同类别的数据,提升模型泛化能力。为处理非线性问题,引入了核函数将数据映射到高维空间。SVM在文本分类、图像识别等多个领域有广泛应用,展现出高度灵活性和适应性。
209 2
|
4月前
|
机器学习/深度学习 算法
【机器学习】支持向量机SVM、逻辑回归LR、决策树DT的直观对比和理论对比,该如何选择(面试回答)?
文章对支持向量机(SVM)、逻辑回归(LR)和决策树(DT)进行了直观和理论上的对比,并提供了在选择这些算法时的考虑因素,包括模型复杂度、损失函数、数据量需求、对缺失值的敏感度等。
71 1
|
6月前
|
机器学习/深度学习 算法 BI
机器学习笔记(一) 感知机算法 之 原理篇
机器学习笔记(一) 感知机算法 之 原理篇
|
6月前
|
机器学习/深度学习 算法 数据可视化
技术心得记录:机器学习笔记之聚类算法层次聚类HierarchicalClustering
技术心得记录:机器学习笔记之聚类算法层次聚类HierarchicalClustering
69 0
|
6月前
|
机器学习/深度学习 分布式计算 API
技术好文:Spark机器学习笔记一
技术好文:Spark机器学习笔记一
48 0
|
7月前
|
机器学习/深度学习 数据采集 算法
深入理解并应用机器学习算法:支持向量机(SVM)
【5月更文挑战第13天】支持向量机(SVM)是监督学习中的强分类算法,用于文本分类、图像识别等领域。它寻找超平面最大化间隔,支持向量是离超平面最近的样本点。SVM通过核函数处理非线性数据,软间隔和正则化避免过拟合。应用步骤包括数据预处理、选择核函数、训练模型、评估性能及应用预测。优点是高效、鲁棒和泛化能力强,但对参数敏感、不适合大规模数据集且对缺失数据敏感。理解SVM原理有助于优化实际问题的解决方案。