机器学习(六)——SVM(4)、学习理论
http://antkillerfarm.github.io/
序列最小优化方法(续)
同理:
L-y^{(2)}Lv_2=Lf_2
f_2=y^{(2)}(b-E_2)+s\alpha_1K_{12}+\alpha_2K_{22}
由《机器学习(五)》中的公式5可得:
W_L=L_1f_1+Lf_2-\frac{1}{2}L_1^2K_{11}-\frac{1}{2}L^2K_{22}-sLL_1K_{12}
αnew2=H\alpha_2^{new}=H的情况,同理可得:
\alpha_1^{new}=H_1=\alpha_1+s(\alpha_2-H)
W_H=H_1f_1+Hf_2-\frac{1}{2}H_1^2K_{11}-\frac{1}{2}H^2K_{22}-sHH_1K_{12}
根据WHW_H和WLW_L哪个是极值,可以反过来确定αnew2=L\alpha_2^{new}=L,还是,还是αnew2=H\alpha_2^{new}=H。
至此,迭代关系式除了b的推导式以外,都已经推出。
由《机器学习(五)》中的公式8可得:
u_1^{new}-b^{new}-y^{(1)}\alpha_1^{new}K_{11}-y^{(2)}\alpha_2^{new}K_{12}=u_1-b-y^{(1)}\alpha_1K_{11}-y^{(2)}\alpha_2K_{12}
迭代的目的是使预测更为准确,因此设置unew1=y(1)u_1^{new}=y^{(1)}是很直观的做法,因此:
\begin{align} -b^{new}&=u_1-u_1^{new}+y^{(1)}(\alpha_1^{new}-\alpha_1)K_{11}+y^{(2)}(\alpha_2^{new}-\alpha_2)K_{12} \\&=(u_1-y^{(1)})+y^{(1)}(\alpha_1^{new}-\alpha_1)K_{11}+y^{(2)}(\alpha_2^{new}-\alpha_2)K_{12} \\&=E_1+y^{(1)}(\alpha_1^{new}-\alpha_1)K_{11}+y^{(2)}(\alpha_2^{new}-\alpha_2)K_{12} \end{align}
上式是根据u1u_1得到的bnewb^{new},我们将之记作b1b_1。
同理,可得:
-b_2=E_2+y^{(1)}(\alpha_1^{new}-\alpha_1)K_{12}+y^{(2)}(\alpha_2^{new}-\alpha_2)K_{22}
如果αnew1\alpha_1^{new}在边界内,则bnew=b1b^{new}=b_1;如果αnew2\alpha_2^{new}在边界内,则bnew=b2b^{new}=b_2。
如果αnew1\alpha_1^{new}和αnew2\alpha_2^{new}都在边界内,则bnew=b1=b2b^{new}=b_1=b_2。
如果αnew1\alpha_1^{new}和和αnew2\alpha_2^{new}都在边界上,则b1b_1和b2b_2之间的任意值都满足KKT条件,一般取bnew=b1+b22b^{new}=\frac{b_1+b_2}{2}。
SMO算法在线性SVM时的简化
由《机器学习(四)》一节的公式3,可得:
w^{new}-y^{(1)}\alpha_1^{new}x^{(1)}-y^{(2)}\alpha_2^{new}x^{(2)}=w-y^{(1)}\alpha_1x^{(1)}-y^{(2)}\alpha_2x^{(2)}
w^{new}=w+y^{(1)}(\alpha_1^{new}-\alpha_1)x^{(1)}+y^{(2)}(\alpha_2^{new}-\alpha_2)x^{(2)}
需要注意的是,虽然我们在之前的讨论中,使用KijK_{ij}代替⟨x(i),x(j)⟩\langle x^{(i)},x^{(j)}\rangle进行扩展,然而两者只有在线性的情况下,才是等价的,即ϕ(x)=x\phi(x)=x。
K函数最大的作用不在于计算线性SVM,而在于计算非线性的SVM。
SMO中拉格朗日乘子的启发式选择方法
所谓的启发式选择方法主要思想是每次选择拉格朗日乘子的时候,优先选择0<αi<C0的αi\alpha_i作优化,因为边界上的αi\alpha_i在迭代之后通常不会更改。
给定初始值αi=0\alpha_i=0后,先对所有样例进行循环,循环中碰到违背KKT条件的(不管边界上还是边界内)都进行迭代更新。等这轮过后,如果没有收敛,第二轮就只针对0<αi<C0的样例进行迭代更新。
软边距SVM问题的KKT条件为:
\alpha_i=0 \Leftrightarrow y^{(i)}u_i\ge 1
0
\alpha_i=C \Leftrightarrow y^{(i)}u_i\le 1
在第一个乘子选择后,第二个乘子也使用启发式方法选择, 第二个乘子的迭代步长大致正比于∣E1−E2∣\lvert E_1-E_2\rvert,选择能使∣E1−E2∣\lvert E_1-E_2\rvert最大的α2\alpha_2即可。
最后的收敛条件是在界内(0<αi<C0)的样例都能够遵循KKT条件,且其对应的αi\alpha_i只在极小的范围内变动。
学习理论
偏差和方差
回到之前的欠拟合与过拟合的例子。我们把预测值和实际值之间的误差称为泛化误差。注意:泛化误差不是拟合模型和训练样本值之间的差,后者通常被称作模型误差。
偏差(bias)和方差(variance)都是泛化误差(generalization error)的组成部分。但遗憾的是,这两个名词至今也没有公认的严格定义,这里只做定性的描述,即:欠拟合的误差主要是偏差,而过拟合的误差主要是方差。
学习理论的预备知识
学习理论(learning theory)主要解决三大问题:
1.偏差和方差的权衡。这实际上是模型选择的问题。如何才能自动确定模型的阶数呢?
2.如何关联模型误差和泛化误差?
3.如何确定我们的学习算法是有效的?
首先介绍两个定理:
The union bound定理:
如果A1,…,AkA_1,\dots,A_k是k个不同的事件,则:
P(A_1\cup \dots\cup A_k)\le P(A_1)+\dots+P(A_k)
Hoeffding不等式:
Z1,…,ZmZ_1,\dots,Z_m是m个独立且具有相同分布的随机变量(independent and identically distributed,IID)。如果它们满足Bernoulli(ϕ\phi)分布,即P(Zi=1)=ϕ,P(Zi=0)=1−ϕP(Z_i=1)=\phi,P(Z_i=0)=1-\phi,则:
P(\lvert\phi-\hat\phi\rvert>\gamma)\le 2\exp(-2\gamma^2m)
其中,ϕ^=(1/m)∑mi=1Zi\hat\phi=(1/m)\sum_{i=1}^mZ_i,γ\gamma是大于0的任意常数。
这个不等式是Wassily Hoeffding于1963年证明的。它表明样本数量越大,则随机变量的平均值越接近其数学期望值。
注:Wassily Hoeffding,1914~1991,芬兰统计学家,柏林大学博士,无偏统计学(U-statistics)创始人。
这个不等式在统计学领域也叫做Chernoff bound,但实际上是Herman Chernoff的朋友Herman Rubin发现的。他们的关系有点像苹果公司的那两个Steve,都是统计学领域的巨擘。
注:Herman Chernoff,1923年生,美国数学家、物理学家,布朗大学博士,先后执教于MIT和哈佛。
Herman Rubin,1926年生,美国数学家,21岁获得芝加哥大学的博士学位。现为普渡大学教授。
Herman Chernoff写过一篇文章回忆他和Herman Rubin的友谊,其中提到后者IQ 180,比他牛多了。其实,Herman Chernoff 24岁获得博士学位,也是妥妥的学霸级人物。
以下假定y的取值为0或1,则:
\hat\varepsilon(h)=\frac{1}{m}\sum_{i=1}^m1\{h(x^{(i)})\neq y^{(i)}\}
ε^(h)\hat\varepsilon(h)被称作训练误差(training error),也叫做经验风险(empirical risk)或经验误差(empirical error),它表征的是在训练样本集上,预测函数误分类的比率。
\varepsilon(h)=P^{(x,y)~\mathcal{D}}(h(x)\neq y)
ε(h)\varepsilon(h)表示泛化误差,(x,y)(x,y)表示被预测的样本,D\mathcal{D}表示样本所遵循的概率分布。
注意:ε^(h)\hat\varepsilon(h)和ε(h)\varepsilon(h)针对的样本集是不同的,后面定义的变量h和h^\hat h也遵循相同的约定。
这里我们假设:训练数据和预测数据都具有相同的概率分布D\mathcal{D}。这个假设是PAC理论的假设之一。
PAC(Probably approximately correct)理论是Leslie Valiant于1984年提出的。这里的大部分讨论都和PAC有关。
注:Leslie Valiant,1949年生,英国计算机科学家,华威大学博士。哈佛大学教授,英国皇家学会会员,图灵奖获得者(2010)。
对于线性分类hθ(x)=1{θTx≥0}h_\theta(x)=1\{\theta^Tx\ge 0\}来说,寻找合适的参数θ\theta,还有另一种方法,即最小化训练误差,并令:
\hat\theta=\arg\min_\theta\hat\varepsilon(h_\theta)
我们将这个过程称为经验风险最小化(empirical risk minimization,ERM)。其最终的预测函数为h^=hθ^\hat h=h_{\hat\theta}。
ERM是一类基本的学习算法,也是本节关注的焦点。
我们定义预测函数类(hypothesis class )H\mathcal{H},用以表示解决某类学习问题的所有可能的分类器的集合。(实际上也就是参数θ\theta所有可能取值的集合。)则ERM算法可表示为:
\hat h=\arg\min_{h\in \mathcal{H}}\hat\varepsilon(h)
H\mathcal{H}为有限集的情况
根据之前的讨论,我们做如下定义:
Z=1\{h_i(x)\neq y\}
Z_j=1\{h_i(x^{(j)})\neq y^{(j)}\}
\hat\varepsilon(h_i)=\frac{1}{m}\sum_{j=1}^mZ_j
其中,hi∈Hh_i\in \mathcal{H}。
由Hoeffding不等式可知:
P(\lvert\varepsilon(h_i)-\hat\varepsilon(h_i)\rvert>\gamma)\le 2\exp(-2\gamma^2m)
这个公式表明:对于特定的hih_i,在m很大的情况下,训练误差有很大的概率接近于泛化误差。
如果我们用AiA_i表示事件∣ε(hi)−ε^(hi)∣>γ\lvert\varepsilon(h_i)-\hat\varepsilon(h_i)\rvert>\gamma,则上式可改为P(Ai)≤2exp(−2γ2m)P(A_i)\le 2\exp(-2\gamma^2m)。
P(\exists h\in\mathcal{H}.\lvert\varepsilon(h_i)-\hat\varepsilon(h_i)\rvert>\gamma)=P(A_1\cup \dots\cup A_k)
\le \sum_{i=1}^kP(A_i)\le \sum_{i=1}^k2\exp(-2\gamma^2m)=2k\exp(-2\gamma^2m)
\begin{align} &1-P(\exists h\in\mathcal{H}.\lvert\varepsilon(h_i)-\hat\varepsilon(h_i)\rvert>\gamma)=P(\lnot\exists h\in\mathcal{H}.\lvert\varepsilon(h_i)-\hat\varepsilon(h_i)\rvert>\gamma) \\&=P(\forall h\in\mathcal{H}.\lvert\varepsilon(h_i)-\hat\varepsilon(h_i)\rvert\le\gamma)\ge 1-2k\exp(-2\gamma^2m) \end{align}
上面的结果表明,对于所有的h∈Hh\in \mathcal{H},实际上也有一个收敛性质。这个性质被称为一致收敛(uniform convergence)。
上式变形可得:
m\ge \frac{1}{2\gamma^2}\log\frac{2k}{\delta}
其中,δ=2kexp(−2γ2m)\delta=2k\exp(-2\gamma^2m)。
上式表明,在固定γ\gamma和δ\delta的情况下,至少需要多少训练样本,才能保证对于所有的h∈Hh\in \mathcal{H},P(∣ε(hi)−ε^(hi)∣≤γ)P(\lvert\varepsilon(h_i)-\hat\varepsilon(h_i)\rvert\le \gamma)至少为1−δ1-\delta。
这里的m也被称为算法的样本复杂度(sample complexity),它表征达到一定性能所需要的训练样本的数量。
同样的,我们固定m和δ\delta,可得:
\lvert\varepsilon(h)-\hat\varepsilon(h)\rvert\le \sqrt{\frac{1}{2m}\log\frac{2k}{\delta}}
如果我们定义h∗=argminh∈Hε(h)h^*=\arg\min_{h\in \mathcal{H}}\varepsilon(h),则根据一致收敛性质∣ε(hi)−ε^(hi)∣≤γ\lvert\varepsilon(h_i)-\hat\varepsilon(h_i)\rvert\le \gamma可得:
\varepsilon(\hat h)\le \hat\varepsilon(\hat h)+\gamma
因为h^\hat h已经是ε^(h)\hat \varepsilon(h)中最小的一个,因此ε^(h^)≤ε^(h)\hat\varepsilon(\hat h)\le \hat\varepsilon(h)对所有都是成立的,其中当然包括h∗h^*,即ε^(h^)≤ε^(h∗)\hat\varepsilon(\hat h)\le \hat\varepsilon(h^*)。因此,上式可改为:
\varepsilon(\hat h)\le \hat\varepsilon(h^*)+\gamma
根据一致收敛性质,我们还可以得出ε^(h∗)≤ε(h∗)+γ \hat\varepsilon(h^*)\le \varepsilon(h^*)+\gamma,因此,上式继续变形为:
\varepsilon(\hat h)\le \varepsilon(h^*)+2\gamma
这个公式表明,作为ERM结果的h^\hat h,比最好的h,至多只差2γ2\gamma。
我们将之前的结果合到一起,可得如下定理:
令∣H∣=k\lvert\mathcal{H}\rvert=k,并固定m,δm,\delta的取值,且一致收敛的概率至少为1−δ1-\delta,则:
\varepsilon(\hat h)\le \left(\min_{h\in \mathcal{H}}\varepsilon(h)\right)+2\sqrt{\frac{1}{2m}\log\frac{2k}{\delta}}
假设我们需要从预测函数类H\mathcal{H}切换到一个更大的预测函数类H′⊇H\mathcal{H'}\supseteq\mathcal{H},则上面公式的第一项只会变得更小,也就是说偏差会变小,但由于k的增加,第二项会变大,也就是方差会变大。
同理,可得以下针对m的定理:
令∣H∣=k\lvert\mathcal{H}\rvert=k,并固定δ,γ\delta,\gamma的取值,为了保证ε(h^)≤(minh∈Hε(h))+2γ\varepsilon(\hat h)\le \left(\min_{h\in \mathcal{H}}\varepsilon(h)\right)+2\gamma的概率至少为1−δ1-\delta,则:
m\ge \frac{1}{2\gamma^2}\log\frac{2k}{\delta}=O\left(\frac{1}{\gamma^2}\log\frac{k}{\delta}\right)
机器学习(六)——SVM(4)、学习理论相关推荐
- 【机器学习】SVM学习(三):线性分类器的求解
[机器学习]SVM学习(三):线性分类器的求解 2016-10-10 19:56 239人阅读 评论(0) 收藏 举报 本文章已收录于: 机器学习知识库 分类: 机器学习(37) 目录(?)[+ ...
- Scikit-Learn 机器学习笔记 -- SVM
Scikit-Learn 机器学习笔记 – SVM 参考文档: handson-ml import numpy as np# 加载鸢尾花数据集 def load_dataset():from skle ...
- 【机器学习】SVM理论与python实践系列
理论部分: <机器学习--支持向量机SVM之线性模型> <机器学习--支持向量机SVM之非线性模型低维到高维映射> <机器学习--支持向量机SVM之非线性模型原问题与对偶 ...
- 数据挖掘机器学习[六]---项目实战金融风控之贷款违约预测
相关文章: 特征工程详解及实战项目[参考] 数据挖掘---汽车车交易价格预测[一](测评指标:EDA) 数据挖掘机器学习---汽车交易价格预测详细版本[二]{EDA-数据探索性分析} 数据挖掘机器学习 ...
- 系统学习机器学习之SVM(三)--Liblinear,LibSVM使用整理,总结
1.Libsvm与Liblinear区别,简单源码剖析. http://blog.csdn.net/zhzhl202/article/details/7438160 http://blog.csdn. ...
- python机器交易_[原创]Python 机器学习之 SVM 预测买卖 -- 基于 BotVS 量化平台
Python 机器学习之 SVM 预测买卖 Python入门简单策略 sklearn 机器学习库的使用 回测系统自带的库有 numpy pandas TA-Lib scipy statsmodels ...
- 百面机器学习—4.SVM模型基础知识
文章目录 引言 一.间隔与支持向量 1.什么是线性可分? 2.什么是超平面?什么是最大间隔超平面? 3.什么是支撑向量? 4.SVM最优化问题 二.对偶问题 1.约束条件下的目标函数如何求解最优化问题 ...
- 系统学习机器学习之SVM(二)
实际上,之前:http://blog.csdn.net/app_12062011/article/details/50385522的内容,与这里一样,但是,相对来说,这里介绍了整个原理及推到过程,由于 ...
- 系统学习机器学习之SVM(四)--SVM算法总结
这边文章介绍的相当浅显易懂,写的很好.算是SVM总结吧. 转自:http://www.blogjava.net/zhenandaci/category/31868.html (一)SVM的简介 ...
- 机器学习——支持向量机SVM之非线性模型(原问题转化为对偶问题)
目录 一.复习(原问题.对偶问题.KKT条件.凸函数) 二.将最优化问题标准化为原问题(严格转化为标准形式) 1.原最优化问题 2.标准化后的问题 三.转化为对偶问题(注意变量的对应关系) 四.对对偶 ...
最新文章
- python往mysql存入数据_Python操作mysql之插入数据
- android 图片与内存加载
- 675. Cut Off Trees for Golf Event
- 爬取B站免费视频--python代码赶快拿
- console vue 打包之后怎么去掉_Vue Cli 3 打包配置--自动忽略 console.log 语句
- xamarin之 安装工具介绍
- RPN Calculator for mac(RPN计算器)
- CRMPM如何帮助企业创造最优销售绩效
- 小程序“头脑王者” 因违规被微信下架整改 小程序不可逾越的红线
- 英尺、英寸、磅和厘米的换算
- vscode 修改注释颜色
- 剑指offer——44.翻转单词顺序序列
- HDU6438 Buy and Resell
- 破壳2周造百万销量,荣耀20系列:三个超级炸弹的“寒潮逆袭”
- 双非渣本,他是如何逆袭拿到3W高薪
- 什么样的视频号内容更容易火?视频号怎么做推送上热门
- STM32CubeMX HAL F103 BKP备份寄存器使用
- Typecho博客后台登录页面美化插件
- Python Iterator 学习小记
- kong翻译_Kong[孔]的中文翻译及英文名意思