||
学习视频链接:
https://www.bilibili.com/video/BV1VS4y1J7FX?p=1&vd_source=3c97865cc5d29ca21189d97d87c57506
所有的机器学习其实都是①限定一个方程(模型)②在这些模型里留出一些待定的参数③用这些训练的样本,再用算法去确定待定的参数;当确定了取值之后,整个体系完成。
支持向量机是最大化间隔(最大margin)的分类算法
支持向量机作用:分类、回归、异常值检测
回归是尽快能多的让实例位于街道上
SVM适用于中小数据集的分类
一 对于线性可分数据集:
优化问题的实质是一个凸优化问题/二次规划问题:
最小化:1/2||ω||2
限制条件:yi(ωT x+b)≥1
这样的优化问题:要么无解要么只有一个极值
具体解释:
① 定义数据及标签(x1,y1),(x2,y2),(x3,y3)...(xN,yN)
x是向量,如果是两维的,那就是(X1,X2)T , X1,X2是对x的描述特征
更多的时候,我们对向量的描述(特征)远不止2个,可能很多个。
y是标签,只能等于+1或者-1
如果是一共分为2类的话,0和1,1和2起到的作用也一样
② 线性模型(就是要找的直线、平面、超平面):(ω,b)
描述超平面的线性方程:ωT x+b=0
也可以写为yi(ωT x+b)≥0 (*)
ω也是一个向量,维度和x一样,而b是一个常数
相当于通过样本:(x1,y1),(x2,y2),(x3,y3)...(xN,yN)来算出(ω,b)
③ 线性可分的定义:一个训练集线性可分是指:
{(xi,yi)}i=1~N
存在一个ω和b,使得对任意的i=1~N有
若yi=+1,则ωT xi+b≥0;若若yi=-1,则ωT xi+b<0
事实Ⅰ:ωT x+b=0 与aωT x+ab=0是同一个平面
即(ω,b)满足*式的话则(aω,ab)也满足*式。
事实Ⅱ:由点到平面的距离公式可得:
向量x0到超平面ωT x+b=0的距离d=|ωT x0+b|/||ω||
即:可以用a去缩放(ω,b)—>(aω,ab)
最终使得在支持向量X0上有:|ωT x0+b|=1
此时支持向量与平面的距离为:1/||ω||
二 SVM如何处理非线性问题
① 最小化:1/2||ω||2+C,叫做松弛变量(同ω、b为待求量)
限制条件:yi(ωT xi+b)≥1-且≥0
C为正则项,C为事先设定的参数,用来平衡前后两项权重。
② 定义一个高维映射Φ(x)
x--->Φ(x);
x是一个低维矢量,Φ(x)是一个高维矢量
例子:异或问题
x1(0,0)T∈C1 ,x3(1,0)T∈C2
X2(1,1)T∈C1 ,x4(0,1)T∈C2
在二维平面上难以用一条直线划分出来
但是用一个高维映射(比如说五维的Φ(x))
再越高维的空间里,就越有可能求解到能划分出C1、C2的一条直线(求解ω,b)
那么如何选取这个Φ呢?
答:Φ(x)是无限维。
SVM的精髓:(核函数)
可以不知道无限维映射Φ(x)的显性表达式,只要知道一个核函数
K(x1,x2)=Φ(x1)TΦ(x2) (两个无限维向量的内积得到一个数)
则yi(ωT xi+b)≥1-这个优化式仍然可解。
核函数:
linear线性内核:K(x,y)=xTy
ploy多项式核:K(x,y)=(xTy+1)d
rbf高斯径向基函数核K(x,y)=e||x-y||2/σ2
Tanh核:
K(x,y)=tanh(βxTy+b) tanh(x)=ex-e-x/ex+e-x
多项式核和高斯核比较好用,相比较之下高斯核更好用一点。
K(x1,x2)能写成Φ(x1)TΦ(x2)需要(充要)条件:
1)K(x1,x2)=K(x2,x1)-----交换性
2)任意Ci,Xi 有:CjK(xi,xj)≥0 ------半正定性
三、优化理论中的原问题和对偶问题
原问题:
最小化:fi(ω)
限制条件:gi(ω)≤0;i=1~K
hi(ω)≥0;i=1~M
对偶问题:
L(ω,α,β)=f(ω)+(ω)+(ω)
最大化:θ(α,β)=inf(所有ω){L(ω,α,β)}
限制条件:αi≥0;i=1~K
定理:如果ω* 是原问题的解,而α*,β* 是对偶问题的解。则有:
F(ω* )≥θ(α*,β* )
定义:G=F(ω* )-θ(α*,β*)≥0
G叫做原问题与对偶问题的间距
对于某些特定的优化问题,可以证明G=0
强对偶定理(KKT条件):
若f(ω)为凸函数,g(ω),h(ω)都是线性的(形如ax+b)则G=0
即:F(ω* )= θ(α*,β* )
对任意i属于1~K
或者αi=0
或者g*i(ω)=0
下面寻思把原问题化成对偶问题,用求解对偶问题的方式来求解原问题的解。
把原问题化成对偶问题:
最小化:1/2||ω||2-C
限制条件:1+-yiωTΦ(xi)-yib≤0且≤0
解这样的一个凸优化问题叫做SMO算法(换算过来的方法我听不懂)
只出现了K没有Φ
因为有乱码,所以我传了一个word,仅供学习。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-23 07:22
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社