Transcript SVM_简介
SVM 简介 引出libsvm中 c g 参数 by MYZ SVM的主要思想 SVM的主要思想可以概括为: 它是针对线性可分情况进行分析,对于线性不可分的情况,通 过使用非线性映射算法将低维输入空间线性不可分的样本转化 为高维特征空间使其线性可分 , 从而使得高维特征空间采用线 性算法对样本的非线性特征进行线性分析成为可能; 简单说就是:升维和线性化 如果一个线性函数能够将样本完全正确的分开,就 称这些数据是线性可分的,否则称为非线性可分的。 g(x)=wx+b 式中的x不是二维坐标系中 的横轴,而是样本的向量 表示 量化指标--分类间隔 • 每一个样本由一个向量和一个标记(标示出这 个样本属于哪个类别)组成 • Di=(xi,yi) • 定义一个样本点到某个超平面的间隔 i yi (wxi b) 只是个定义而已 归一化 w b i yi ( xi ) || w || || w || 1 yi ( wxi b) || w || 1 | g ( xi ) | || w || ||w||叫做向量w的范数,范数是对向量 长度的一种度量。我们常说的向量长 度其实指的是它的2-范数,范数最一 般的表示形式为p-范数,可以写成如 下表达式 向量w=(w1, w2, w3,…… wn) ||W ||p p w1p w2p wnp 几何间隔 当用归一化的w和b代替原值 之后的间隔,叫做几何间隔 H是分类面,而H1和H2是平行于H, 且过离H最近的两类样本的直线, H1与H,H2与H之间的距离就是几 何间隔 误分次数 ( 2R )2 R是所有样本中向量长度最长的值 问题转化 几何 1 | g ( xi ) | || w || 固定间隔g(例如固定为1),寻找最小的||w|| 求一个函数的最小值(或最大值)的问题都可 以称为寻优问题(也叫作一个规划问题) min || w || → 1 min || w ||2 2 发现问题----引入约束条件 • ||w||=0时无法分类 约束条件: 样本点必须在H1或H2的某一侧, 而不能跑到两者中间 yi (wxi b) 1, (i 1,2,n) __(n为样本总数) yi (wxi b) 1 0, (i 1,2,n) __(n为样本总数) 问题的总结 • 最优分类面转化为如下约束优化问题 1 min || w ||2 2 subject to yi (wxi b) 1 0, (i 1,2,n) _(n为样本数) 似乎到目前为止没有出现c 和 g 只带等式约束的问题可以转化为无约束的问题而得以求解, 那么可不可以把带不等式约束的问题向只带等式约束的问题 转化 样本确定了w,用数学的语言描述,就是w可以表示为样本的 某种组合: w (1 y1x1,2 y2 x2 , n yn xn ) w 1 y1 x1 2 y2 x2 n xn yn α是一个一个的数,xi是样本点,y是样本的类别 g(x)=wx+b g(x)=<w,x>+b n w ( i yi xi ) i 1 n g ( x) w, x b ( i yi xi ), x b i 1 引出核函数 • 当有一个样本x要分类时,把x代入下式 n g ( x) i yi xi , x b i 1 核函数干嘛用的? 把低维向量映射到高维向量的函数 g ( x) c0 c1x c2 x2 y1 1 y y 2 x y3 x 2 不是一个线性函数 a1 c0 a a2 c1 a3 c2 g(x)=f(y)=<a,y> 解决线性不可分问题的基本思路——向高维空间 转化,使其变得线性可分 假设有一个1000维的x but 这时 线性不可分 有一个2000维的线性函数 f(x')=<w' , x'>+b 现在要做的就是把x 变换成x' , 把w变换成w’ 核函数的作用 • • 我们幻想,是否能有这样一种函数 K(w,x),他接受低维空间的输入值, 却能算出高维空间的内积值<w’,x’> 如果有这样一个函数,只需输入x g(x)=K(w,x)+b f(x')=<w' , x'>+b 这两个函数计算的结果完全一样 核函数的基本作用就是接受两个低维空间里的向 量,能够计算出经过某个变换后在高维空间里的 向量内积值 n g ( x) i yi K ( xi , x) b i 1 还是没有c 和 g !!!! 核函数的种类: 线性核函数: 多项式核函数: k ( x, y) xT y c k ( x, y) (xT y c)d sigmoid核函数: k ( x, y) tanh(s( x y) c) 径向基核函数: || x y ||2 k ( x, y ) exp( ) 2 2 k ( x, y) exp( || x y ||2 ) g (gamma) c参数 硬间隔的分类法其结果容易受 少数点的控制 引入容错性,就给1这个硬性 的阈值加一个松弛变量 yi [(wxi ) b] 1 i i=1,2,…n (n 为样本数 量) 我们放弃了对这些点的精确分类,而这对我们的 分类器来说是种损失,如何来衡量损失??? 在最小目标||w||后加上 n 2 i i 1 把损失加入到目标函数里的时候,就需要一 个惩罚因子cost 完整的表达式 n 1 || w ||2 c i 2 i 1 yi [ w, xi b] 1 i i=1,2……n(n为样本数) n y K ( x , x) b 1 i 1 i i i i 至此参数 c , g 均已介绍完毕 by MYZ