训练误差很低,为什么模型仍可能在未来失效?

机器学习基础

约 11 分钟1 个动手实验4 道小题

学完你能说清楚先定义任务和时间边界,再训练、验证、测试,最后才讨论能不能部署。

01学完这一课,你能做到什么

不是把一堆丢进程序,让它自动发现永远有效的答案。你要先写清楚预测什么、什么时候能看到输入、答案什么时候产生,再选择模型和评估方式。

学完这一课,你应该能:

  1. 区分训练和推理,明确输入、标签和决策时点;
  2. 判断一个问题应做分类还是回归;
  3. 区分模型参数、超参数、训练集、验证集和测试集;
  4. 识别欠拟合、和未来信息泄漏;
  5. 用时间切分、早停和指标检查模型是否有可迁移的信号。

本课实验把模型复杂度从 1 调到 10,观察训练误差、验证误差和两者差距如何变化。复杂度高不等于模型更好。

从研究问题到预测输出
  1. 1定义任务分类还是回归
  2. 2准备数据特征和未来标签
  3. 3训练学习参数
  4. 4验证选超参数和早停
  5. 5测试最后一次独立评估
  6. 6部署先做离线或模拟预测

一句话记住先定义预测时点,再谈模型效果。

02训练和推理:模型分别在做什么

训练时,给模型历史输入 X 和历史答案 Y,让它寻找两者之间的统计关系。推理时,只输入新数据 X,输出预测值;答案要等未来真正发生后才能评价。

在量化任务里,X 可以是今天收盘后已经可见的 52 个技术特征和 4 个基本面特征,Y 可以是下一交易日上涨与否,也可以是未来一周收益。任务必须先确定,不能先收集大量指标,再期待模型自行决定要预测什么。

训练的一个简化循环是:初始化参数 → 计算预测 → 计算损失 → 按优化规则更新参数 → 再计算。参数是模型从数据中学到的数值,例如线性模型中的 w 和 b。训练损失下降是过程信息,不代表学到的关系一定能延续到未来;损失也不保证每一轮都下降。

最危险的错误之一是泄漏:用未来才公布的基本面数据,或把下一日价格不小心放进今天的特征。这样模型可能得到漂亮分数,却是在偷看答案。

训练与推理的输入不同
训练

有历史答案 Y

用 X 和已发生的 Y 学参数,计算损失并更新。

推理

只有新输入 X

输出预测,未来发生后才能知道是否正确。

一句话记住训练看历史答案,推理不能偷看未来。

03分类还是回归:先看输出是什么

如果输出是有限类别,例如“明天涨”或“明天跌”,这是分类;如果输出是连续数值,例如“未来一日收益是多少”或“房子值多少万元”,这是回归。

房价的简单模型可以写成:

y-hat = w×面积 + b

假设 w=1.5 万元/平方米、b=5 万元,输入面积 105 平方米:

预测价格 = 1.5×105 + 5 = 162.5 万元

如果真实价格是 160 万元,绝对误差就是 |162.5−160|=2.5 万元。选择绝对误差还是平方误差,要提前写清,因为它们对极端错误的惩罚不同。

逻辑回归虽然名字里有“回归”,常用于二分类。它先算线性得分:

z = wᵀx + b

再用 sigmoid 把结果压到 0 到 1。若输出 0.8,只表示模型给出的上涨概率估计较高,不保证真实就是 80%。0.5 可以作为阈值,但阈值要结合验证集、类别比例和实际成本选择。

分类准确率和策略盈利能力不是一回事。预测对了很多次,如果错一次时亏得更多,仍可能亏损。

输出决定任务类型
分类

输出类别

涨/跌、水/饮料等有限标签,可再输出概率。

回归

输出数值

价格或未来收益等连续目标,误差有单位。

一句话记住分类预测类别,回归预测连续数值。

04特征要和任务匹配

一个教学分类例子用颜色和糖分识别水或饮料:颜色 252、糖分 0.1 可以标为水;颜色 210、糖分约 4%,以及颜色 150、糖分约 8%,可以标为饮料;新样本颜色 253、糖分 0.2 交给模型分类。

