第4章 数据、模型与预测:从趋势线看懂机器学习

本章导读

第3章已经建立了最基础的 AI 协同学习环境:本地大模型服务、VS Code、Notebook、AI 伴学助手和人工复核记录。从第4章开始,不再只满足于 AI 能回答,而要进一步追问:它为什么能回答?它依据什么做出判断?它什么时候会被数据带偏?

人工智能系统看起来越来越强大,但它的基本工作方式并不神秘。无论是智能客服、工业质检、推荐系统,还是大语言模型的复杂推理,背后都离不开一条基础链路:

数据 → 模型 → 预测

这条链路非常朴素,却足以解释很多真实问题:为什么模型需要数据?为什么数据质量会决定系统上限?为什么同一个模型在不同数据上表现差异很大?为什么一个离谱的异常值可能让模型输出整体变差?

本章继续沿用问题牵引、短概念、可观察小实验、证据化记录的学习方式。以虚拟体测数据为例,用身高和体重预测立定跳远距离。这个例子足够简单,可以让你看清机器学习最基础的结构;它又贴近日常校园场景,能自然引出数据清洗、误差评估、人工复核和使用边界。

需要特别说明:本章不是传统 Python 编程课,也不需要你从零手写机器学习算法。你会接触更多技术概念,例如特征、标签、线性回归、平均绝对误差、异常值、基线模型和数据校验;实践重点是运行预置 Notebook、观察结果、分析原因、形成可复核的实验记录。

本章的核心判断是:AI 的结果不是只由模型决定,数据质量、问题定义和人工复核共同决定系统是否可信。 *** > 《论语》说:君子求诸己。 > 面对 AI 的回答,不能只看它说得像不像对,还要追问依据是什么。把输入、过程和结果拆开看,判断才会回到自己手里。

学习目标


先修要求与环境清单

本章学习底线:不把真实学生个人数据上传到公共 AI 平台;不把模型预测值作为正式成绩或管理决策;不把 AI 生成代码或结论视为天然正确。


知识准备:先认识这些词

  1. 数据(Data) 模型学习的材料。数据可以来自表格、传感器、文本、图片或业务系统。数据质量直接影响模型能学到什么。

  2. 特征(Feature) 用于帮助模型判断的输入变量。本章中,身高和体重是特征。

  3. 标签(Label) 模型要学习和预测的目标。本章中,立定跳远距离是标签。

  4. 训练(Training / Fitting) 模型根据已有样本调整内部规律的过程。对线性回归而言,就是寻找一组让整体误差尽量小的线性参数。

  5. 预测(Prediction / Inference) 模型学到规律后,面对新样本给出估计结果的过程。

  6. 线性回归(Linear Regression) 一种基础机器学习方法,假设输入和输出之间存在近似线性关系。它可以理解为给散点寻找最合适的趋势线。

  7. 平均绝对误差(Mean Absolute Error, MAE) 用来衡量预测值与真实值平均相差多少的指标。它越小,说明模型整体预测越接近真实标签。

  8. 异常值(Outlier) 与常识范围或业务规则明显不一致的数据点。例如普通学生立定跳远 1800cm,通常应被视为异常记录并进入复核流程。

  9. 基线模型(Baseline Model) 在复杂优化前先建立的简单参考模型。线性回归常被用作入门级基线,因为它易运行、易解释、易比较。

  10. 数据校验(Data Validation) 在数据进入模型前检查字段、范围、单位、缺失值和异常值的过程。它是避免错误数据喂给模型的第一道防线。


4.1 问题与现象:为什么模型结果差异常常不是模型本身造成的?

在第3章中,你已经体验过 AI 能够回答问题、解释概念、生成学习建议。很多学习者会很自然地形成一种印象:只要模型够强,任务就能完成得很好。

但进入真实数据任务后,这种想法很快会遇到挑战。

假设某体测数据管理场景需要整理一批学习者体测记录,其中包含身高、体重和立定跳远距离。体育专业人员希望借助 AI 辅助分析:在相似体型条件下,哪些学习者的跳远表现明显高于平均趋势,哪些学习者可能需要进一步观察技术动作。

这个想法并不复杂。我们可以先建立一个小模型:用身高和体重估计立定跳远距离。它不会完美,因为跳远还受到腿部力量、协调性、起跳角度、训练经验等因素影响;但它可以作为一个体型对应的理论基线。

问题出现在数据进入模型之前。

