SVM初学
一、 一点基础数学知识
如今硕士都快毕业了,反而将自己的很多数学知识忘的几乎相同了。所以。如今决心再捡起来。以补齐自己的数学短板。为以后的研究做好铺垫吧。如今结合自己学习SVM、MLC、ANN等机器学习方法来回想曾经的数学知识以及补充新的数学知识。
在SVM中,首先面临的问题是计算样本点到分类超平面的距离。如今就从最简单的点到直线的距离、点到平面的距离等内容開始回想。
1) 点到直线的距离计算公式
如果直线L的方程为:
那么。点(x0,y0)到直线L的距离为d
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
如点(2,2)到直线2x-y+1=0的距离为:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
几何示意图例如以下:
2)点到平面的距离
如果平面P的方程为 ,则点(X0,Y0,Z0)到平面P的距离d为:
几何示意图例如以下。
对于高维空间。如果存在超平面f(x)=W*X+b,那么样本点到超平面的相对距离距离能够用
来表示。可是,这并非严格的定义。在确切的描写叙述高维空间中,点到超平面的距离之前。首先要引入向量、范数等数学知识加以描写叙述。
3)向量内积(点积或者数量积)
如果有a=[a0,a1,a2,a3,…,an],和向量b=[b0,b1,b2,b3,…,bn],则向量a与向量b之间的内积为:a.b=a0b0+a1b1+a2b2+a3b3+…+anbn=|a||b|cosθ=a*bT, θ为向量a与向量b之间的夹角,T表示矩阵转置运算.
4)向量叉积(向量叉乘)
a×b=|a||b|sinθ,θ为向量a与向量b之间的夹角。其运算结果是一个向量而不是标量。
如果a=(ax,ay,az),b=(bx,by,bz)
为了便于记忆,利用三阶行列式,写成
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
则:
a×b=(aybz-azby)i+(azbx-axbz)j+(axby-aybx)k=( aybz-azby, azbx-axbz,axby-aybx)
5)范数
定义:范数(norm)是数学中的一种基本概念。在泛函分析中,范数是一种定义在赋范线性空间中函数,满足对应条件后的函数都能够被称为范数。是具有“长度”概念的函数。在线性代数、泛函分析及相关的数学领域,范函是一个函数。其为矢量空间内的全部矢量赋予非零的正长度或大小。半范数反而能够为非零的矢量赋予零长度。
对于向量v,向量的长度(范数)为非负数
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
如果v是 实数域中的向量。
,假设v与二维平面上的点(a,b)相应,那么范数 的几何意义为二维平面上原点到点(a,b)的直线距离。
有了范数的概念,我们便能推导点到超平面的距离(SVM中的几何间隔)。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
上图所看到的,对于一个点x ,令其垂直投影到超平面上的相应的为x0 ,因为w是垂直于超平面的一个向量(即超平面的一个法向量)。 为样本x到分类间隔的距离,我们有:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
当中。
即为范数。
即为超平面的单位法向量。
我们在此将上式代入超平面方程进行推导:
由于,x0为超平面上的点,满足f(x0)=0
因此:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
又由于 ,因此:
至此,我们推导了点到超平面的几何距离。
可是,回到SVM中。因为SVM中超平面存在方向性,即在超平面的左側或者右側。其函数值存在正负。因此。我们还须要对上述的几何距离的定义加以约束。通俗点说,就是f(x)的取值有正有负,但距离必须是正的,所以。在SVM中,因为採用类别标签(+1,-1)来表示分类的类别属性。因此定义
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
因此,在SVM中,其几何间距(Geometrical Margin)
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
从这也能够看出,对于二分类问题,SVM为什么习惯将类别标签默觉得(+1。-1)。
SVM初学的更多相关文章
- SVM一点心得体会
支持向量机的学习说是刚刚开始,又不合理,只能说隔了很长的时间再看,终于在分类这块的层面上有了新的认识. 总的来说,支持向量机分为线性支持向量机和非线性支持向量机,线性支持向量机又可以分为硬间隔最大化线 ...
- 一步一步搞懂支持向量机——从牧场物语到SVM(上)
之前在数据挖掘课程上写了篇关于SVM的"科普文",尽量通俗地介绍了SVM的原理和对各公式的理解.最近给正在初学机器学习的小白室友看了一遍,他觉得"很好,看得很舒服&quo ...
- 支持向量机(SVM)的推导(线性SVM、软间隔SVM、Kernel Trick)
线性可分支持向量机 给定线性可分的训练数据集,通过间隔最大化或等价地求解相应的凸二次规划问题学习到的分离超平面为 \[w^{\ast }x+b^{\ast }=0\] 以及相应的决策函数 \[f\le ...
- DDD初学指南
去年就打算总结一下,结果新换的工作特别忙,就迟迟没有认真动手.主要内容是很多初学DDD甚至于学习很长时间的同学没有弄明白DDD是什么,适合什么情况.这世界上没有银弹,抛开了适合的场景孤立的去研究DDD ...
- gulp初学
原文地址:gulp初学 至于gulp与grunt的区别,用过的人都略知一二,总的来说就是2点: 1.gulp的gulpfile.js 配置简单而且更容易阅读和维护.之所以如此,是因为它们的工作方式不 ...
- 初学seaJs模块化开发,利用grunt打包,减少http请求
原文地址:初学seaJs模块化开发,利用grunt打包,减少http请求 未压缩合并的演示地址:demo2 学习seaJs的模块化开发,适合对seajs基础有所了解的同学看,目录结构 js — —di ...
- EasyPR--开发详解(6)SVM开发详解
在前面的几篇文章中,我们介绍了EasyPR中车牌定位模块的相关内容.本文开始分析车牌定位模块后续步骤的车牌判断模块.车牌判断模块是EasyPR中的基于机器学习模型的一个模块,这个模型就是作者前文中从机 ...
- 8.SVM用于多分类
从前面SVM学习中可以看出来,SVM是一种典型的两类分类器.而现实中要解决的问题,往往是多类的问题.如何由两类分类器得到多类分类器,就是一个值得研究的问题. 以文本分类为例,现成的方法有很多,其中一劳 ...
- 5.SVM核函数
核函数(Kernels) 定义 1.1 (核或正定核) 设是中的一个子集,称定义在上的函数是核函数,如果存在一个从到Hilbert空间的映射 使得对任意的,都成立.其中表示Hilbert空间中的内积. ...
随机推荐
- spring_150905_sqlmapclient
添加ibatis相关的jar包! 实体类: package com.spring.model; public class DogPet { private int id; private String ...
- XML DOM(Document Object Model)
1.XML DOM 是用于获取.更改.添加或删除 XML 元素的标准.2.节点(XML 文档中的每个成分都是一个节点): 整个文档是一个文档节点: 每个XML元素是一个元素 ...
- es6导入导出模块
在JavaScript ES6中,export与export default均可用于导出常量.函数.文件.模块等,你可以在其它文件或模块中通过import+(常量 | 函数 | 文件 | 模块)名的方 ...
- 2018IEEE冬季生物识别学校 5天课程
里边有很多介绍及相关报告的PPT https://www.comp.hkbu.edu.hk/wsb18/index.php https://www.comp.hkbu.edu.hk/wsb18/pro ...
- shell sh bash 概念
在shell脚本的开头往往有一句话来定义使用哪种sh解释器来解释脚本.目前研发送测的shell脚本中主要有以下两种方式:(1) #!/bin/sh(2) #!/bin/bash以上两种方式有什么区别? ...
- 趴一趴京东的Ajax动态价格页面
AJAX,异步加载技术!!! 之前在网上看过很多朋友有一种疑问,为什么在看京东网页的源代码里面看不到价格或则折扣一类的数据,而在网页上正常显示却能看到?...之前我也没有想到是AJAX,因为我写写爬虫 ...
- luogu P1809 过河问题_NOI导刊2011提高(01)
题目描述 有一个大晴天,Oliver与同学们一共N人出游,他们走到一条河的东岸边,想要过河到西岸.而东岸边有一条小船. 船太小了,一次只能乘坐两人.每个人都有一个渡河时间T,船划到对岸的时间等于船上渡 ...
- UOJ #30. [CF Round #278] Tourists
UOJ #30. [CF Round #278] Tourists 题目大意 : 有一张 \(n\) 个点, \(m\) 条边的无向图,每一个点有一个点权 \(a_i\) ,你需要支持两种操作,第一种 ...
- [CodeForces-513E2]Subarray Cuts
题目大意: 给你一个数列,从中选出k个互不重叠的非空子串,定义s[i]为第i个子串的和,求|s[1]-s[2]|+|s[2]-s[3]|+...+|s[k-1]-s[k]|的最大值. 思路: 考虑将绝 ...
- bzoj 2733: [HNOI2012]永无乡 -- 线段树
2733: [HNOI2012]永无乡 Time Limit: 10 Sec Memory Limit: 128 MB Description 永无乡包含 n 座岛,编号从 1 到 n,每座岛都有自 ...