机器学习训练是"数据驱动下迭代优化参数、最小化损失"的过程,核心概念包括 Epoch、Step 和 Batch Size。
通用训练流程
| 步骤 | 内容 |
|---|---|
| 数据准备 | 划分、清洗、特征工程、封装 DataLoader |
| 模型初始化 | 搭建结构、初始化参数 |
| 前向传播 | 计算预测值 |
| 损失计算 | 量化预测偏差 |
| 反向传播 | 计算梯度 |
| 参数更新 | 优化器调整参数 |
| 迭代训练 | 多轮 Epoch 直到收敛 |
核心概念
| 概念 | 定义 |
|---|---|
| Epoch | 遍历全量训练数据一次 |
| Step | 一次参数更新(前向→损失→反向→更新) |
| Batch Size | 每次输入模型的样本数 |
关系:$1 \text{ Epoch 的 Step 数} = \text{总样本数} \div \text{Batch Size}$
训练流程详解
数据准备:
- 划分:Train/Eval/Test(如 7:2:1)
- 预处理:归一化、编码、缺失值处理
前向传播:输入经过模型得到预测,损失函数量化偏差。
反向传播:链式法则计算每个参数对损失的梯度。
参数更新:优化器(SGD、Adam)根据梯度调整参数,学习率控制步长。
传统模型 vs 深度网络
| 特点 | 传统模型 | 深度网络 |
|---|---|---|
| 参数量 | 少 | 百万至亿级 |
| 梯度计算 | 简单 | 多层链式法则 |
| 求解方式 | 可有解析解 | 必须迭代训练 |
| 硬件需求 | CPU | GPU 加速 |
监控与调优
训练监控:
- 训练损失下降:模型在学习
- 验证损失先降后稳:收敛
- 验证损失上升:过拟合
调优方向:数据质量、特征工程、模型结构、超参数(学习率、Batch Size、Epoch 数)。
张芷铭的个人博客
Comments