用同一组点比较记忆表与线性规则,再用改变分布的反例说明:训练误差很小,仍然不足以保证未来表现。
训练集做对了,为什么还不够
假设训练数据只有三个点:(0,1)、(1,3)、(2,5)。规则f(x)=2x+1能全部答对;记忆表也能全部答对,只要遇到表外输入就输出0。两者训练误差都为零,在x=3时却分别给出7和0。
机器学习的困难因此不只是找到一个能解释已有数据的函数,而是在有限观察之外仍作出有用预测。泛化指模型在目标分布的新样本上的表现;它不是“记得更多”,也不是凭训练集本身就能无条件保证的能力。
下面固定一个一维、无噪声、合成数据的例子,只比较规则。这些点是合成数据,目的在于隔离模型偏好的作用。
数据之外,还需要一种偏好
从三个点出发,有无穷多函数都能穿过它们。选择线性函数,等于事先限制模型族:我们愿意优先考虑直线。这个限制是一种归纳偏置,训练只能在它允许的候选中寻找参数。
令预测为ax+b,用训练点的平方误差之和作目标。由(0,1)得到b=1,再由(1,3)得到a=2,第三点与该规则一致。对这组无噪声数据,参数可以直接推导,不必调用复杂库。
这个结果为什么可能有效?如果未来数据也遵循同一规律,所选模型族包含了它,训练又确定了正确参数,那么在新点上也能答对。任何一项条件变化,结论都需要重新检查。教材中的泛化理论正是在明确样本、假设空间、损失与分布条件后讨论保证。[1]
用保留点检验,再用反例检查条件
固定训练输入0、1、2,保留测试输入3、4,目标仍为2x+1。线性规则预测7、9,平均平方误差为0;上述记忆规则预测0、0,平均平方误差为(49+81)/2=65。
这里有意采用区间外的保留点,是一次外推压力测试,不是独立同分布抽样的统计评估。它能显示两条规则的不同,不能估计真实应用中的平均误差。若把这些测试点拿来选模型,它们随后就成了模型选择依据,还应另留最终评估数据。
再构造另一种世界:x≤2时y=2x+1,x>2时y=100。训练数据完全不变,但线性规则在3、4上误差变成93和91,平均平方误差为8465。这不是算法突然算错,而是训练样本没有区分两种未来规律。仅凭前面三个点,无法排除后一种世界。
实际评估如何避免自己骗自己
先按数据产生过程划分训练、验证与测试。训练集用于拟合;验证集用于选择模型或超参数;测试集用于相对独立的最终评价。若同一人、同一设备或同一段时间的高度相关样本分落两边,就可能出现泄漏。
例如,用一位用户的多条近乎重复消息同时训练和测试,可能主要测到了记忆能力。若任务是预测未来,把未来记录中的特征泄漏到过去样本,同样会高估效果。具体划分应服从应用中的独立单位与时间关系,不能机械地随机打散。
正则化、早停或限制模型复杂度,是调节偏好的方法,不是免检证书。数据有偏、标签错误、部署分布变化,都可能让训练过程正常完成而模型失效。
把经验误差与目标风险分别写清
设训练集S={(xᵢ,yᵢ)},候选模型为f,损失为ℓ。经验风险R̂ₛ(f)是训练样本损失的平均;目标风险Rᴅ(f)是在部署相关分布D上损失的期望。训练直接操作的是前者,用户最终关心的通常是后者。
两者差异可以分成两类问题。第一,即使把训练目标降到很低,有限样本仍可能不代表D;第二,模型族本身可能不包含低风险函数。前者涉及估计和选择,后者涉及近似能力。优化器没收敛又是额外一层,不能把所有误差都叫过拟合。
在独立同分布、损失有界、候选集合有限等条件下,可以用集中不等式与对候选的联合控制得到一致的泛化界。具体地,若损失在[0,1]、假设集合H预先固定且有M个元素、n个样本独立同分布,则以至少1−δ的概率,对全部f∈H都有 |Rᴅ(f)−R̂ₛ(f)|≤√(ln(2M/δ)/(2n))。对经验风险最小化解,这进一步给出相对H中最优目标风险至多2倍该界的差距。它是充分界,可能很松;前面的平方损失例子若没有先界定输入和输出范围,也不能直接代入这个[0,1]损失界。[1,第4—6章] 这里不把这一有限模型结果原封不动外推到任意深网、相关数据或分布迁移。
关键是“一致”控制:训练后选择的f依赖S,不能把只对预先固定f成立的估计,未经处理就用于反复选出来的最优模型。这也是验证集、独立测试和模型选择理论要处理的核心依赖。
代入一个有限候选例子:在固定的 100 个模型中选择,n=1000、δ=0.05,则界为 √(ln4000/2000)≈0.0644。意思是:在前述抽样与损失条件成立时,以至少 95% 的概率,抽到的训练集会使全部 100 个模型的经验风险与目标风险相差不超过约 0.0644。这项概率针对训练集的抽样,不表示模型每次预测有 95% 的准确率。
ERM 的超额风险保证相应不超过约 0.1288,可能远比实际误差宽。若只靠这个充分界要求一致差距不超过 0.01,至少需要 41471 个样本;这不是声称较少样本必定失败,而是说这条界尚不足以作出那样强的保证。[1,推论4.6]
带一点噪声,再看规则怎样形成
构造训练点(0,1)、(1,2)、(2,5),仍限定f(x)=ax+b,并最小化平方误差。三点不在一条直线上,不能同时零误差。均值x̄=1、ȳ=8/3,斜率a=Σ(xᵢ-x̄)(yᵢ-ȳ)/Σ(xᵢ-x̄)²=4/2=2,截距b=2/3。
三次预测为2/3、8/3、14/3;残差分别为-1/3、2/3、-1/3,训练MSE为2/9。这个拟合在模型族和损失固定后是可核算的结果,既没有完全记住训练标签,也没有证明噪声来自何种现实过程。
如果我们知道中间标签本应为3而记录成2,修正数据可能比增大模型更合理;如果标签2是可靠观察,则“真实关系一定是2x+1”的假设要受审查。学习不是让算法替研究者决定所有数据质量问题。
正则化可以在误差目标中增加参数复杂度惩罚,例如λa²。它改变了我们偏好的解,而不是给原问题免费增加证据。λ越大通常越压制斜率,但是否降低目标风险仍要独立评估,不能只看目标函数值。
不确定性如何进入结果,而不是只写一个分数
两个保留点上的零误差,不等于风险已知为零。样本量小、输入范围窄或样本高度相关,都会使估计不稳定。若任务允许,应报告样本数量、抽样单位与误差分布;重复实验还需区分数据变化与训练随机性。
分布变化也有不同形式:输入频率改变、标签机制改变、观测流程改变,所需应对并不相同。前文y在区间外变成100的反例,直接改变了关系机制;简单扩大缓存或提高训练轮数无法从相同三点恢复被遗漏的信息。
真正的部署判断还要规定何时拒答、何时转人工、如何监测失效。泛化理论解释某些条件下为什么有限样本可能足够;工程评估说明这些条件和实际任务相差多远。两者结合,才比一句“数据越多越聪明”更有解释力。
捷径学习:样本很多,也可能学到错误的依赖
构造一个分类数据集,真实目标与形状有关,但训练图片中圆形总是红底、方形总是蓝底。一个只看背景的模型可以在随机划分的测试集上很好,因为两边都保留了同样的关联。样本数量增加,只会让这条捷径更容易被确认。
若部署时背景与形状独立,原指标就可能失效。问题不是模型不能拟合,而是评估分布没有检验真正需要的依赖。处理方式可以包括按来源分组、构造打破背景关联的保留集,或取得更能区分候选机制的数据;不能只靠把相同来源继续随机拆分。
这也显示“归纳偏置”不总是坏事。一个适合任务的结构或数据策略,可以抑制某些捷径;但若预设错了,也会排除有用关系。应将假设写出,让反例有机会改变它。
前面的泛化界把训练与目标分布关系作为条件,捷径例子则问这个条件是否描述了实际应用。统计保证与部署有效性因此需要一起阅读:公式严谨,不等于应用假设已经被数据验证。
泛化不等于理解全部规律
本例的线性规则确实比记忆表更适合第一种目标,但不能据此宣布简单模型永远更好。若真实关系是复杂非线性,过强的限制也会造成欠拟合;若样本量与任务结构支持,更丰富的模型可能有优势。
最终应报告目标任务、输入范围、损失、划分方式、误差与失败样本。平均指标还可能掩盖某些群体或边界输入的失败。若任务要求超出已验证范围,就应明确标出证据缺口。
从数据形成可泛化模型,靠的是数据、结构假设、训练方法和评估条件的共同作用。这个回答保留了一个必要限制:没有任何有限样本能单独替我们承诺任意未来世界。
来源、证据与阅读路线
- Shalev-Shwartz、Ben-David,Understanding Machine Learning,2014,第2章学习模型及第5—6章归纳偏置与可学习性
- Goodfellow等,Deep Learning,2016,第5章5.2—5.3:泛化、过拟合、超参数与验证集
证据范围:回归、含噪拟合及统计界的数值按已列条件复算;外推点是构造压力测试,有限假设类保证不等于现实数据满足抽样假设。
写下你的评论
要发表评论,您必须先登录。