人工智能基础与应用 - 数据处理、建模与预测流程 6 模型训练

6.1 学习目标

通过本章学习,读者应能够:

  • 理解什么是"模型",模型在人工智能中的作用
  • 理解"训练""预测""评估"之间的关系
  • 掌握训练集、测试集的基本思想
  • 理解过拟合与欠拟合的直观含义
  • 使用 Python 完成一次最基本的模型训练流程

本章的目标是:
让读者明白模型训练"在干什么",而不是"怎么推公式"。


6.2 什么是模型

在人工智能中,模型并不是某个具体程序或文件,而是:

一种用来描述"输入与输出之间关系"的数学结构。

可以用一句更直观的话理解:

模型,就是数据规律的"总结版本"。


6.2.1 一个生活化的类比

假设你观察到:

  • 学习时间越长,考试成绩通常越高
  • 学习时间很少的学生,成绩往往较低

你在脑中形成的经验判断:

"学习时间和成绩之间存在正相关关系"

这其实就是一个非常朴素的模型

人工智能模型做的事情,与此类似,只是:

  • 用数据而不是感觉
  • 用计算而不是直觉

6.3 什么是"训练"

6.3.1 训练不是"背答案"

在初学阶段,很多人会误以为:

"模型训练就是把答案记住"

实际上,训练的本质是:

通过大量样本,找到输入与输出之间的规律。


6.3.2 用一句话概括训练

模型训练 = 调整模型内部参数,使预测结果尽量接近真实结果。

这里有三个关键词:

  • 输入(特征)
  • 输出(标签)
  • 调整参数

6.4 训练、预测与评估的关系

模型训练并不是一个孤立过程,而是一个完整闭环。

6.4.1 训练(fit)

  • 使用已知数据
  • 学习输入 → 输出的关系

6.4.2 预测(predict)

  • 对新数据给出结果
  • 模拟真实应用场景

6.4.3 评估(evaluate / score)

  • 判断预测是否可靠
  • 衡量模型好坏

可以用一句话总结三者关系:

训练是学规则,预测是用规则,评估是看规则好不好。


6.5 为什么要划分训练集和测试集

6.5.1 问题从哪里来

如果你用全部数据 训练模型,再用同一批数据评估:

  • 模型分数通常会很高
  • 但这个分数没有实际意义

6.5.2 训练集与测试集的角色

  • 训练集:用来学习规律
  • 测试集:用来模拟"从未见过的新数据"

测试集的存在,是为了回答一个关键问题:

这个模型在新数据上还能表现好吗?


6.5.3 用 Python 划分数据集

python 复制代码
from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.2, random_state=42
)

常见比例:

  • 70% / 30%
  • 80% / 20%

6.6 过拟合与欠拟合(必须理解)

这是模型训练中最重要的概念之一


6.6.1 欠拟合(学得不够)

欠拟合指的是:

  • 模型过于简单
  • 没有学到数据中的基本规律

表现为:

  • 训练集效果差
  • 测试集效果也差

类比:

题目没学会,考试自然考不好。


6.6.2 过拟合(学得太死)

过拟合指的是:

  • 模型把训练数据"记得太清楚"
  • 把噪声也当成规律

表现为:

  • 训练集效果很好
  • 测试集效果明显下降

类比:

把练习题答案背下来了,换题就不会做。


6.6.3 为什么人工智能训练师要警惕过拟合

因为:

  • 过拟合模型看起来"很优秀"
  • 实际应用中却经常失败

这是很多 AI 项目"上线即翻车"的原因。


6.7 一个完整的模型训练示例(重点)

示例:预测每日步数(回归问题)

python 复制代码
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression

# 示例数据
data = {
    'age': [25, 30, 45, 35, 50],
    'exercise_minutes': [30, 20, 10, 40, 15],
    'daily_steps': [8000, 6000, 3000, 10000, 4000]
}

df = pd.DataFrame(data)

# 特征与标签
X = df[['age', 'exercise_minutes']]
y = df['daily_steps']

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.2, random_state=42
)

# 创建并训练模型
model = LinearRegression()
model.fit(X_train, y_train)

# 评估模型
train_score = model.score(X_train, y_train)
test_score = model.score(X_test, y_test)

print("训练集得分:", train_score)
print("测试集得分:", test_score)

6.7.1 如何解读结果

  • 训练集得分明显高于测试集 → 可能过拟合
  • 两者都很低 → 可能欠拟合
  • 两者接近且较高 → 模型较稳定

6.8 模型训练中的常见误区

6.8.1 用测试集参与训练

  • 会导致数据泄漏
  • 评估结果失真

6.8.2 只看训练集分数

  • 分数高不代表模型可用
  • 必须结合测试集

6.8.3 频繁更换模型但忽略数据

  • 数据问题未解决
  • 模型再复杂也无效

6.9 本章小结

本章围绕模型训练的基本思想,重点包括:

  • 模型是数据规律的抽象表达
  • 训练、预测、评估构成完整流程
  • 训练集与测试集用于判断模型泛化能力
  • 过拟合与欠拟合是模型训练中的核心问题

这些内容将为后续具体模型学习打下基础。


6.10 课后练习

一、判断题

  1. 模型训练的目标是让模型在训练数据上分数尽可能高。
  2. 测试集用于评估模型在新数据上的表现。
  3. 过拟合模型在真实应用中通常表现良好。

二、简答题

  1. 什么是模型训练?
  2. 为什么需要划分训练集和测试集?

三、思考题

如果一个模型在训练集上得分 0.95,在测试集上得分 0.60,你会如何判断这个模型?可能存在什么问题?


6.11 练习题参考答案

一、判断题答案

  1. 错误
  2. 正确
  3. 错误

二、简答题参考要点

第 1 题:

  • 通过数据学习输入与输出之间的规律
  • 调整模型参数以提高预测准确性

第 2 题:

  • 模拟真实预测场景
  • 判断模型的泛化能力
  • 防止过拟合

三、思考题参考思路

  • 训练集得分高、测试集得分低
  • 模型可能存在过拟合
  • 需要简化模型或改进数据与特征

相关推荐
AI科技星5 分钟前
精细结构常数α作为SI 7大基本量纲统一耦合常数的量子几何涌现理论
算法·机器学习·数学建模·数据挖掘·量子计算
代码小书生11 分钟前
statistics,一个统计的 Python 库!
开发语言·python
小呆呆66613 分钟前
Codex 穷鬼大救星
前端·人工智能·后端
薛定猫AI19 分钟前
【深度解析】Kimi K2.6 的长上下文 Agentic Coding 能力与 OpenAI 兼容 API 接入实践
人工智能·自动化·知识图谱
星爷AG I22 分钟前
20-6 记忆整合(AGI基础理论)
人工智能·agi
AI创界者24 分钟前
人工智能 GPT-Image DMXAPI Python AI绘画
人工智能
哥布林学者28 分钟前
深度学习进阶(十六) 混合注意力 CBAM
机器学习·ai
播播资源30 分钟前
GPT-5.5 模型功能深度解析:从模型介绍、核心特点到应用场景全景分析 如何快速接入使用
人工智能·gpt
谁似人间西林客33 分钟前
工厂大脑是什么?从经验驱动到AI辅助的决策跃迁
人工智能
Bode_200236 分钟前
构建工业龙虾的难点
人工智能·制造