【ML学习笔记】7:查漏补缺1(期望风险,经验风险,过学习,结构风险)

目前把花书和清华大学出版社的《机器学习和视觉感知》一起看,这本书里用数学的方式讲了一些具体的机器学习模型。

定义与地位

机器学习是研究人工智能算法的科学,旨在如何在经验学习中改善具体算法的性能,即通过经验提高其自动性。
这里写图片描述

按应用领域分类

这本书简述了对机器学习区分类别的几种方式,目前只有这种方式比较能看懂。机器学习目前大部分的应用集中在这两个部分:

①分类任务:根据已知的分类知识对输入的未知模式确定其类别。
②问题求解任务:寻找从当前状态转换到给定的目标状态的较好的动作序列,以获取能提高问题效率的知识。

ML中问题的表示

在一个自然系统S中给定输入x应得输入y(如给定一张图片判断它包不包含大熊猫),机器学习就是构造一个学习机LM得到输入x的预测输出,使得它和y尽可能接近。在有监督学习SL中,这个学习机显然可以把训练集中的(输入x,输出y)投入给学习机作为依据。
这里写图片描述

概率分布和概率密度

回顾一下概率论的知识,对于随机变量X,也就是说X的可能取值x∈(-∞,+∞),那么它的分布函数是:
这里写图片描述
也就是随机变量X不大于x的概率随着x变化而变化的函数,对于离散型随机变量X,也就是说X的取值是离散的,那么X只有当取这些离散的值时概率才不为0,所以只在这些点处F(x)有跳变:
这里写图片描述
而跳变的高度也就是X取这个值的概率p(X=xi),对于除了这些可能取值之外的值,从图中可以看到跳变的高度就是0,也就是表明了取这些值的概率就是0。

而对于取值是连续的连续型随机变量,并不能确定X取一个具体值的概率是多少,因为有无穷多个值,但是它的分布函数仍然可以求,显然分布函数是一个单调非减的:
这里写图片描述
而可以知道X落在一个区间(x1,x2)的概率,就是这个函数在这个区间内的增量F(x2)-F(x1):
这里写图片描述
所以对于连续型随机变量,可以定义概率密度函数 f(x):
这里写图片描述
可以理解成,因为总和为1的概率会出现在这样的连续区间里,相当于把总的概率1,按照X落在每个取值附近的可能性大小(理解为”密度”)分配出去,概率密度函数表征了该点附近取值的概率的大小(注意,只是表征,而不是真的是其函数值),也就是反映了概率分布函数在这点处变化的快慢。对于上面的式子,在图中可以这样去理解:
这里写图片描述
也就是从-∞到x处,函数曲线和x轴之间的面积,也就是从-∞到x这个区间上对概率密度函数的广义积分。那么X落在区间(x1,x2)内的概率也可以用概率密度函数在这个区间上的定积分来表示:
这里写图片描述
所以连续型随机变量X取任意值的概率为0,因为x1和x2都取这个值上式为0。但是在离散型中,因为在特殊的点处概率分布函数有跳变,所以在那些点有非零概率。从概率密度的角度去理解,离散型中也就是把总的概率1分配给了有限个点,所以不存在所谓的概率密度了。从连续型随机变量取任意值的概率为0也可以看出,概率为0的事件不一定是不可能事件,因为显然值虽然连续但也是可以取到的。

期望风险:评估预测函数

预测函数这个词还有很多同义词,预测函数<=>学习函数<=>学习机器