如果数据表比较干净,模型会学到一个大致合理的趋势;如果表中混入了一条明显错误的数据,例如:

height = 175
weight = 60
jump_distance = 1800

模型并不会天然知道18米立定跳远不可能。它只会把这条记录当作普通样本参与计算。为了尽量降低整体误差,模型可能会把趋势线向这个离谱点拉过去,导致正常样本的预测也被影响。

这就是许多 AI 项目失败的真实原因之一:系统看起来像是模型出错,很多时候实际是数据没有被正确检查。

在职业场景中,同样的情况随处可见:

这些问题不一定靠更大的模型解决。真正可靠的工程流程,必须先把数据入口守住。

本章的核心问题可以概括为:

模型从数据中学习规律,那么数据不可靠时,模型为什么还能看起来很认真地输出错误结论?


4.2 原理与分析:从一条趋势线看懂机器学习

相关结构如图4-1所示。

图4-1 异常数据如何拉偏趋势线

图4-1采用空心圆点、叉号、实线和虚线表达不同信息,不依赖颜色。印刷时即使转换为灰度,也能区分正常样本、异常样本、正常趋势线和被异常值影响后的趋势线。

4.2.1 数据 → 模型 → 预测是人工智能的基本工作链路

无论模型多复杂,人工智能系统的基础链路都可以写成:

数据 → 模型 → 预测

这条链路可以进一步展开:

历史样本 → 学习规律 → 新样本估计

在本章体测任务中,它对应为:

历史体测表 → 学到身高、体重与跳远距离的关系 → 估计新学生的跳远基线

这条链路中,每个环节都有自己的风险。

相关内容见表4-1。

表4-1 环节与作用记录表

环节 作用 常见风险
数据 提供历史样本 缺失、错误、重复、单位混乱、异常值
模型 从样本中总结规律 过于简单、过于复杂、参数不合适
预测 面对新样本输出结果 超出适用范围、误差过大、被误当作最终结论

很多学习者容易只盯着模型,反复问哪个模型更强。但在大多数真实项目中,数据入口和验证流程往往更关键。一个使用干净数据的简单模型,可能比一个使用脏数据的复杂模型更可靠。

可以把这条工程判断写下来:

数据质量往往决定系统可信度上限,模型只能在这个基础上努力逼近可用结果。

如果数据本身已经混乱,再先进的模型也很难凭空恢复真实规律。

4.2.2 特征和标签:把业务问题翻译成模型问题

人工智能项目的第一步,不是立刻选择模型,而是把业务问题翻译成模型能处理的问题。

本章业务问题是:

根据学生的身高和体重,估计其立定跳远距离的理论基线。

模型问题是:

输入:height, weight
输出:jump_distance

这里的 heightweight 是特征,jump_distance 是标签。

相关内容见表4-2。

表4-2 类型与字段记录表

类型 字段 含义
特征 height 身高,模型已知输入
特征 weight 体重,模型已知输入
标签 jump_distance 立定跳远距离,模型要学习和预测

这一步看似简单,却决定了模型能不能解决真正的问题。如果特征选得不合理,模型再努力也只能学到有限信息。

例如,身高和体重能反映部分身体条件,但无法直接反映腿部爆发力、起跳技术、训练经验和当天状态。因此,本章模型只能作为学习中的简化基线,而不能作为完整体测诊断系统。

这也是机器学习建模中的重要原则:

模型只能根据它看见的特征判断,不能根据它没有看到的信息判断。

4.2.3 为什么从线性回归开始?

本章选择线性回归,并不是因为它最先进,而是因为它最适合用来建立机器学习直觉。

线性回归的核心思想是:

在一组散点中,寻找一条尽量靠近大多数点的趋势线。

体测数据中,每个学生可以看成一个样本点。由于人的身体条件、训练水平和动作技术不同,这些点不会整齐排成直线。线性回归做的事,就是在这些点之间找到一个整体方向。

它至少有三个学习优点:

  1. 结构清楚:输入是什么、输出是什么、误差是什么,都容易看见。
  2. 结果可解释:趋势线被异常值拉偏时,可以直观观察。
  3. 适合作基线:在复杂模型前,先用简单模型建立可比较的初始结果。

你需要特别理解基线这个概念。基线不是最终版本,而是起点。一个基线模型可以帮助你回答:

不使用复杂算法时,最简单方案能做到什么程度?
后续优化到底有没有变好?
系统是否被异常数据明显影响?

