导图社区 SVM
Svm(support Vector Mac)又称为支持向量机,是一种二分类的模型。当然如果进行修改之后也是可以用于多类别问题的分类。支持向量机可以分为线性核非线性两大类。其主要思想为找到空间中的一个更够将所有数据样本划开的超平面,并且使得本本集中所有数据这超平面的距离最短。
论文《Attention is all you need》细节的整理,包括transformer结构的详解,以及更细节的计算逻辑。
对于二类分类器/分类算法,评价指标主要有accuracy, [precision,recall,F-score,pr曲线],ROC-AUC曲线,gini系数。对于多类分类器/分类算法,评价指标主要有accuracy, [宏平均和微平均,F-score]。对于回归分析,主要有mse和r2/拟合优度。
最大熵模型(maximum entropy model, MaxEnt)也是很典型的分类算法了,它和逻辑回归类似,都是属于对数线性分类模型。在损失函数优化的过程中,使用了和支持向量机类似的凸优化技术。
社区模板帮助中心,点此进入>>
互联网9大思维
安全教育的重要性
组织架构-单商户商城webAPP 思维导图。
个人日常活动安排思维导图
域控上线
西游记主要人物性格分析
17种头脑风暴法
python思维导图
css
CSS
SVM
知乎博文: https://zhuanlan.zhihu.com/p/31886934
简介
二分类模型
特征空间上的,间隔最大分类器
能够使用核技巧,使其成为非线性分类器
函数间隔与几何间隔
分离超平面固定为wTx+b=0
函数间隔
通过观察wTx+b和y是否同号,我们判断分类是否正确
并不能正常反应点到超平面的距离
几何间隔
线性可分SVM
https://www.cnblogs.com/pinard/p/6097604.html
推到过程
SVM的模型是让所有点到超平面的距离大于一定的距离
般我们都取函数间隔γ′为1
这样我们的优化函数定义为
目标函数是凸函数
约束条件不等式是仿射的
极小化时对应的α向量就可以求出w和b了
具体怎么极小化上式得到对应的α,一般需要用到SMO算法
假设通过SMO算法,我们得到了对应的α的值α∗
https://zhuanlan.zhihu.com/p/31886934
算法流程
线性分类SVM的软间隔最大化
https://www.cnblogs.com/pinard/p/6100722.html
线性分类SVM面临的问题
混入了异常点导致线性不可分
没有这么糟糕到不可分,但是会严重影响我们模型的泛化预测效果
软间隔最大化
SVM对训练集里面的每个样本(xi,yi)引入了一个松弛变量ξi≥0,使函数间隔加上松弛变量大于等于1
样本到超平面的函数距离的要求放松了
软间隔最大化的SVM学习条件如下
C>0为惩罚参数,可以理解为我们一般回归和分类问题正则化时候的参数
C 越大,对误分类的惩罚越大
软间隔最大化目标函数的优化
将软间隔最大化的约束问题用拉格朗日函数转化为无约束问题如下
消除w和b
这个式子和我们上一篇线性可分SVM的一样。唯一不一样的是约束条件。现在我们看看我们的优化目标的数学形式
对于C−αi−μi=0,αi≥0,μi≥0这3个式子,我们可以消去μi,只留下αi
线性不可分支持向量机与核函数
https://www.cnblogs.com/pinard/p/6103615.html
回顾多项式回归
核函数的引入
线性不可分的低维特征数据,我们可以将其映射到高维,就能线性可分
出现的问题
假如是一个2维特征的数据,我们可以将其映射到5维来做特征的内积,如果原始空间是三维,可以映射到到19维空间,似乎还可以处理。但是如果我们的低维特征是100个维度,1000个维度呢?那么我们要将其映射到超级高的维度来计算特征的内积。这时候映射成的高维维度是爆炸性增长的,这个计算量实在是太大了,而且如果遇到无穷维的情况,就根本无从计算了。
核函数
一般我们说的核函数都是正定核函数
函数要想成为正定核函数,必须满足他里面任何点的集合形成的Gram矩阵是半正定的
常见核函数
线性核函数
就是我们前两篇的线性可分SVM
多项式核函数
γ,r,d都需要自己调参定义
高斯核函数
也称为径向基核函数
γ大于0,需要自己调参定义
优点
Sigmoid核函数
γ,r都需要自己调参定义
核函数的选择
https://zhuanlan.zhihu.com/p/72320216
如果 Feature 的数量很大,跟样本数量差不多
用 LR 或者是 Linear Kernel 的 SVM
如果 Feature 的数量比较小,样本数量一般
选用 SVM+Gaussian Kernel
如果 Feature 的数量比较小,而样本数量很多
需要手工添加一些 feature 变成第一种情况
SMO算法
https://www.cnblogs.com/pinard/p/6111471.html
SVM优化目标函数
基本思想
m个变量组成的向量α需要在目标函数极小化的时候求出,直接优化时很难的
SMO算法则采用了一种启发式的方法,它每次只优化两个变量,将其他的变量都视为常数
SMO算法将一个复杂的优化算法转化为一个比较简单的两变量优化问题
两个变量的选择
第一个变量
SMO算法称选择第一个变量为外层循环,这个变量需要选择在训练集中违反KKT条件最严重的样本点
第二个变量
第二个变量α2的选择标准是让|E1−E2|有足够大的变
线性支持回归
https://www.cnblogs.com/pinard/p/6113120.html
特征数量大于样本数量时同样有效
在决策函数中只使用了部分样本,内存占用更少
可以指定不同的核函数,并可以自定义核函数
样本量不是海量数据的时候,分类准确率高,泛化能力强
QA
svm为什么引入对偶
对偶问题将原始问题中的约束转为了对偶问题中的等式约束
方便核函数的引入
改变了问题的复杂度
由求特征向量w转化为求比例系数a
求解的复杂度与样本的维度有关,即w的维度
在对偶问题下,只与样本数量有关