这个例子想说明的是:特征必须和任务有关系,单位和测量方式也要固定。它不代表两个特征就能覆盖现实中的所有饮料。无糖透明饮料可能让规则失效,困难样本比容易样本更值得检查。

股票任务的噪声更大、分布还会变化,不能照搬一个简单分类例子的信心。特征字典要记录定义、窗口、数据可用时间和缺失处理。预测时必须使用同样的列、同样的顺序和已经保存的预处理器。

一列特征至少要写清什么
定义

它测量什么

公式、单位和计算窗口要固定。

时间

什么时候可见

不能把未来公布的数据提前放入。

输入

如何进入模型

列顺序、缺失和预处理要一致。

边界

哪里会失效

困难样本和分布变化要单独记录。

一句话记住输入定义不一致,预测结果就不可比。

05欠拟合与过拟合:不是越复杂越好

欠拟合是模型太简单或学习不足,连训练数据中的主要关系都没有表达出来。过拟合是模型把特定样本里的噪声也记住,训练误差很低,但遇到未见数据就失效。

可以把房价曲线想成一条路:简单直线可能偏差很大;适当弯曲的曲线抓住总体趋势;过分弯曲的曲线穿过每个训练点,却可能给 200 平方米房子预测 80 万元。这只是说明不合理外推,不能推出“面积越大价格一定越高”的普遍规律。

实验中把模型复杂度调到 7 以上,可以观察验证误差高于训练误差,训练—验证差距变大;这提示模型可能开始过拟合。把复杂度调回 4 或以下,可以观察更平衡的区域。这个教学公式是确定性的,不代表某个真实数据集。

奥卡姆剃刀可以作为取舍原则:当解释能力和样本外表现接近时,优先选择更简单、更容易维护的模型。它不是简单模型永远更准的定理。

训练和验证一起看
欠拟合

两边都不好

模型没有学到主要关系,训练误差和验证误差都偏高。

过拟合

训练好、验证差

模型记住训练样本,未见数据表现变差。

一句话记住训练误差低,不等于未来误差低。

动手试试

模型复杂度探索

增加模型复杂度,观察训练误差、验证误差和两者差距的变化,理解过拟合信号。

动手试试

增加模型复杂度,观察训练误差与验证误差的分叉

教学样本
训练误差0.342
验证误差0.609
验证−训练差距0.267
验证误差随复杂度变化
3095160225290355420485550615
完成条件
复杂度达到 7,观察验证误差高于训练误差
回到复杂度 4,找到较平衡的区域

训练误差与验证误差由确定性教学公式生成,不代表某个真实数据集。

06训练、验证、测试:三份数据各有职责

训练集用于学习参数;验证集用于选择超参数和早停;测试集只在最后评估,不能反复参与选择。把验证结果看了很多遍,再把它称为独立测试,会高估模型表现。

举个例子,一份有 723 条数据的样本,可以留出 10%—30% 来观察模型在没训练过的数据上表现如何;即使只有 100 条,也不能用全部数据训练后,再用同一批数据证明有效。样本少时结果更不稳定,要明确不确定性,考虑收集更多数据或使用更简单的模型。

量化数据通常按时间先后切分,而不是随意打乱未来和过去。假设用 2023 年训练、2024 年验证、2025 年测试,测试期才是真正最后一次独立检查。如果标签是未来多日收益,切分边界还要防止标签跨越边界造成泄漏。

早停可以设很大的最大迭代数,例如 10000 轮;如果验证集连续 10 轮没有改善,就停止,并保存验证表现最好的模型。早停等待轮数是超参数,不是所有任务都固定用 10。

数据切分的职责
  1. 1训练集学习参数
  2. 2验证集选超参数、早停
  3. 3测试集最后独立评估
  4. 4未来数据上线后持续观察

一句话记住测试集只在最后打开一次。

07参数和超参数:洗衣机不是自动调好

