机器学习实战三——步履维艰svm推导

本文详细介绍了支持向量机(SVM)的数学模型和推导过程,从分隔超平面、支持向量到拉格朗日对偶问题,以及简化版SMO算法的步骤。通过手动推导公式,帮助读者深入理解SVM的原理和算法流程。建议读者手动推导公式,以更好地掌握SVM。
摘要由CSDN通过智能技术生成

简介:

清明过后,也快一周的时间了,毕设还在计划中进行。昨天晚上和一个考研到西安交通大学的朋友聊天,也互相交流了一下看法,因为他是做蚁群算法的,所以说也都算是算法类的毕设。能够感觉到他对自己的要求也很高,也都是自己独立推导数学公式,优化算法,哈哈,以后又多了一个能够交流的小伙伴。然后也跟哈深的基友交换了看法,都是感觉自己能够看懂别人的算法,但是自己独立实现还是有困难,enmmmmm还是自身底蕴不够,努力吧。
这几天一直在看svm 支持向量机的内容,整整推导了三天的公式,9张A4纸,还是挺骄傲的,毕竟自己以前很不务实。
在这里插入图片描述今天只有一个目的,就是讲清楚svm的数学推导以及简化版的smo算法。


支持向量机:

概述:

首先支持向量机是一种监督学习算法,无论训练集还是数据集都是需要标注标签的。那么什么是支持向量?在这之前需要先介绍“分隔超平面”的概念。

分隔超平面:

在这里插入图片描述借用AILearning社区的图片进行说明:
可以看到,在二维的图形中,可以用一条直线将线性可分的数据集分开。那么如果数据集由二维上升到三维呢?是的,可以用一个面,可以是平面,也可以是曲面进行分割。那么当维度上升到n维时,依照规律,则可以使用n-1维度的对象进行分割,那么我们用来分割的对象,便叫做“分割超平面”。
再看一张图:
在这里插入图片描述

支持向量:

支持向量实质是数据点,并且是离分割超平面距离最近的数据点,比如上图的苹果。

机:

机也不表示机器,表示的是一种算法。
那么字面意义的支持向量机,就很轻松的讲解完成了。接下来我们讲解支持向量机的数学推导和smo简化版算法。


数学建模及推导:

分割超平面:

西瓜书中直接给出了,分割超平面的线性方程:

W T x + b = 0 W^Tx+b=0 WTx+b=0

我觉得推导过程还是很有必要的,那么我的推导过程如下:

  1. 首先直线的情况下,方程为:

y = a x + b y=ax+b y=ax+b

  1. 微调一下:

x 1 = a x 2 + b x_1=ax_2+b x1=ax2+b

  1. 移项:

a x 2 − x 1 + b = 0 ax_2-x_1+b=0 ax2x1+b=0

  1. 向量化:

[ a , − 1 ] ∗ [ x 2 , x 1 ] T + b = 0 [a,-1]*[x_2,x_1]^T+b=0 [a,1][x2,x1]T+b=0

  1. 那么令向量

W T = [ a , − 1 ] W^T=[a,-1] WT=[a,1]

X = [ x 2 , x 1 ] T X=[x_2,x_1]^T X=[x2,x1]T

则最后便可得到公式:

W T x + b = 0 W^Tx+b=0 WTx+b=0

而维度便是由 W T W^T WT的维度来决定。那么由高等数学的知识可知:
向量 W T W^T WT便是分割超平面的法向量,也就决定了分割超平面的方向,那么b也就是分割超平面的截距,也就是位移项。


点到分割超平面的距离:

在高等数学中,我们学习过点到直线的距离:

d = ∣ A x 0 + B y 0 + C A 2 + B 2 ∣ d=|\frac{Ax_0+By_0+C}{\sqrt{A^2+B^2}}| d=A2+B2 Ax0+By0+C

那么将距离公式扩展到多维:

d = ∣ ∣ W T X + B ∣ ∣ ∣ W ∣ ∣ ∣ d=|\frac{|W^TX+B|}{||W||}| d=WWTX+B

分母即为向量W的模

好了,在理解了点到分割超平面的距离之后,我们来谈一下,对于图6-2来说,什么才是最好的分割方法呢?我们依靠什么来判断分割平面的好与坏呢?
分类器的好坏的评定依据是分类间隔W=2d的大小,即分类间隔W越大,我们认为这个超平面的分类效果越好。此时,求解超平面的问题就变成了求解分类间隔W最大化的问题。W的最大化也就是d最大化的。
而在周志华老师的西瓜书中,我们直接把“间隔”定义为:
两个异类支持向量到超平面的距离之和


问题转换:

请看下图:
在这里插入图片描述
可以看到,我们把左侧的五角星支持向量,还有右侧的圆球支持向量到分割超平面的距离为d,也就是支持向量对应:

∣ W T x + b ∣ = 1 |W^Tx+b|=1 WTx+b=1

那么:

γ = 2 ∣ ∣ W ∣ ∣ \gamma=\frac{2}{||W||} γ=W2

即为图中2d的值。那么现在我们所求的“最大间隔”问题,就被转换成了 γ \gamma γ的最大值问题,也就是 1 ∣ ∣ w ∣ ∣ \frac{1}{||w||} w1的最大值问题,也就是 ∣ ∣ w ∣ ∣ 2 ||w||^2 w2的最小值问题:
则可以将问题重新定义为:
满足 m i n ( 1 2 ∣ ∣ w ∣ ∣ 2 ) min(\frac{1}{2}||w||^2) min(21w2)时,求对应的w,b
注意:可能有些人会问为什么多了个系数,实则很简单,为了求导方便


约束条件:

在以上的论述中,已经顺利获得了目标函数的数学形式,我们重新整理一下。
求解最大间隔 -----(等价于)------ γ \gamma γ的最大值----(等价于) m i n ( 1 2 ∣ ∣ w ∣ ∣ 2 ) min(\frac{1}{2}||w||^2) min(21w2)
为了求解最大间隔,首先我们要找到支持向量点,那么又怎么在众多数据点中顺利找出支持向量点呢?
为了能够解决以上问题,我们以二维平面为例,对于二维平面上的两类点,我们依次做不同的标记:
如图所示:
在这里插入图片描述
做标记如下:
红球:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值