如果连简单基线都没有,后续所有优化都很难证明效果。

4.2.4 误差与 MAE:模型不是输出一次就算完成

模型能输出结果,只说明流程跑通了;模型是否可靠,还需要指标验证。

本章使用的指标是 MAE,即平均绝对误差。它可以通俗理解为:模型平均差了多少厘米。

例如,三个学生的预测误差分别为:

10cm、15cm、20cm

那么平均误差就是约 15cm。它表达的不是某个学生的单次误差,而是整个模型在一批样本上的平均偏差。

MAE 的优点是直观。对于本章体测任务,平均差 10cm和平均差 80cm哪个更可靠,很容易比较。

但也要注意:MAE 只是一个指标,不是全部真相。它不能告诉我们模型为什么错,也不能自动判断数据是否公平。它只是一个报警器:当误差突然变大时,我们需要回头检查数据、特征、模型和流程。

本章 Notebook 中的 MAE 主要用于练习观察和前后对照。真实项目不能只看训练数据或样例数据上的误差,还应留出验证集或测试集,用没有参与训练的数据检查模型是否真的可靠。

4.2.5 异常值:一条错误记录为什么会影响趋势线?

线性回归会尽量让趋势线靠近样本点。更准确地说,它会寻找一条让整体误差尽量小的线。正常样本分布在合理范围内时,趋势线比较稳定;如果出现一个极端异常点,模型会试图兼顾它,从而改变趋势线的位置和方向。

这就是异常值影响模型的基本机制。

本章中的跳远 1800cm就是典型异常值。它的危险在于:

  1. 它数值极端,远离正常样本范围;
  2. 它参与模型计算,会拉动趋势线;
  3. 它可能让 MAE 飙升;
  4. 它可能让正常样本的预测也变得不稳定。

这里要建立一个工程判断:

模型输出不合理时,不要第一时间换模型,先检查数据。

很多时候,问题不在模型,而在输入。

4.2.6 从会用 AI 到会审查 AI

生成式 AI 可以帮助我们生成代码、解释报错、设计检查规则,确实降低了学习和开发门槛。但它也带来了新的要求:人不能把判断权完全交给 AI。

在本章中,AI 可以参与以下工作:

但下面这些工作必须由人负责:

所以,本章训练的不是让 AI 替你完成数据分析,而是让 AI 辅助你完成可复核的数据分析。


AI 协同实践:30分钟完成一次异常数据对照实验

实践目标

用一个控制变量实验验证本章核心原理:

同一个模型、同一个样例学生,只改变训练数据中是否包含异常值,观察预测结果和 MAE 如何变化。

实践结构

本章实践分为五个环节:

相关内容见表4-3。

表4-3 环节与时间记录表

环节 时间 学习任务 目的
观察正常数据 5分钟 查看字段、样本和趋势图 理解特征与标签
运行基线模型 5分钟 记录正常数据下预测值与 MAE 建立基线
注入异常值 5分钟 加入 1800cm 错误记录 控制变量
对比结果 5分钟 比较预测、MAE、趋势线 观察数据污染影响
AI 协同解释 10分钟 生成解释、人工复核、提交记录 连接理论与证据

第 1 步:打开 Notebook 并检查样例数据

打开:

notebooks/ch04_data_model_prediction.ipynb

运行数据预览单元,确认字段名称和数据范围。

填写观察表:

相关内容见表4-4。

表4-4 检查项与观察结果记录表

检查项 观察结果
是否包含 height 字段
是否包含 weight 字段
是否包含 jump_distance 字段
身高范围是否大致合理
体重范围是否大致合理
跳远距离范围是否大致合理

第 2 步:运行正常数据下的基线模型

运行基线模型单元。Notebook 会用干净数据建立一个简单线性回归模型,并输出:

注意:这里的 MAE 用于练习观察和对照,不等于模型在真实人群中的泛化能力。

记录:

相关内容见表4-5。

表4-5 指标与正常数据结果记录表

指标 正常数据结果
样例学生身高 175cm
样例学生体重 65kg
预测跳远距离
MAE
我对趋势图的观察

第 3 步:注入一条异常数据

运行异常数据注入单元。Notebook 会加入以下记录:

height = 175
weight = 60
jump_distance = 1800

这条记录模拟红外测距仪故障或人工录入错误。不要把它当作真实成绩。

第 4 步:重新运行模型并对比

