[机器学习]SVM---硬间隔最大化数学原理

注:以下的默认为2分类

1、SVM原理:

(1)输入空间到特征空间得映射

所谓输入空间即是输入样本集合,有部分情况输入空间与特征空间是相同得,有一部分情况二者是不同的,而模型定义都是定义到特征空间的,特征空间是指所有的输入特征向量,特征向量是利用数值来表示的n维向量,输入空间到特征空间的映射,也就是对所用的特征进行数值量化(本人这么理解),与概率中的随机变量是一样的形式,随机变量是由样本空间到实数集的映射,例如:抛硬币的样本空间是{正面,反面},映射到实数集便为{1,0}

(2)求得间隔最大化最优分离超平面

所谓分离超平面,即是能够将所有的特征向量划分为两类的平面或直线(特征有两个变为直线,多个变为平面,即几维的问题),比如二维的情况下,一条线,能够坐标系中的所有点划分为两类,最优意为可以将所有的点尽量进行正确的划分,间隔最大化意为:在两类区域中各自距离直线最近的点到直线的距离是最大的,因此可以求得唯一的间隔最大化最优分离超平面w*x+b*=0,由于是距离因此是由法向量和截距决定,w*为法向量,b*为截距,此处对这个方程进行解释:法向量是从点到平面的垂直方向,在几何中求平面的方程时,平面方程可以设为一般方程Ax+By+Cz+D=0,这便可以看作为(A,B,C)*(x,y,z)即w*=(A,B,C),特征向量x=(x,y,z),b*=D.同理在求直线直线可设为Ax+By+C=0,因此求超平面时即为求w*,b*.

(3)求分类决策函数

所谓分类决策函数只是一个符号函数f(x)=sign(w*x+b*),sign是一个符号函数,取输入值的符号(正负),在上边取得法向量和截距以后与输入特征向量运算后将结果带入sign()得到分类

2、基础概念

(1)函数间隔

上边已经说了是求到超平面的最近距离的点的距离最大的超平面,因此求距离是很重要的一步,根据点到平面的距离公式分子为|w*x+b|,由于分母是相同的,所以|w*x+b|可以相对的表示出距离的大小。y(向量)在此表示的是每个特征向量的分类,而由上边已经知道,分类决策是求的符号的,因此可以确定w*x+b与y的符号(相对应元素)是相同的,因此可以利用y(w*x+b)来表示分类的正确性和确信度,这就是函数间隔:                          

注:超平面关于特征空间的函数间隔是值所有特征向量到超平面的函数间隔中的最小值

                          

(2)几何间隔

利用函数间隔来具体衡量时,会出现一个问题,当法向量和截距同时扩大两倍时,超平面不变,但是函数间隔却便为原来的两倍,因此引入几何间隔的概念,其实简单的来说,几何间隔便是函数间隔除以法向量的模,具体公式如下:

                            

同时由超平面关于特征空间的几何间隔是所有特征向量到超平面的几何间隔中的最小值

                          

(3)支持向量

在线性可分的情况下,特征空间中距离分离超平面的距离最近的特征向量为支持向量

3、硬间隔最大化的求解方法

这里解释一下何为硬间隔最大化,这个是相对训练数据集或说特征空间来说的,假如数据是完全的线性可分的,则学习到的模型可以称为硬间隔支持向量机,除此之外还有软间隔支持向量机(近似线性可分),非线性支持向量机等,最终的目的都是为了求的w*,b*

(1)最大间隔法推导过程

根据以上的表述可以将求w*和b*归约到两个条件之上,首先求最大的关于特征空间的几何间隔,其次的约束条件为所有的几何间隔必须都大于关于特征空间的几何间隔,则约束最优化问题如下:

                  

按照几何间隔与函数间隔的关系(都是关于超平面的),这个问题又可以如下表述:

                  

在此可以将以上的式子进行优化,上边的第一个式子的分子(关于超平面函数间隔)会变化,而第二个式子不等号右边的(关于超平面函数间隔)也同样幅度变化,因此w与b也会同样幅度的变化,因此关于超平面的函数间隔变化不会影响上述的式子,因此可以利用1来代替。此时求max(1/||w||)与min(1/2*||w||)是一样的,一个在分母,一个在分子,至于为何会取1/2*||w||^2,求导的时候好计算1/2*2=1,如下:

                        

(2)学习的对偶算法

引入拉格朗日对偶性,通过求解对偶问题得到原始问题的最优解,这样做的优点:首先可以降低计算的难度,其次自然引入核函数(非线性可分数据的处理方式)利用拉格朗日对偶性可以构造等价对偶函数(更多请参考统计学习方法),如下:

                  

此处由定理用于求w*和b*,如下:

                        

因此根据上边的约束最优化问题即可求的拉格朗日算子,则可求的w*与b*

时间: 2024-10-12 11:38:47

[机器学习]SVM---硬间隔最大化数学原理的相关文章

支持向量机(二)线性可分支持向量机与硬间隔最大化

本文原创如需转载请注明出处 阅读目录一.什么是函数间隔? 二.什么是几何间隔? 三.函数间隔与几何间隔的关系? 四.硬间隔最大化 五.学习的对偶算法 一.函数间隔 在图A,B,C三点,A离超平面是最远的,所以A被分类错误的可能性是最小的,相反C离超平面的距离是最近的,所以C被分类错误的可能性是最大的,这很好理解.那么我们就可以用“一个点距离超平面的远近”来表示分类预测的确信程度 因此我们只需要寻找一个超平面离所有边缘点都最远. a.我们用的绝对值表示点x与超平面的距离 b.对于样本点x来说,y是

