zwx9955的个人博客分享 http://blog.sciencenet.cn/u/zwx9955

博文

支持向量机原理解释与公式整理

已有 1418 次阅读 2023-2-17 10:12 |个人分类:机器学习|系统分类:科研笔记

学习视频链接:

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,X2T   X1X2是对x的描述特征

更多的时候,我们对向量的描述(特征)远不止2个,可能很多个。

y是标签,只能等于+1或者-1

如果是一共分为2类的话,0112起到的作用也一样

 

② 线性模型(就是要找的直线、平面、超平面):(ω,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+b0;若若yi-1,则ωT xi+b0

 

事实Ⅰ:ω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)是一个高维矢量

 

例子:异或问题

x100TC1 x310TC2

X211TC1 x401TC2

在二维平面上难以用一条直线划分出来

但是用一个高维映射(比如说五维的Φ(x))

再越高维的空间里,就越有可能求解到能划分出C1C2的一条直线(求解ω,b

 

那么如何选取这个Φ呢?

答:Φ(x)是无限维。

SVM的精髓:(核函数)

可以不知道无限维映射Φ(x)的显性表达式,只要知道一个核函数

Kx1x2=Φ(x1TΦ(x2  (两个无限维向量的内积得到一个数)

yi(ωT xi+b)≥1-这个优化式仍然可解。

核函数:

linear线性内核:K(x,y)=xTy

ploy多项式核:K(x,y)=xTy+1d

rbf高斯径向基函数核K(x,y)=e||x-y||2/σ2

Tanh核:

K(x,y)=tanhβxTy+b)  tanhx=ex-e-x/ex+e-x

 

多项式核和高斯核比较好用,相比较之下高斯核更好用一点。

 

Kx1x2)能写成Φ(x1TΦ(x2)需要(充要)条件:

1Kx1x2=Kx2x1-----交换性

2)任意CiXi 有:CjKxixj0 ------半正定性


三、优化理论中的原问题和对偶问题

原问题:

最小化:fi(ω)

限制条件:giω0i=1~K

hiω)≥0i=1~M

对偶问题:

L(ω,α,β)=f(ω)+(ω)+(ω)

最大化:θαβ=inf(所有ω){L(ω,α,β)}

限制条件:αi0i=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-yib00

解这样的一个凸优化问题叫做SMO算法(换算过来的方法我听不懂)

image.png 

image.png 

只出现了K没有Φ

因为有乱码,所以我传了一个word,仅供学习。



https://blog.sciencenet.cn/blog-3538417-1376626.html

上一篇:python绘制三元相图
下一篇:VirtualBox上搭建rockylinux安装cp2k及编译v1-20230301
收藏 IP: 183.207.4.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-11-23 07:22

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部