支持向量机原理推导(一)

简介:

用python进行数据挖掘和机器学习一直很火,所以近段时间就在自学《机器学习实战》这本书,发现里面讲支持向量机时对原理公式的推导讲得并不详细,上网查资料发现讲得并不很系统,有点零碎的感觉,导致对于我这种小白的童鞋来说颇为艰难,因此经过长时间的资料查询后准备综合各路大神的思路和我自己的理解来写一波关于公式原理推导的文章。文章以《机器学习实战书》为进度进行步步拆解(大神可以略过啦~正在奋斗的小白也可以私下交流共同学习)。
SVM指的是支持向量机(外文名Support Vector Machine),在机器学习领域,是一个有监督的学习模型,通常用来进行模式识别、分类以及回归分析。
我们这里以二维图线性分类为例进行讲解,在对如下图A进行分类时,可得到很多个分割超平面,然而我们要从中选择最优的分割超平面,这便是SVM的要做的,选出最优的分割超平面。

6c1f231f442a86b40dc847531cdf138a2d6c17e0

那么什么样的平面为最优的分割超平面呢?就像上图D一样,使距离分割超平面最近的点与超平面的间隔最大便是我们要寻找的,这里距离分割线最近的点就叫做支持向量,分割线就叫做分割超平面,支持向量与分割超平面就叫做”间隔”。我们所要做的就是最大化这个间隔。

0cdb49682f564e2602ac248143330f5a609e8921

书上给出坐标点A与分割超平面W^tX+b=0间隔的公式为:m=|W^t A+b|/||W|| 
其中W为分割线的系数向量,X为参数向量(此处代表x1,x2),A为A点的坐标向量。 
那么我们现在就推导一下这个公式。

一、首先我们得简单推导一下坐标点A到过原点直线L的距离。我们有过原点的直线L:W^tX=0(它的法向量为W),坐标向量A,求A向量在W向量上投影P向量的模长(即A点到直线L的距离)

7169ddce3fb299a851adfb79fc5b5ca83d3f042d

W的方向向量u为u=W/(||W||),其中||W||代表W向量的模长,||u||=1。 
P的模长|(|P| )|=|(|A| )| cosθ(1) 
又因为u•A=||u||||A||*cosθ=|(|A| )|*cosθ(2) 
由(1),(2)可得||P||=u•A=(W•A)/(||W||)

二、下面我们推导一下A点到不过原点的直线L的距离:我们有直线L:W^tX+b=0,坐标向量A。

23800018a6ab98ee9ce6c5ec81044403daf5aa69

设W(m,n),X(x1,x2),直线L为m*x1+n*x2+b=0,截距-b/n,K向量为(0, - b/n) 
所以根据上一条结论可得 
||P2||=(W•K)/(||W||)=((0,(-b)⁄n)•(m,n))/(||W||)=(-b)/(||W||) 
||P2||=(W•A)/(||W||) 
||P||=||P2||-||P2||=(W•A)/(||W||)-(-b)/|(|W| )| =(W•A+b)/(||W||) 
所以间隔 m=|W^t A+b|/||W||

原文发布时间为:2017-08-14
本文作者:exploit
本文来自云栖社区合作伙伴“ Python中文社区”,了解相关信息可以关注“ Python中文社区”微信公众号
相关文章
|
11月前
|
机器学习/深度学习 JavaScript
知识干货 | GAN的原理和数学推导
知识干货 | GAN的原理和数学推导
118 0
|
机器学习/深度学习 人工智能 资源调度
【机器学习】线性回归——最小二乘法的概率解释高斯噪声(理论+图解+公式推导)
【机器学习】线性回归——最小二乘法的概率解释高斯噪声(理论+图解+公式推导)
232 0
【机器学习】线性回归——最小二乘法的概率解释高斯噪声(理论+图解+公式推导)
|
机器学习/深度学习 人工智能 算法
【机器学习】支持向量机(SVM)——硬间隔+对偶+KKT条件+拉格朗日乘子(理论+图解+公式推导)
【机器学习】支持向量机(SVM)——硬间隔+对偶+KKT条件+拉格朗日乘子(理论+图解+公式推导)
189 0
【机器学习】支持向量机(SVM)——硬间隔+对偶+KKT条件+拉格朗日乘子(理论+图解+公式推导)
|
机器学习/深度学习 定位技术
如何推导高斯过程回归以及深层高斯过程详解
如何推导高斯过程回归以及深层高斯过程详解
451 0
如何推导高斯过程回归以及深层高斯过程详解
|
机器学习/深度学习 算法
[算法系列]SVM的数学推导原理
[算法系列]SVM的数学推导原理
[算法系列]SVM的数学推导原理
|
机器学习/深度学习 算法
《统计学习方法》极简笔记P6:逻辑回归算法推导
《统计学习方法》极简笔记P6:逻辑回归算法推导
《统计学习方法》极简笔记P6:逻辑回归算法推导
【算法系列】主成分分析的推导过程
【算法系列】主成分分析的推导过程
【算法系列】主成分分析的推导过程
|
机器学习/深度学习
【3】感知机结构与反向传播推导
【3】感知机结构与反向传播推导
91 0
【3】感知机结构与反向传播推导
|
机器学习/深度学习 算法 数据挖掘
线性回归算法推导与实战(一)
本文属于 线性回归算法【AIoT阶段三】(尚未更新),这里截取自其中一段内容,方便读者理解和根据需求快速阅读。本文通过公式推导+代码两个方面同时进行,因为涉及到代码的编译运行,如果你没有NumPy,Pandas,Matplotlib的基础,建议先修文章:数据分析三剑客【AIoT阶段一(下)】(十万字博文 保姆级讲解)
127 0
线性回归算法推导与实战(一)
|
机器学习/深度学习 算法 数据挖掘
线性回归算法推导与实战(二)
本文属于 线性回归算法【AIoT阶段三】(尚未更新),这里截取自其中一段内容,方便读者理解和根据需求快速阅读。本文通过公式推导+代码两个方面同时进行,因为涉及到代码的编译运行,如果你没有NumPy,Pandas,Matplotlib的基础,建议先修文章:数据分析三剑客【AIoT阶段一(下)】(十万字博文 保姆级讲解)
167 0
线性回归算法推导与实战(二)