参数是模型从数据里学出来的值,例如线性模型的 w、b。超参数是训练前由人或搜索程序设定的规则,例如模型类型、学习率、最大迭代次数、树深和早停等待轮数。

可以把它想成洗衣机:同一批衣服是数据,洗衣机学到的内部状态像参数;洗涤模式、转速和时长像超参数。换一个设置,结果可能不同,但如果衣服本身、洗涤剂或水温有问题,只调转速也解决不了。

准确率从 0.50 到 0.52,只是一个微弱优势示例。50% 不一定是正确的随机基准:如果上涨日占 60%,总猜涨已经有 60% 准确率。即使准确率是 52%,如果错判时损失更大、手续费更高,策略仍可能亏损。检查 AUC、混淆矩阵、概率校准、逐日样本外结果和,不要只看一个分数。

可以给 AI 编程工具这样的任务说明:检查日期、重复、缺失和基本面可用时间;构造下一交易日涨跌标签;用逻辑回归做基准;按时间切分训练、验证和测试;预处理只在训练期拟合;输出类别分布、朴素基准、准确率、混淆矩阵、AUC、校准观察和逐日样本外预测。明确不连接真实交易账户。

调参不是万能修复
超参数

改变学习方式

学习率、模型复杂度、树深、早停轮数等。

数据问题

先检查定义

标签、泄漏、缺失和时间错位不能靠调参补救。

一句话记住先查任务和数据,再调超参数。

08验收:从预测到可审阅的报告

按下面的七步完成一次最小实验:采集数据、预处理、选模型、训练、评估、调参、部署。这里的部署先指离线或模拟预测,不等于直接实盘交易。

验收要求:

  1. 手算一条房价预测和绝对误差;
  2. 分别写出一个分类标签和一个回归标签;
  3. 按时间切分训练、验证、测试,并画出切分边界;
  4. 输出训练曲线、验证曲线、参数配置和独立预测结果;
  5. 记录一个失败案例,并指出是否可能有未来信息泄漏;
  6. 解释训练误差很低为什么仍可能无用;
  7. 对比朴素基准、准确率或 AUC、交易成本和样本外表现。

完成标准不是把训练分数调到最高,而是你能说明每个数据在什么时候可见、哪个数字用于选择、哪个数字只用于最后验收。

一句话记住报告要让别人复算你的时间边界。

检验
检验一下

4 道小题

全部答对,这一课就算真正读懂了。答错了会告诉你为什么。

01预测下一交易日涨跌属于哪类任务?
02w=1.5 万元/平方米、b=5 万元,105 平方米的预测价格是多少?
03验证集最主要的用途是什么?
04哪种现象最像过拟合?
知识卡

这一课,浓缩成一张卡

学完可以保存或分享给朋友。保存成图片的功能会在下一版加上。

AI+金融投资训练营 · 机器学习基础判断机器学习模型是否值得继续研究,先看什么?

先核对任务和时间边界,再看验证、测试和样本外结果,而不是只看训练误差。

  • 标签定义要清楚
  • 验证测试分开
  • 复杂度不是成绩
quant.jtxaionline.com
这一课的要点

记住这 5 句话

  1. 01机器学习流程要先定义目标、输入和决策时点,训练与推理不能混淆。
  2. 02分类输出类别,回归输出连续数值,概率输出不等于收益保证。
  3. 03欠拟合和过拟合要结合训练、验证表现判断,复杂度高不自动更好。
  4. 04训练集学参数,验证集选超参数和早停,测试集只做最后独立评估。
  5. 05时间切分、泄漏检查、基准、成本和样本外结果比单个漂亮分数更重要。
完成这一课

完成这一课

读完讲义、动手做一次实验、答对小题,这一课就算学完了。

  • 读完讲义
  • 完成一次模型复杂度探索
  • 通过随堂自测

实验数据AI+金融投资训练营教学样本。固定教学样本

固定教学样本只用于解释量化研究方法,不代表任何真实标的未来表现,也不构成投资建议。