经验风险最⼩化-结构风险最⼩化
参考链接:www.360doc/content/17/0623/13/10408243_665793832.shtml
1、损失函数
正则化描述正确的是最简单的理解就是,给定⼀个实例,训练的模型对它的预测结果错了,就要受到惩罚,因此需要定义⼀个量度量预测错误的程度,⽽损失函数就是⽤来衡量错误的程度。常见的损失函数有如下⼏类(⽤来表⽰损失函数):
假设输⼊是X,输出是f(X),真实值是Y。
(1)0-1损失函数(0-1 loss function)
(2)平⽅损失函数(quadratic loss function)
(3)绝对损失函数(absolute loss function)
(4)对数损失函数(logarithmic loss function)
2.传统的经验风险最⼩化
很容易看出来,损失函数越⼩,模型就越好,接下来⽤期望风险来描述模型在整个数据集上的损失,假设我们已经得到了数据的概率测度
P(X,Y),那么就可以计算损失函数的期望即期望风险:
需要说明的是,这⾥假设数据集包含了所有可能的数据,即P(x,y)是已知的,显然这是不可能的,我们只能尽量多的获取数据集中的数据,但是不可能获得所有输⼊空间中的数据。有了期望风险学习的⽬标就确定了,即到使期望风险最⼩的模型,但是就像前⾯说明的,全部数据的分布是未知的,那么求解期望风险的问题就是⼀个病态问题。那该怎么办呢,虽然我么不知道数据集的概率测度,但是我们拥有给定的⼀定的独⽴同分布的样本,因此,我们可以⽤模型f(x)在这个给定的样本集上的平均损失最⼩化来代替⽆法求得得期望风险最⼩化。
注意上⾯我们再⼀次提到了独⽴同分布,这样我们就不⽤考虑数据集的概率测度了,计算瞬间变简单了,当然,这肯定造成了⼀定的计算损失,但是结果还是可信的,可取的。
假设给定的数据集是:
则经验风险或经验损失函数为:
使⽤经验风险泛函最⼩的函数来逼近期望风险泛函最⼩的函数,这⼀原则成为经验风险最⼩化归纳原则(ERM原则)。
根据⼤数定律,当样本数趋于⽆穷⼤时,经验风险趋于期望风险。但是,在实际应⽤中,训练样本的个数是有限的,甚⾄还会很少,所以使⽤经验风险逼近期望风险的效果就不好了。
这⾥还涉及到⼀个学习理论的关键定理,该定理指出了ERM原则⼀致性的条件是必要的并且充分的取决于函数集中最坏的函数。这⼀块只要知道它指出了经验风险和期望风险的误差是有界的就⾏。
上⾯说到,对于⼩样本问题,经验风险效果并不理想,因为经验风险最⼩化容易带来过拟合现象。过拟合现象其实就是模型的选择太在意训练误差了,反⽽导致预测误差随着训练误差减⼩⽽增⼤,造成训练
结果不理想。这⾥不再多说,可以到⽹上⼀个多项式拟合的例⼦形象的理解。我也转了⼀篇关于过拟合的⽂章,解决过拟合问题是加⼊惩罚项或者增加数据。
3.结构风险最⼩化
为了解决经验风险最⼩化逼近引发的⼀系列问题,vpnik等⼏位⼤⽜发展了现代的统计学习理论,提出了结构风险最⼩化,更加适合解决⼩样本问题,并且提出了寻结构风险最⼩化的⽅法,这⼀套理论发展出了有名的分类器:基于VC维理论和结构风险最⼩化的⽀持向量机SVM,它能够更快更迅速的解决⼩样本问题,在⼤样本集上也有⼀些基于稀疏矩阵的改进⽅法,成为2000年来的研究热点之⼀。
⾸先要引⼊函数的VC维概念:
函数集Q(f)的VC维是指能够被集合中的函数以所有可能的种⽅式分成两类的样本的最⼤数⽬h.另⼀个说法是:假如存在⼀个有h个样本的样本集能够被函数集中的函数按照所有可能的⽅式分成两类,则称该函数集能把样本为h的样本集打散。VC维就是h的最⼤值,对于h+1,函数集就⽆法打乱了。对于线性函数,其VC维很简单,就是函数维数+1,。
定义N(f)代表函数集Q(f)中的函数能够把给定的样本分成多少种类,称H(f)=ln(N(f))为随机熵,描述了函数集在给定数据上的多样性,引⼊⽣长函数G(n)=ln(N(f)),则⽣长函数与VC维的关系为:
G(h)=hln2
G(h+1)⼩于(h+1)ln2
即⽣长函数或者是线性的,或者以对数为上界。如果函数集的⽣长函数是线性的,则函数集的VC维是⽆穷⼤的,因为函数集能够打散的数据集数⽬可以⽆限⼤,反之,如果⽣长函数是以参数h的对数函数为界,则函数集的VC维就是h。VC衡量了⼀个函数集的复杂程度,VC维越⼤,函数集越复杂,虽然函数打散的样本数增加了,但是计算函数的复杂度却增加了,反⽽不能得到好的结果(引起过拟合),VC维越⼩,函数集越简单,求解速度快⽽且⽅便。⽀持向量机只关注对偶公⽰中参数不为0的⽀持向量的那些样本,因此VC维很⼩。奥卡姆剃⼑原理:在所有可能选择的模型中,能够很好地解释已知数据并且⼗分简单的才是最好的模型。引⼊VC维之后我们再去看看上⾯红⾊的部分,即经
验风险和期望风险的误差是依概率有界的,通过⼀系列复杂的公⽰推导我们得到如下公式:
n为样本数,h为VC维
不等式右边第⼀项为经验风险,第⼆项为置信风险,是⼀个减函数,整个公⽰反映了经验风险和真实误差的差距上界,表征了根据经验风险最⼩化原则得到的模型的泛化能⼒。称为泛化误差上界。
上述公⽰表明:当样本数较⼤时,n/h很⼤,置信范围就会很⼩,经验风险最⼩化接近实际最优解,⽽当n/h⽐较⼩时,置信范围就会很⼤,经验风险最⼩化泛化能⼒就差。
结构风险=经验风险+置信风险,这部分会在SVM那⼀块仔细介绍。
在李航的书中讲到了模型选择两种典型⽅法,这⾥简单介绍⼀下:
a.正则化
正则化是结构风险最⼩化策略的实现,在经验风险上加⼀个正则化项,该项与模型复杂度相关或者模型VC维相关,复杂度越⼤,正则化值就越⼤。常⽤的正则化项有模型参数的范数等。
b.交叉验证
交叉验证的思想就是将训练数据集随机划分成若⼲个块,这些块称为训练集和验证集,训练集⽤于训练模型,验证集⽤于评判训练明星的好坏,在每⼀块上到风险最⼩化函数,然后综合再把结果综合起来考虑。常见的交叉验证包括1/3和2/3划分,k-则交叉验证以及留⼀法。第⼀种⽅法取数据集的2/3进⾏训练,剩余1/3进⾏验证,第⼆种⽅法取k-1份训练,剩下⼀份验证,将可能的K种组合都做⼀次,因此共需要训练k次模型,留⼀法是k则交叉验证的极端情况,即K=N。
最后注意⼀下⽣成模型和判别模型的区别
⽣成模型更像是到数据的组织形式,⽽判别模型是⽤实现固定好的模型模拟数据。
⽣成模型由数据学习到联合分布,然后求解条件概率分布,因此学习速度快且能更快的收敛到真实模型。
判别模型直接学习决策函数或条件概率,侧重于预测,因此准确率⾼。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论