[机器学习&数据挖掘]朴素贝叶斯数学原理

1.准备: (1)先验概率:根据以往经验和分析得到的概率,也就是通常的概率,在全概率公式中表现是“由因求果”的果 (2)后验概率:指在得到“结果”的信息后重新修正的概率,通常为条件概率(但条件概率不全是后验概率),在贝叶斯公式中表现为“执果求因”的因 例如:加工一批零件,甲加工60%,乙加工40%,甲有0.1的概率加工出次品,乙有0.15的概率加工出次品,求一个零件是不是次品的概率即为先验概率,已经得知一个零件是次品,求此零件是甲或乙加工的概率是后验概率 (3)全概率公式:设E为随机试验,B1,

支持向量机原理(二) 线性支持向量机的软间隔最大化模型

? ? ? ? ? ?支持向量机原理(一) 线性支持向量机 支持向量机原理(二) 线性支持向量机的软间隔最大化模型 支持向量机原理(三)线性不可分支持向量机与核函数 支持向量机原理(四)SMO算法原理 支持向量机原理(五)线性支持回归 在支持向量机原理(一) 线性支持向量机中,我们对线性可分SVM的模型和损失函数优化做了总结.最后我们提到了有时候不能线性可分的原因是线性数据集里面多了少量的异常点,由于这些异常点导致了数据集不能线性可分,本篇就对线性支持向量机如何处理这些异常点的原理方法做一个总结

SVM中的间隔最大化

参考链接: 1.https://blog.csdn.net/TaiJi1985/article/details/75087742 2.李航<统计学习方法>7.1节 线性可分支持向量机与硬间隔最大化 3.https://zhuanlan.zhihu.com/p/45444502,第三部分 手推SVM 本文目标:理解SVM的原始目标,即间隔最大化,并将其表示为约束最优化问题的转换道理. 背景知识:假设已经知道了分离平面的参数w和b,函数间隔γ',几何间隔γ,不懂的可以参考书本及其它. 为了将线性可

【机器学习笔记之七】PCA 的数学原理和可视化效果

PCA 的数学原理和可视化效果 本文结构: 什么是 PCA 数学原理 可视化效果 1. 什么是 PCA PCA (principal component analysis, 主成分分析) 是机器学习中对数据进行降维的一种方法. 例如,我们有这样的交易数据,它有这几个特征:(日期, 浏览量, 访客数, 下单数, 成交数, 成交金额),从经验可知,“浏览量”和“访客数”,“下单数”和“成交数”之间会具有较强的相关关系.这种情况下,我们保留其中的两个维度就可以保证原有的信息完整. 但是当我们在做降维的

SVM数学原理推导

//2019.08.17 #支撑向量机SVM(Support Vector Machine)1.支撑向量机SVM是一种非常重要和广泛的机器学习算法,它的算法出发点是尽可能找到最优的决策边界,使得模型的泛化能力尽可能地好,因此SVM对未来数据的预测也是更加准确的. 2.支撑向量机SVM有两种:Hard Margin SVM和Soft Margin SVM,对于第一种严格的支撑向量机算法主要解决的是线性可分的数据问题,而第二种SVM是在第一种的基础上改进而来,可以解决普遍的数据问题,对于问题的线性可

线性可分支持向量机与软间隔最大化--SVM

线性可分支持向量机与软间隔最大化--SVM 给定线性可分的数据集 假设输入空间(特征向量)为,输出空间为. 输入 表示实例的特征向量,对应于输入空间的点: 输出 表示示例的类别. 我们说可以通过间隔最大化或者等价的求出相应的凸二次规划问题得到的分离超平面 以及决策函数: 但是,上述的解决方法对于下面的数据却不是很友好, 例如,下图中黄色的点不满足间隔大于等于1的条件 这样的数据集不是线性可分的, 但是去除少量的异常点之后,剩下的点都是线性可分的, 因此, 我们称这样的数据集是近似线性可分的. 对

PCA的数学原理

PCA(Principal Component Analysis)主成成分分析法,是一种常用的数据分析方法.PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降维.网上关于PCA的文章有很多,但是大多数只描述了PCA的分析过程,而没有讲述其中的原理.这篇文章的目的是介绍PCA的基本数学原理,帮助读者了解PCA的工作机制是什么. 当然我并不打算把文章写成纯数学文章,而是希望用直观和易懂的方式叙述PCA的数学原理,所以整个文章不会引入严格的数学

和机器学习和计算机视觉相关的数学(转载)

1. 线性代数 (Linear Algebra): 我想国内的大学生都会学过这门课程,但是,未必每一位老师都能贯彻它的精要.这门学科对于Learning是必备的基础,对它的透彻掌握是必不可少的.我在科大一年级的时候就学习了这门课,后来到了香港后,又重新把线性代数读了一遍,所读的是Introduction to Linear Algebra (3rd Ed.)  by Gilbert Strang.这本书是MIT的线性代数课使用的教材,也是被很多其它大学选用的经典教材.它的难度适中,讲解清晰,重要