SVM

SVM

一、SVM:找最优分界线

1.1 线性理想SVM  == max margin classilermargin:d1+d2 = 2/w越大越好

 

 

1.2 数学模型

 

||w||是w的转置和w相乘,他们的求和实质是不一样的,求和的下标i,j不同

 

 

 

 

1.3 对偶及其KKT条件

<x^(i),x>点击是全数据集,那计算量是不是很大呢?但是KKT条件,也就是在支持向量上的a才不等于,其余a等于0

 

 

 

 

二、SVM软间隔异常值处理

2.1 处理1:放松限制(处理线性不可分)

KKT条件:

 

 

2.1.1 另一种理解方式:Hinge Loss(合页损失)

 

 

 

 

2.2 处理2:不放松限制(bad)

三、kernel trick的SVM(线性不可分)

3.1 为什么使用核函数:便于处理线性不可分

3.2 使用核函数代替点积,将特征映射到更高的维度(常用)

满足kernel的条件:对称矩阵、半正定矩阵

常见的kernel:https://blog.csdn.net/qq_27231343/article/details/51817866

3.3 SVM使用核函数

SVM之所以可以使用kernel trick,是因为a_i.a_j使用了核函数以后不变  

 

 

 

 

存在问题:增加了计算量,计算量和数据量与每一条数据的维度成正相关;没办法增加到无限维

四、SMO:求解SVM:二次规划(quadratic programming),在多项式时间内求得最优解

 

4.1 坐标轮换法(coordinate descent):只允许一个变量变化,其余变量保持不变

 

 

必须选用2个参数,否则回破坏KKT条件

 

 

 

 

http://cs229.stanford.edu/materials/smo.pdf

4.2扩展SVM到支持多分类

 

 

1.1.1. OVR(one versus rest)

1.1.2. OVO(one versus one)

 

 

posted @ 2020-11-20 17:53  TOWERB  阅读(199)  评论(1编辑  收藏  举报