
一、前言
本文基于李沐《动手学深度学习 v2》课程内容整理,涵盖回归、分类模型选型、损失函数、数据集划分、过拟合与欠拟合、超参数调优、正则化、权重初始化、梯度稳定性等核心知识点,结合 Kaggle 实战场景与工程落地经验,梳理深度学习从理论到实操的完整流程,适合深度学习入门者系统梳理知识框架。

二、基础模型区分:回归、二分类、多分类
2.1 任务本质区别
机器学习主流分为回归预测与分类两大任务,核心差异在输出形式与损失设计:
2.2 主流模型对比
| 线性回归(LinearRegress) | 单个连续数值 | 数值预测、趋势预估 | RMSE(均方误差) |
| Softmax 回归 | 各类别预测概率 | 多分类、图像分类(如 Kaggle 蛋白质图像 28 分类) | 交叉熵损失 |
| 单层感知机 | -1 / 1 二值输出 | 简单二分类 | 无复杂激活,无法解决异或 (XOR) 问题,现已淘汰 |
| 多层感知机(MLP) | -1 / 1 二值输出 | 复杂二分类、非线性任务 | ReLU/Sigmoid 激活 |
拓展实战案例:Kaggle 人类蛋白质显微镜图像分类赛,任务为将细胞图像划分为 28 个细胞器类别,属于典型多分类任务,行业内优先使用 Softmax 搭配卷积网络实现。

2.3 激活函数选型
激活函数为网络引入非线性,是拟合复杂任务的核心:
三、损失函数基础

四、误差体系:训练误差 & 泛化误差
4.1 核心概念
- 训练误差:模型在训练集上计算得到的误差,反映模型对训练数据的拟合程度。
- 泛化误差:模型在全新未知数据上的误差,工程落地唯一关注指标,代表模型真实能力。
核心原则:学习模型的本质是理解误差成因、缩小泛化误差,而非单纯记忆训练数据。
4.2 数据集划分规范
数据集是模型训练的基础,严格区分训练集、验证集、测试集是避免结果失真的关键:
通用划分比例
- 小样本数据:训练集 70% + 测试集 30%
- 大样本数据(万级以上):训练集 50% + 测试集 50%
- 时序数据:存在数据自相关特性,禁止随机划分;截取中间段作为验证 / 测试集,前后分段作为训练集。
4.3 K 折交叉验证
适用场景
训练数据量不足(深度学习常态),无法单独拆分足量验证集时使用。
执行流程
补充说明:K 值越大,验证结果越可靠,但算力消耗越高;深度学习算力成本高,大型模型一般规避高 K 值交叉验证。
示例:三折交叉验证
将数据分为 3 份,轮流取单份为验证集,其余为训练集:

五、欠拟合 & 过拟合:模型容量与数据复杂度
5.1 核心关系
- 模型容量:模型拟合复杂数据的能力(网络层数、参数量越大,容量越高)。
- 数据复杂度:由样本数量、单样本特征维度、数据结构、样本多样性共同决定。
5.2 两种典型问题
工程实操:工业场景中难以做到完全拟合,小幅过拟合属于可接受范围。

六、超参数调优实战
6.1 基础概念
- 模型内部参数:网络权重、偏置,由模型在训练集自动迭代更新。
- 超参数:人为预先设定、依靠验证集调试的参数(学习率、网络层数、正则系数、树模型参数等)。
6.2 主流调参方式
6.3 常用超参数参考区间
以树模型、神经网络通用参数为例:
| learning_rate(学习率) | 0.01 ~ 0.3 | 数值越小训练越稳健,收敛越慢 |
| n_estimators(决策树数量) | 50 ~ 500 | 数量越多模型效果越好,推理速度越慢 |
| max_depth(树深度) | 3 ~ 10 | 限制模型复杂度,防止过拟合 |
| subsample(数据采样率) | 0.5 ~ 1.0 | 随机采样训练数据,弱化过拟合 |
| L1 正则 (reg_alpha) | 0 ~ 10 | 稀疏化特征,过滤无效特征 |
| L2 正则 (reg_lambda) | 0 ~ 10(常用 1~5) | 限制参数大小,平滑模型 |

6.4 K 折交叉验证的落地用法
七、正则化与模型复杂度控制
针对过拟合问题,主流通过正则化、丢弃法约束模型容量。
7.1 权重衰退(L2 正则)
7.2 丢弃法(Dropout)
八、训练稳定性:梯度问题与权重初始化
深度网络极易出现梯度爆炸、梯度消失,导致训练报错(输出 NaN/Inf),核心解决方案为合理权重初始化、梯度优化。
8.1 梯度爆炸问题
8.2 权重初始化
8.3 通用优化方案(保证训练稳定)

九、技术演进与工程落地思路
9.1 经典模型迭代路线
单层感知机 → 多层感知机 (MLP) → SVM → 卷积神经网络 (CNN)
规律:技术框架不断更新,但机器学习底层逻辑、数据处理、模型调优思想长期稳定,掌握核心原理才能适配技术迭代。
9.2 完整工程流程(拿到数据后标准步骤)
9.3 待进阶知识点
本文梳理了模型、调参、训练基础,后续需深耕:数据清洗、高阶特征工程、复杂网络结构设计。
十、总结










