机器学习(1)泛化误差上界的实现及分析

本文探讨了在有限假设空间下的泛化误差上界,并给出了C++实现。介绍了泛化误差的概念及其数学期望,分析了泛化误差上界的组成及影响因素。

        本文在假设空间有限情况下的泛化误差上界分析,并给出了简要的C语言实现。参考文献是李航老师写的《统计学习方法》。
        简单引出泛化误差是什么。对于任意给定的数据,选定模型对数据监督学习,得到学习后的模型,并使用此模型对新样本预测,以便对新数据、新样本预测分析。事实上,无论如何学习,经过学习产生的模型和实际数据产生的情况总会有一定偏差,这种偏差可以通过更大量样本的学习、更精确的模型选择、更高效的算法优化以削减,但几乎无法消除。我们总是期望能够从多种假设的模型中选择出最高效、误差最小的模型,并将其应用到现实问题中;或者仅仅是希望对某种模型的组合进行定量的分析,判断该模型是否可能具有产生较大误差的风险。这时候就需要用到泛化误差上界的分析。

        泛化误差说的是训练数据训练完模型之后,需要将该模型迁移到另一组类似数据时候,这个过程叫做泛化(Generalization),我们希望能够分析出来这种误差大概是多少,那么泛化误差就应该表示为所有可能出现的泛化误差值乘上他出现的可能性,也就是泛化误差的数学期望。
        选定模型为 f ^ \hat{f} f^,用这个模型来预测未知新样本,可能产生的风险为泛化风险,泛化风险表示为:
R e x p ( f ^ ) = E p [ L ( Y , f ^ ( X ) ) ] (1) R_{exp}(\hat{f})=E_{p}[L(Y,\hat{f}(X))]\tag{1} Rexp(f^)=Ep[L(Y,f^(X))](1)
         L ( Y , f ^ ( X ) ) L(Y,\hat{f}(X)) L(Y,f^(X))表示的是选定模型输出的结果与真实标签之间的误差,这种误差可以表示为0-1误差、平方误差、绝对值误差、对数误差等。误差的期望称为期望风险。泛化误差数学期望越低,说明在当前学习模式下,该模型的学习方法迁移过程中犯错的可能性会更低一些,也就是说这种模型会更好。了解泛化误差的上界在哪里,也就是说,既然要犯错,那最多能犯多大的错,这也就是标题中说的泛化误差上界。

        然而,理想是丰满的,现实是骨感的。想要求数学期望,我们需要知道每个误差产生的概率是多少,这在普遍情况下是难以提前预知的,因而我们只能退而求其次,使用已有的数据来推测数学期望,即经验风险。
        经验风险表示为
R ^ ( f ) = 1 N ∑ i = 1 N L ( y i , f ( x i ) ) (2) \hat{R}_(f)=\frac{1}{N}\sum_{i=1}^NL(y_i,f(x_i))\tag{2} R^(f)=

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ProfSnail

谢谢老哥嗷

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值