运行异常数据模型单元,填写对照表:

相关内容见表4-6。

表4-6 正常数据与异常数据结果对照表

指标 正常数据 异常数据后 变化说明
样例学生预测距离
MAE
趋势线方向
结果是否更可信

请特别观察:

  1. MAE 是否变大;
  2. 预测值是否明显偏离常识;
  3. 趋势线是否被异常点拉动;
  4. 模型有没有主动提醒这条数据异常。

第 5 步:使用 AI 伴学助手生成解释

将你的对照表粘贴给 AI 伴学助手,使用下面提示词:

你是我的人工智能课程助教。
我正在学习第4章数据、模型与预测。
下面是同一个线性回归模型在正常数据和加入异常数据后的对照结果:
【粘贴表格】
请完成三件事:
1. 用趋势线被异常点拉偏的思路解释结果变化。
2. 判断这是否说明模型本身一定很差,还是说明数据入口需要检查。
3. 给出三条数据校验规则,防止类似体测异常数据进入模型。
要求:语言适合读者,不写复杂数学公式,不夸大模型能力。

AI 输出后,请完成人工复核清单:

相关内容见表4-7。

表4-7 复核项与是/否记录表

复核项 是/否 说明
AI 是否正确指出异常值影响趋势线
AI 是否避免把预测结果当作正式体测成绩
AI 给出的数据检查规则是否符合常识
AI 是否遗漏隐私和人工复核风险

第 6 步:形成实践证据包

本章实践证据包包括:

1. 正常数据运行截图或输出记录;
2. 异常数据运行截图或输出记录;
3. MAE 与预测值对照表;
4. AI 协同解释提示词与回答摘要;
5. 人工复核清单;
6. 80—150 字个人结论。

验证与证据:从一次实验走向工程习惯

数据校验要放在模型训练之前

很多读者会把建模过程理解成:先把数据喂进去,再看模型好不好。更可靠的流程应该是:

数据进入 → 字段检查 → 范围检查 → 异常复核 → 模型训练 → 结果评估

其中字段检查和范围检查非常基础,但经常能拦住大问题。

本章体测数据可以设置以下检查规则:

相关内容见表4-8。

表4-8 字段与示例规则记录表

字段 示例规则 目的
height 120cm—220cm 拦截明显错误身高
weight 25kg—150kg 拦截明显错误体重
jump_distance 50cm—350cm 拦截明显错误跳远成绩
缺失值 不允许关键字段为空 避免模型读到不完整样本
单位 全部使用 cm 和 kg 避免单位混乱

这些规则要根据实际场景调整。例如小学生、学生、运动员的数据范围可能不同,不能机械套用。

异常值不等于坏数据,要区分错误和特殊情况

异常值有两种可能:

  1. 错误数据:测量设备故障、录入错误、单位写错。
  2. 真实但少见的数据:某位学生受过专业训练,跳远成绩明显高于同龄人。

工程处理不能简单粗暴。遇到异常值,推荐流程是:

发现异常 → 标记记录 → 核对来源 → 人工确认 → 决定保留、修正或剔除

这比发现离群点就删除更负责任。

基线模型不是终点,而是比较起点

线性回归模型很简单,它不会捕捉复杂非线性关系,也无法理解学生技术动作。但它作为基线仍有价值。

基线模型可以帮助我们回答:

如果一个项目没有基线,就很容易陷入模型换来换去,但不知道有没有进步的状态。

拓展任务:阅读关键代码,而不是背代码

本章 Notebook 中保留了一小段关键代码供你阅读。重点不是背语法,而是看懂结构。

拓展说明:完整程序已放入配套 Notebook。你只需要关注观察目标、变量修改和复核要求,不需要手写这段代码。

你需要能说清楚每一步的作用。如果 AI 生成了完整代码,你也应该至少检查四个区域:

相关内容见表4-9。

表4-9 区域与检查问题记录表

区域 检查问题
数据读取 文件路径是否正确?字段名是否一致?
数据检查 是否拦截缺失值和明显异常值?
模型计算 输入特征和预测标签是否对应正确?
结果输出 是否输出 MAE、预测值和说明?

这就是从让 AI 写代码走向审查 AI 生成结果的关键能力。


伦理、安全与边界:体测数据辅助分析助手的可用边界

本章模型可以扩展成一个非常小的体测数据辅助分析原型。它可能用于:

但它不能用于:

