《tricks of trade》读书笔记 1.2学习和泛化

本文来自1.2节Learning and Generalization

对于机器学习问题的解答有很多种不同的思路,其中的绝大多数都可以归结为基于梯度的学习方法。如下图所示,一个机器学习模型 M ( Z ˆ p , W ) M(Zˆp,W) M(Zˆp,W),其中 Z ˆ p Zˆp Zˆp表示输入, W W W表示模型参数,是我们优化的对象,我们所说的模型 M M M实际上等价于模型参数 W W W。我们有带label的数据集: { ( Z p , D p ) } ( p ∈ [ 1 , P ] ) \{(Z_p,D_p)\}(p\in[1,P]) {(Zp,Dp)}(p[1,P]),还有用于评价当前模型 M M M W W W)在当前数据和全体数据上表现的成本函数 E ˆ p = C ( D ˆ p , M ( Z ˆ p , W ) ) Eˆp=C(Dˆp,M(Zˆp,W)) Eˆp=C(Dˆp,M(Zˆp,W)) E t r a i n ( W ) E_{train}(W) Etrain(W)。在最简单的设定里面,我们用均方差: E ˆ p = 1 2 ( D ˆ p − M ( Z ˆ p , W ) ) ˆ 2 , E t r a i n = 1 P ∑ p = 1 E ˆ p Eˆp=\dfrac{1}{2}(Dˆp-M(Zˆp,W))ˆ2,E_{train}=\dfrac{1}{P}\sum_{p=1}Eˆp Eˆp=21(DˆpM(Zˆp,W))ˆ2,Etrain=P1p=1Eˆp。事实上,相对于模型在训练集上的表现,我们更关注在同分布的、训练集中未出现过的测试集上的表现,谓之“泛化”(generalization)
上面对于学习问题做了一个非常简单的描述,具体的内容可参考相机器学习领域的教材。这里回到正题继续谈泛化。前面我们说到了数据集,由于我们已经知道了训练集,所以可以通过在训练集上获得最小误差的方法(经验风险最小化,ERM)来学习。
但是仔细思考下,ERM是有问题的:

  1. 训练集的噪声必然对泛化有影响
  2. 除非你是用full-batch,否则必然存在随机batch的选取必然不和训练集同分布。

这两个问题会将学习带到一个局部最小点处,从而不利于泛化。如何修正我们稍后再说,这里先把ERM中的误差分解成两类:

  1. bias:衡量网络在不同batch sets上的平均表现和“绝对真理”之间的差异。
  2. variance:衡量网络在不同batch sets上表现差异的程度。

训练早期,bias较大,因为网络和“绝对真理”距离很远;variance较小,因为网络在不同数据集上的输出差不多。经过长期的训练,bias将减小,因为网络已经逐渐学到了训练集的分布;但是由于特定训练集也存在特定的噪声,所以variance将增大。

综上,bias和variance的和是存在最小值的,这个最小值即泛化能力最优的点。找到这个点的方法(如早期停止和正则化)将在后面陆续介绍。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值