回到刚才那张图上,对于n个输入x和输入y,也就是n个独立同分布的观测样本:
这里写图片描述
学习机LM对每个输入x的取值的预测可以看成一个预测函数,待选的预测函数构成了预测函数集,我们要找到最优的一个:
这里写图片描述
这里的ω是函数的广义参数,如可以是特征的线性组合的权重们。判定这个预测函数是最优的依据是,用这个最优函数去做预测,期望风险(损失函数值的期望)最小,即要:
这里写图片描述
右边dF(x,y)就是在该处概率分布函数的跳变,也就是实际应出现”输入为x输出为y”这种情况的概率,将这个概率值乘以针对实际应得值y的关于x在给定广义参数ω下的预测函数f(x,ω)的损失函数值L(y,f(x,ω)),再全部加起来,也就是”损失函数值的期望”即期望风险。
这个值能从整体反映选取这个预测函数做预测,结果出现偏差的程度。不同类型的机器学习问题有不同形式的损失函数

①有监督模式识别问题

在这个情况下,预测函数<=>指示函数<=>判别函数

这里写图片描述
如果采用这样的损失函数,则期望风险可称平均错误率,并且用这个损失函数,找到使期望风险最小的预测函数,去做模式识别的方法称为贝叶斯决策

②函数拟合问题

因为拟合出的值可能高于真实值也可能低于真实值,当然最好就是真实函数值,这时损失函数可以定义为:
这里写图片描述
平方后的值始终是非负的,如果给定一个阈值,将这个平方后的值二值化,该问题也就是刚刚的有监督模式识别问题。

③概率密度估计问题

根据训练样本确定x的概率分布,损失函数可以这样定义:
这里写图片描述
其中p(x,ω)是估计出的概率密度函数。还不理解,先记录在这。

经验风险:替代期望风险

要想计算期望风险,必须知道输入为x的概率P1(x)以及在输入为x的情况下输出是y的概率P2(y|x),才能知道联合概率F(x,y)。但是给出的样本往往不能反映真实的分布情况,期望风险不能直接计算,也就没法做期望风险最小化。
用经验风险去替代期望风险,即对损失函数的算数平均:
这里写图片描述
而要做的是这个经验风险最小化,以去找一个在该条件下最优的预测函数。

按照书中所述,用经验风险最小化替代期望风险最小化是无奈之举,而且并没有可靠的理论依据。

不能保证在样本数有限的情况下经验风险最小化得到的预测函数能得到好的结果。

一对矛盾:复杂性和推广能力

如果一味的追求经验风险最小,即一味追求在有限训练集下的训练误差小,不见得预测结果就会更好。对训练集外的实战样本,把机器学习对未来输出进行预测的能力称作推广性。那么在训练集中训练误差过小(学习的复杂性即精度太高)反而导致推广能力下降的过学习问题是普遍存在的。过学习现象的原因:

①样本不充分
②学习机器设计不合理

书上举了一个非常好的例证,如给定一组训练样本(x,y),x是在实数集内,y取值在[-1,1],那么不论样本是什么函数模型产生的,总是可以找到合适的ω用预测函数:
这里写图片描述
去完美的拟合这些样本点,使得在这个训练集中和这个预测函数的误差是0,即经验风险是0:
这里写图片描述
如图中这些绿色的样本点可以用红色的曲线完美拟合,误差为0。但是实际的曲线是蓝色的,用这个红色的曲线完全不具有推广能力。

又如一个有噪声的二次模型,从中得到的样本点如果有很多都是噪声点,但是实际上它们出现的概率并不高,而我们却不知道这件事,用经验风险替代期望风险,对于这个训练集,很可能一个一次函数能使得误差更小。但是一旦推广之后,那些噪声点的出现概率并不高,多数的点还是在二次模型应在的位置上,这个一次函数的预测结果会非常差:
这里写图片描述
为保证推广能力,要对学习机器做复杂性控制。

采用复杂的学习机器容易使学习误差更小,但却往往丧失推广性。学习机器的复杂性不但与所研究的系统有关,还必须要和有限的训练集相适应。

结构风险最小化

结构风险=有序风险

经验风险最小化(ERM)会导致过学习,所以可以设定一个加上表示模型复杂度的正则化项,把经验风险加上这个定义在假设空间上的泛函,即为结构风险最小化(SRM)。
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值