个人主页:为梦而生~ 关注我一起学习吧!
专栏:机器学习 欢迎订阅!相对完整的机器学习基础教学!
⭐特别提醒:针对机器学习,特别开始专栏:机器学习python实战 欢迎订阅!本专栏针对机器学习基础专栏的理论知识,利用python代码进行实际展示,真正做到从基础到实战!
往期推荐:
【机器学习基础】机器学习入门(1)
【机器学习基础】机器学习入门(2)
【机器学习基础】机器学习的基本术语
【机器学习基础】机器学习的模型评估(评估方法及性能度量原理及主要公式)
【机器学习基础】一元线性回归(适合初学者的保姆级文章)
【机器学习基础】多元线性回归(适合初学者的保姆级文章)
【机器学习基础】对数几率回归(logistic回归)
【机器学习基础】正则化
【机器学习基础】决策树(Decision Tree)
【机器学习基础】K-Means聚类算法
【机器学习基础】DBSCAN
本期内容:支持向量机(Support Vector Machine,SVM)是一种按监督学习方式对数据进行二元分类的广义线性分类器。其决策边界是对学习样本求解的最大边距超平面。SVM使用铰链损失函数计算经验风险并在求解系统中加入了正则化项以优化结构风险,是一个具有稀疏性和稳健性的分类器。SVM可以通过核方法进行非线性分类,是常见的核学习方法之一。
任意超平面可以用下面这个线性方程来描述:
二维空间点 (, )到直线 + + = 0的距离公式是:
扩展到 维空间后,点 = (1, 2 … ) 到超平面 + = 0 的距离为
其中
如图所示,根据支持向量的定义我们知道,支持向量到超平面的距离为 ,其他点到超平面的距离大于 。
在支持向量机(SVM)中,拉格朗日乘子法主要用于解决约束优化问题。其基本思想是通过引入拉格朗日乘子,将含有n个变量和k个约束条件的约束优化问题转化为含有(n+k)个变量的无约束优化问题。
拉格朗日乘数背后的数学意义是约束方程梯度线性组合中每个向量的系数。具体来说,在SVM中,我们使用拉格朗日乘子法来解决优化问题。通过引入拉格朗日乘子,将原始问题转化为一个对偶问题,然后通过求解对偶问题得到原始问题的最优解。
得到最优解
解出后,代入超平面模型也就是:
以上为SVM对偶问题的对偶形式
最终模型:
KKT条件:
支持向量机解的稀疏性: 训练完成后, 大部分的训练样本都不需保留, 最终模型仅与支持向量有关
基本思路:不断执行如下两个步骤直至收敛
仅考虑 α i \alpha_i αi和 α j \alpha_j αj时, 对偶问题的约束变为
用一个变量表示另一个变量, 回代入对偶问题可得一个单变量的二次规划, 该问题具有闭式解.
偏移项 :通过支持向量来确定 b b b
答:将样本从原始空间映射到一个更高维的特征空间, 使得样本在这个特征空间内线性可分.
在低维空间计算获得高维空间的计算结果,满足高维,才能在高维下线性可分。 我们需要引入一个新的概念:核函数。它可以将样本从原始空间映射到一个更高维的特质空间中,使得样本在新的空间中线性可分。这样我们就可以使用原来的推导来进行计算,只是所有的推导是在新的空间,而不是在原来的空间中进行,即用核函数来替换当中的内积。
即通过一个非线性转换后的两个样本间的内积。具体地,(, )是一个核函数,或正定核,意味着存在一个从输入空间到特征空间的映射,对于任意空间输入的, 有:
设样本 x x x映射后的向量为 ϕ ( x ) \phi(x) ϕ(x), 划分超平面为
原始问题:
对偶问题:
预测:
基本想法:不显式地设计核映射, 而是设计核函数
Mercer定理(充分非必要):只要一个对称函数所对应的核矩阵半正定, 则它就能作为核函数来使用
现实中, 很难确定合适的核函数使得训练样本在特征空间中线性可分; 同时一个线性可分的结果也很难断定是否是有过拟合造成的.
引入”软间隔”的概念, 允许支持向量机在一些样本上不满足约束
基本想法:最大化间隔的同时, 让不满足约束的样本应尽可能少
其中 l 0 / 1 l_{0/1} l0/1是”0/1损失函数”
存在的问题:0/1损失函数非凸、非连续, 不易优化!
替代损失:
替代损失函数数学性质较好, 一般是0/1损失函数的上界
原始问题:
对偶问题:
根据KKT条件可推得最终模型仅与支持向量有关, 也即hinge损失函数依然保持了支持向量机解的稀疏性.
若数据线性不可分,则可以引入松弛变量 ≥ 0 ,使函数间隔加上松弛变量大于等于1 ,
则目标函数:
对偶问题:
为惩罚参数, 值越大 ,对分类的惩罚越大。跟线性可分求解的思路一致,同样这里先用拉格朗日乘子法得到拉格朗日函数,再求其对偶问题。
通过替换上面两个部分, 可以得到许多其他学习模型
模型特点: 允许模型输出和实际输出间存在 2 ϵ 2\epsilon 2ϵ的偏差
损失函数:
落入中间 2 ϵ 2\epsilon 2ϵ间隔带的样本不计算损失, 从而使得模型获得稀疏性.
原始问题:
对偶问题:
预测:
无论是支持向量机还是支持向量回归, 学得的模型总可以表示成核函数的线性组合
更一般的结论(表示定理): 对于任意单调增函数 Ω \Omega Ω和任意非负损失函数 l l l, 优化问题
的解总可以写为:
通过表示定理可以得到很多线性模型的”核化”版本
先将样本映射到高维特征空间, 然后在此特征空间中做线性判别分析
LIBSVM
LIBLINEAR
SVMlight、SVMperf、SVMstruct