如果一个学生真实成绩低于模型预测,可能有很多原因:动作技术不熟练、当天身体不适、测试紧张、场地条件不同、数据录入错误,甚至模型本身不适合这个学生群体。模型只能提示线索,不能直接给出结论。

这就是职业场景中的 AI 使用边界。越是涉及人的权益,越不能让模型单独决定。


使用边界

  1. 数据隐私 真实体测数据涉及个人信息,必须脱敏、授权、限定用途。不得将真实学生数据随意上传到公共平台。

  2. 算法偏差 如果训练数据只来自某一类学生,模型可能不适合另一类学生。模型的适用范围必须写清楚。

  3. 异常处理 异常值不能被自动粗暴删除,应先标记、核对和复核。

  4. 结果解释 模型预测是统计估计,不是事实判定。预测误差必须被记录,不能只展示好看的结果。

  5. 责任归属 AI 可以辅助生成分析,但体育专业人员、数据管理员和项目负责人仍要承担最终判断责任。


交付物标准

请提交 Markdown 格式的《体测数据异常值对模型预测影响实验报告》。建议结构如下:

相关内容见表4-10。

表4-10 模块与内容要求记录表

模块 内容要求 评价重点
任务说明 说明本章实验要验证什么问题 是否准确理解数据、模型、预测关系
数据观察 列出特征、标签和异常值 是否能识别字段作用
基线结果 记录正常数据下预测值和 MAE 是否有初始对照
异常值结果 记录加入 1800cm 后预测值和 MAE 是否形成控制变量比较
原理解释 用趋势线解释异常值影响 是否能把实践结果与理论连接
AI 协同记录 提示词、AI 回答摘要、人工复核 是否体现人机协同而非盲从
工程建议 数据校验、异常复核、隐私保护 是否有职业场景迁移能力

达标标准:能够完整记录实验结果,并说明异常数据为什么会影响模型。

提高标准:能够提出合理的数据校验规则,并说明模型结果不能直接用于学生正式评价。

挑战标准:能够进一步比较剔除异常值前后的 MAE 变化,并说明这是否真的提高了系统可靠性。


总结与思考

  1. 人工智能的基础链路是:数据 → 模型 → 预测。
  2. 特征是模型用来判断的输入线索,标签是模型要学习和预测的目标。
  3. 线性回归适合作为入门基线,因为它结构清楚、结果可解释、实验成本低。
  4. MAE 可以帮助我们判断模型平均预测误差,但不能替代原因分析。
  5. 异常值可能拉偏趋势线,导致整体预测质量下降。
  6. 生成式 AI 可以辅助编程和解释,但人必须负责数据审查、结果复核和伦理边界。
  7. 涉及学生权益的预测结果,只能作为辅助参考,不能作为最终决定。

章末练习与思考

基础题

  1. 请用一句话说明数据、模型、预测三者之间的关系。
  2. 在本章体测案例中,哪些字段是特征?哪个字段是标签?
  3. 为什么线性回归可以理解为寻找趋势线?
  4. MAE 表示什么?它为什么比只看单个预测结果更有参考价值?

提升题

  1. 如果模型在加入异常数据后 MAE 明显增大,你会优先检查哪三个方面?
  2. 如果体测数据中出现跳远 20cm的记录,你会直接删除吗?为什么?
  3. 请设计 5 条体测数据进入模型前的校验规则。
  4. 如果新增一个特征每周训练次数,你认为模型可能会变好吗?说明理由。

职业素养题

  1. 为什么不能把模型预测的跳远距离直接作为学生正式成绩?
  2. 如果学校要上线一个体测数据辅助分析系统,至少应该设置哪些人工复核环节?
  3. 在你的专业领域中,找一个数据错了,模型也会错的例子,并说明如何防范。

AI 协同题

使用 AI 伴学助手完成以下任务,并人工复核:

请根据第4章内容,帮我生成一份体测数据进入模型前的数据检查清单。
要求:
1. 至少包含字段检查、范围检查、缺失值检查、单位检查、隐私检查;
2. 每条检查规则都要说明原因;
3. 不得建议用模型预测替代学生真实成绩;
4. 输出为表格。

请在作业中说明:AI 的建议中哪些可以采纳,哪些需要修改,为什么。

本章交付物

  1. 本章 Notebook 运行记录。
  2. 一条核心提示词和一段 AI 输出。
  3. 改变变量前后的观察表。
  4. 人工复核记录。
  5. 100—200 字原理解释。