Appearance
监督学习、损失函数与集成模型
本页沿着“模型假设—损失函数—正则化—集成方式”的顺序整理经典监督学习算法。学习时应同时关注输入输出、优化目标、关键超参数和泛化边界。
一、学习范式与监督信号
1.1 监督学习
监督学习使用带标签的数据训练。数据通常写成:
其中
训练时通过损失函数比较
监督学习中的目标主要有两类:
- 回归:目标值是连续数值,例如预测房价、温度或销量;
- 分类:目标值是离散类别,例如判断图片属于猫还是狗。
线性回归要求训练数据带有连续目标值,通过学习输入特征到连续输出的映射完成预测,因此属于典型的监督学习:
常见监督学习算法还包括:
- 逻辑回归:分类;
- 决策树:可用于分类和回归;
- 随机森林:通常用于监督分类或监督回归;
- 支持向量机(SVM):可用于分类和回归;
- 梯度提升树:可用于分类和回归;
- 神经网络:在使用带标签目标训练时属于监督学习;
- LDA:需要类别标签的监督降维方法,也可以用于线性判别分类。
判断监督学习的关键不是模型名字,而是训练时是否有明确的目标值参与损失计算。
1.2 无监督学习
无监督学习只使用输入数据,不依赖人工提供的类别标签:
模型需要从数据本身发现结构、分布或低维表示。常见任务包括:
- 聚类:根据样本相似性自动划分数据;
- 降维:用更少的维度保留数据中的主要信息;
- 密度估计:学习数据可能来自什么概率分布;
- 异常检测:发现偏离主要数据结构的样本。
标准的主成分分析(PCA)不使用类别标签,通过寻找方差最大的方向进行降维,属于无监督学习。K-Means 根据样本距离自动划分簇,也属于无监督学习。高斯混合模型(GMM)通过概率分布描述潜在群体,同样通常属于无监督学习。
1.3 半监督学习
半监督学习同时使用少量有标签数据和大量无标签数据:
其核心目标是减少人工标注成本,同时利用大量无标签样本改善模型的泛化性能。例如,只有少量图片标注了“猫/狗”,但还有大量未标注图片,模型可以同时利用这两部分数据训练。
可以这样记忆:
| 学习范式 | 核心判据 |
|---|---|
| 监督学习 | 利用有标签数据学习 |
| 无监督学习 | 没有标签,自己发现规律 |
| 半监督学习 | 少量有标签 + 大量无标签 |
| 强化学习 | 根据环境奖励信号学习 |
半监督学习的典型场景就是:只有少量标记样本,但有大量未标记样本,希望降低人工标注成本并提升模型性能。
1.4 强化学习
强化学习不以每个输入都配有正确标签为主要监督信号,而是让智能体与环境交互,根据奖励或惩罚学习策略:
通过环境奖励训练智能体,属于强化学习,而不是监督学习或半监督学习。
强化学习与前三种范式的快速区别是:
- 监督学习:数据带有目标标签;
- 无监督学习:数据没有人工标签,模型寻找结构;
- 半监督学习:少量数据有标签,大量数据没有标签;
- 强化学习:环境通过奖励信号评价行为。
二、经典监督学习模型
下表用于建立第一层判断,不代表一个模型在所有训练方式下只能属于一种范式。
| 学习范式 | 典型算法或方法 | 常见任务 |
|---|---|---|
| 监督学习 | 线性回归、逻辑回归、决策树、随机森林、SVM、梯度提升树、LDA | 回归、分类、监督降维 |
| 无监督学习 | PCA、K-Means、GMM、DBSCAN、层次聚类、谱聚类 | 降维、聚类、密度估计 |
| 半监督学习 | 伪标签、一致性正则化、标签传播等 | 少量标注与大量未标注数据 |
| 强化学习 | Q-Learning、策略梯度、Actor-Critic | 序列决策与控制 |
2.1 集成学习:Bagging、Boosting 与 Stacking
集成学习把多个基学习器组合起来完成预测。不同基学习器可以通过样本、特征或训练过程的差异产生不同的结果,再通过投票、平均或加权求和得到最终输出。
随机森林与 Bagging
随机森林(Random Forest)是典型的 Bagging 集成方法。它训练多棵决策树,再聚合这些树的结果:
- 分类任务使用多数投票;
- 回归任务通常取各棵树预测值的平均。
随机森林中的两个“随机”来源是:
- 样本随机:对训练集进行有放回的 Bootstrap 抽样,为不同决策树构造不同的训练子集;
- 特征随机:每次节点分裂时,只从随机选出的部分特征中寻找最优分裂特征。
因此,不同决策树不会完全相同。将多个相关但不完全相同的树进行聚合,可以降低单棵树预测的方差,通常有助于减少过拟合。
可将分类过程概括为:
随机森林速记
Random Forest = Bootstrap 样本 + 随机特征 + 多棵决策树聚合。
Bootstrap、OOB 误差与模型评估
设原始训练集有
因此,一棵树平均使用约:
的不同训练样本,约
对某个训练样本
回归任务则通常计算袋外预测的均方误差或其他回归指标。因为每个样本的 OOB 预测没有使用该样本训练对应的树,OOB 误差可以作为一种不需要额外划分验证集的内部泛化误差估计,常用于:
- 评估随机森林的泛化性能;
- 辅助比较模型或调整超参数;
- 在训练数据有限时减少单独留出验证集带来的数据浪费。
OOB 误差适合做内部评估,但如果反复根据同一份 OOB 结果进行大量调参,仍可能对这份评估产生过拟合;重要模型选择通常还应结合独立验证集或交叉验证。
随机森林的特征重要性
随机森林可以根据树的分裂和预测变化估计特征重要性。常见方法有:
- 基于不纯度下降的特征重要性(Mean Decrease in Impurity,MDI):累计某个特征参与节点分裂时带来的加权不纯度下降。计算速度快,但可能偏向取值较多或连续的特征,也可能在强相关特征之间分配得不稳定。
- 置换重要性(Permutation Importance):在 OOB 样本或独立验证集上打乱某个特征的取值,观察模型性能下降幅度。性能下降越明显,说明模型对该特征的依赖通常越强;但高度相关的特征可能互相替代,使单个特征的置换重要性被低估。
特征重要性描述的是特征对当前模型预测的贡献,不自动等同于因果关系,也不应仅凭一个重要性排序断言某个特征在现实世界中“真正导致”目标变化。
GBDT 与 Boosting
GBDT(Gradient Boosting Decision Tree)属于 Boosting,而不是 Bagging。Boosting 通常按顺序训练基学习器:后面的学习器重点拟合前面模型留下的残差或难以预测的部分。
GBDT 的顺序纠错过程为:
因此,Bagging 和 Boosting 的核心区别是:
| 方法 | 基学习器关系 | 聚合方式 | 典型代表 |
|---|---|---|---|
| Bagging | 通常相互独立、可并行训练 | 投票或平均 | Random Forest |
| Boosting | 按顺序训练,后者关注前者的错误 | 加权累加 | GBDT、AdaBoost |
决策树和线性回归如果单独使用,则是单模型,不属于集成本身。集成学习中“多个训练器、并行学习、投票或平均、降低方差”通常对应以下两种典型关系:
集成方法速记
- Bagging → Random Forest:并行训练,投票或平均,通常用于降低方差。
- Boosting → GBDT:按顺序训练,后续模型纠正前面模型的误差。
Stacking:学习基模型的组合方式
Stacking(堆叠集成)不是简单地对多个模型的结果做固定平均,而是再训练一个 Meta-Model(元模型),让它学习如何组合不同基模型的预测。
设有
Meta-Model
因此 Stacking 的典型结构是:
text
原始特征
↓
多个基模型
↓
基模型预测结果(新的特征)
↓
Meta-Model
↓
最终预测基模型可以使用不同类型的算法,例如线性模型、决策树、SVM、神经网络等;Meta-Model 也可以是线性回归、逻辑回归、决策树、GBDT 或神经网络。它学习的不是某个固定权重,而是不同基模型预测之间的组合关系。
如果 Meta-Model 恰好采用线性模型,Stacking 可能表现为:
这时看起来像加权组合,但“加权平均”只是 Stacking 的一种特殊情形。Meta-Model 也可以学习非线性组合,因此不能把 Stacking 简化定义为加权平均。
对于分类任务,第二层输入通常使用基模型输出的类别概率或决策分数,而不只是最终的硬类别标签;对于回归任务,通常直接使用基模型的连续预测值。
Stacking 中的 OOF 预测与数据泄漏
训练 Meta-Model 时,不能直接把基模型在自身训练样本上的预测作为第二层训练数据。这样的预测通常过于乐观,Meta-Model 可能学到基模型对训练集的过拟合,造成数据泄漏。
常用做法是使用 K 折交叉验证生成 OOF(Out-of-Fold,折外)预测:
- 将训练集划分为
个折; - 每次用其中
个折训练基模型,并预测剩下的一个折; - 将每一折的留出预测拼接起来,形成所有训练样本的 OOF 预测;
- 用这些 OOF 预测作为特征训练 Meta-Model;
- 部署或预测新样本时,用完整训练集重新训练基模型,再将其预测交给 Meta-Model。
OOF 速记
OOF 基模型预测 → Meta-Model 的训练特征。
三类集成方法的区别
| 方法 | 基模型之间的关系 | 最终组合方式 | 典型代表或特征 |
|---|---|---|---|
| Bagging | 通常相互独立、可以并行训练 | 投票或平均 | Random Forest,降低方差 |
| Boosting | 按顺序训练,后续模型关注前面模型的错误 | 加权累加 | GBDT、AdaBoost |
| Stacking | 基模型先产生预测,再训练元模型学习组合关系 | Meta-Model 学习组合 | 可使用异构基模型,组合关系可以是非线性的 |
三类集成方法速记
- Bagging:并行投票。
- Boosting:串行纠错。
- Stacking:学习如何组合预测。
2.2 SVM 与核函数
支持向量机(SVM)在原始特征空间中寻找分类超平面。对于线性不可分的数据,可以通过特征映射
核技巧不需要显式计算
这样既可以表达非线性关系,又避免显式构造高维特征。
合法核函数的基本条件
对任意有限样本
标准核函数需要使这个核矩阵满足对称半正定条件,即:
这通常用 Mercer 条件或正定核条件来描述。辨析 SVM 核函数时,首先检查它是否是标准的正定核,而不是只看它能否写出一个相似度公式。
常见核函数
线性核:
多项式核:
RBF(高斯径向基)核:
这三类是基础机器学习中最常见的标准核函数。
常见核函数速记
线性核、多项式核、RBF 高斯核。
所谓“逻辑核函数”不是 SVM 中标准的常用核函数名称,容易与 Sigmoid 核混淆。Sigmoid 核常写成:
但它不是任意参数下都满足半正定条件,因此在没有给出参数限制时,不能像线性核、多项式核和 RBF 核那样无条件视为合法标准核。
在核函数辨析中,线性核、多项式核和 RBF 核通常可以作为标准核函数直接识别;“逻辑核函数”不是规范的常见名称,不能因为它听起来像一个函数就默认满足合法核函数的条件。
RBF-SVM 中的 与
RBF 核的形式为:
其中
则有:
因此
SVM 的软间隔参数
其中
两个参数对模型复杂度的典型影响如下:
| 参数变化 | 直接含义 | 常见结果 |
|---|---|---|
| 更重地惩罚间隔违反和分类错误 | 更强调训练集拟合,决策边界可能更复杂,过拟合风险上升 | |
| 更能容忍间隔违反和分类错误 | 正则化更强,边界通常更平滑,可能欠拟合 | |
| RBF 作用范围变小,更关注近邻样本 | 边界更局部、更曲折,过拟合风险上升 | |
| RBF 作用范围变大,更多样本相互影响 | 边界更平滑,过度减小时可能欠拟合 |
需要注意,
2.3 逻辑回归:概率输出、决策边界与分类损失
逻辑回归虽然名字中有“回归”,但主要用于二分类。它先计算输入的线性得分:
再通过 Sigmoid 函数把得分压缩到
模型输出通常解释为样本属于正类的概率:
概率计算与数值示例
逻辑回归先计算线性得分,再通过 Sigmoid 将得分转换为正类概率。
数值计算示例
给定:
先算线性得分:
再计算正类概率:
因此,
手算时可以利用以下常用近似值:
| 线性得分 | Sigmoid 输出 |
|---|---|
由于 Sigmoid 单调递增且
逻辑回归决策边界的几何意义
使用阈值
最常见的阈值是
因此二分类决策边界由线性得分决定:
阈值并不一定固定为
此时决策边界为:
在默认阈值下,可以按照线性得分的符号判断类别:
所以,普通二分类逻辑回归的边界仍然是线性超平面;改变阈值会移动边界的位置,但不会把它变成曲线。在
对数几率解释
逻辑回归并不是直接假设概率与输入特征严格线性相关,而是假设正类的对数几率与特征线性相关:
分类输出函数与任务形式
二分类通常使用一个 Sigmoid 输出正类概率。Sigmoid 已在本节开头定义,其输出范围为
互斥多分类通常对多个类别的线性得分使用 Softmax:
Softmax 输出的是一个
逻辑回归的二分类形式和 Softmax 回归的多分类形式都属于监督学习模型,训练时需要类别标签和相应的分类损失。
需要区分多分类和多标签分类:
- 多分类:类别彼此互斥,一个样本只能属于一个类别,通常使用一个 Softmax;
- 多标签分类:一个样本可以同时拥有多个标签,通常为每个标签使用独立的 Sigmoid,标签概率不要求加和为
。
ReLU 和 Tanh 也会在神经网络中出现,但它们通常不是二分类概率输出函数:
| 函数 | 公式 | 输出范围 | 常见位置 |
|---|---|---|---|
| Sigmoid | 二分类输出层,也可用于部分隐藏层 | ||
| Softmax | 各分量非负且总和为 | 互斥多分类输出层 | |
| Tanh | 神经网络隐藏层或门控结构 | ||
| ReLU | 神经网络隐藏层 |
分类输出速记
- 二分类:Sigmoid。
- 互斥多分类:Softmax。
- 多标签分类:多个独立的 Sigmoid。
这里的归类依赖训练方式。例如神经网络既可以使用标签做监督学习,也可以通过自监督目标进行预训练;“神经网络”本身不是监督信号的同义词。
二元交叉熵损失
逻辑回归的标签
对
当
当
交叉熵计算示例
真实标签为
如果使用自然对数,则
在 Sigmoid 的线性得分
这种形式是二分类中常用 Sigmoid + BCE 组合的重要优化原因之一。MSE 并非绝对不能用于分类,但它主要对应连续目标的平方误差,也不再是 Bernoulli 观测模型的标准负对数似然;将 MSE 与 Sigmoid 组合时,还可能受到 Sigmoid 饱和导致的梯度减弱影响。
Focal Loss:聚焦难分类样本
Focal Loss 是交叉熵的加权变体,主要用于类别不平衡或容易样本数量远多于困难样本的分类任务。设
对于互斥多分类,若真实类别为
它在交叉熵前增加了调制因子
- 容易分类且预测正确的样本通常有
,调制因子接近 ,损失权重被降低; - 难分类或预测错误的样本通常有较小的
,调制因子较大,仍然保留较强惩罚; 越大,对容易样本的降权越明显;当 时,基础 Focal Loss 退化为交叉熵。
实际还可以加入类别平衡权重
其中
| 任务或损失 | 常见输出形式 | 核心特点 |
|---|---|---|
| 二分类 + Binary Cross-Entropy | 一个 Sigmoid,输出正类概率 | 直接提高真实标签对应的概率 |
| 互斥多分类 + 多类交叉熵 | 一个 Softmax,输出类别概率分布 | 提高真实类别的预测概率 |
| 多标签分类 + 多个 Binary Cross-Entropy | 每个标签一个独立 Sigmoid | 各标签概率相互独立,不要求加和为 |
| Focal Loss | 通常沿用分类任务的 Sigmoid 或 Softmax | 在交叉熵上降低易样本权重,突出难样本 |
| MSE/MAE | 回归模型的连续值输出 | 分别强调平方误差和绝对误差;也可以作为某些分类模型的替代目标,但不是标准概率分类损失 |
| Hinge Loss | SVM 等间隔分类模型 | 关注分类间隔和违反间隔的样本 |
分类损失速记
交叉熵负责按照真实类别概率计算损失;Focal Loss 在交叉熵上乘
2.4 线性回归:最小二乘、正则化与损失
一元线性回归用直线拟合输入
最小二乘法通过最小化所有样本的残差平方和估计参数:
记:
当
斜率还可以写成协方差与方差之比:
这里要求协方差和方差使用一致的归一化约定。若所有
一元线性回归计算示例
给定:
有:
斜率分子和分母分别为:
因此:
对应截距为:
所以这组数据的最小二乘拟合直线是:
如果只需要斜率,应取
多变量线性回归可以写成:
当
实际数值计算通常优先使用 QR 或 SVD 求解,而不是直接显式计算
线性关系与统计假设
经典线性回归可以写成:
其中
将所有样本写成矩阵后,上面的一元平方和可以统一写成最小化残差平方和:
它不是最大化误差。常见的经典回归假设及其作用可以区分为:
| 假设 | 含义 | 主要作用 |
|---|---|---|
| 线性关系 | 建立模型形式 | |
| 零条件均值 | 保证 OLS 在相应条件下无偏 | |
| 同方差 | 支持经典标准误和效率分析 | |
| 误差独立 | 不同样本的误差不相互依赖 | 支持常规推断,时间序列需特别处理 |
| 误差正态 | 主要用于小样本精确的 |
正态误差不是使用最小二乘法拟合参数的必要条件。不满足正态性时,仍然可以计算 OLS 拟合和预测;但在进行严格的小样本统计推断时,正态性会影响理论分布和检验结论。实际分析中还可以使用渐近结果、稳健标准误或其他稳健推断方法。
多重共线性
多重共线性是指多个自变量之间存在较强的线性相关关系。例如:
这意味着两个特征携带了大量重复信息。若设计矩阵的列几乎线性相关,则
当
- 回归系数对样本扰动很敏感,换一批样本后系数可能大幅变化;
- 系数的标准误和方差变大,单个系数的显著性检验可能不稳定;
- 特征系数的正负号甚至可能改变,难以解释每个特征的独立作用;
- 整体预测性能不一定明显变差,尤其是在共线特征组合仍能稳定表示有效信号时。
因此,多重共线性主要伤害的是参数估计的稳定性和可解释性,而不是必然让训练集预测误差变大。可以使用相关矩阵、条件数或方差膨胀因子(VIF)辅助诊断,也可以通过删除冗余特征、合并特征、降维或正则化缓解。
Ridge 与 Lasso:两种常见正则化
在 OLS 目标上加入参数惩罚,可以限制模型复杂度并缓解系数不稳定。以平方损失为例:
Ridge Regression(岭回归)加入
其中:
Ridge 通常把相关特征的系数一起压小,使问题更稳定,但一般不会把系数精确压到
Lasso Regression(最小绝对收缩与选择算子)加入
其中:
由于
两者的核心区别是:
| 方法 | 惩罚项 | 系数特点 | 典型作用 |
|---|---|---|---|
| OLS | 无额外惩罚 | 可能受共线性影响而不稳定 | 无约束的最小二乘拟合 |
| Ridge | 通常变小但不为零 | 收缩系数、缓解共线性 | |
| Lasso | 部分系数可以为零 | 稀疏建模、特征选择 |
当多个特征高度相关时,Lasso 在这些特征之间选择谁保留可能比较不稳定;Ridge 往往更倾向于共同收缩相关特征。惩罚强度
与泛化性能
需要先区分拟合与泛化:同一训练集上的普通 OLS 增加特征后,训练集
回归损失:MSE、MAE 与 Huber
OLS 的名称来自 Ordinary Least Squares,前文的一元和矩阵形式都表明它优化的是残差平方和;这里进一步比较平方损失、绝对值损失与 Huber 损失。OLS 不是最小化残差绝对值之和。若目标改为:
则对应最小绝对偏差回归,也常称为
Huber 损失在小误差区域使用平方损失,在大误差区域改用线性损失。设残差
Huber 损失在
| 损失 | 小误差行为 | 大误差与异常值 | 可导性与特点 |
|---|---|---|---|
| MSE | 二次惩罚 | 放大大误差,异常值影响更明显 | 处处光滑,优化方便 |
| MAE | 线性惩罚 | 对异常值相对稳健 | 在 |
| Huber | 二次惩罚 | 超过 | 连续且一阶可导,兼顾平滑性与稳健性 |
2.5 朴素贝叶斯:条件独立假设
朴素贝叶斯是使用贝叶斯公式进行分类的监督学习方法。对特征向量
分类时,分母
“朴素”指的是一个强假设:给定类别
代入贝叶斯公式后,分类规则变为:
这里必须注意是条件独立,不是说特征在任何情况下都无条件独立。比如邮件分类可以使用是否出现某些词、是否包含链接、邮件长度等特征;模型假设在类别已知的条件下,这些特征的联合概率可以拆成各自条件概率的乘积。
需要估计的概率量
训练朴素贝叶斯时,主要需要从数据中估计两类量:
- 类别的先验概率
; - 每个特征在给定类别下的条件概率
。
朴素假设使完整的联合条件概率可以由这些单特征概率重构:
因此,不需要为每个类别直接估计高维特征的完整联合分布;只需估计各个一维条件概率,再通过乘积组合。对分类比较而言,也不需要显式估计边缘概率
如果需要输出归一化的后验概率,而不仅仅是比较类别,则仍然可以通过:
进行归一化。因此更准确的说法是:分类决策时无需显式计算边缘概率,不是边缘概率在概率模型中完全不存在。
条件概率方向与贝叶斯反演
贝叶斯公式用于把“观察到证据后属于某类别的概率”与“某类别下出现该证据的概率”联系起来:
其中:
| 概率 | 含义 |
|---|---|
| 观察到特征 | |
| 已知属于类别 | |
| 类别 | |
| 证据 |
条件概率的方向不能直接交换。一般来说:
计算后验概率时,分母需要用全概率公式展开。例如在垃圾邮件识别中,设:
先计算证据的边缘概率:
再计算后验概率:
这里的
对于文本中的 Multinomial Naive Bayes,常用平滑估计避免某个词在某个类别中未出现而导致整个概率乘积变为零:
其中
以避免许多小概率相乘造成数值下溢。
朴素贝叶斯的不同变体,主要区别在于对单个特征分布的具体假设:
| 变体 | 常见特征形式 | 典型分布假设或用途 |
|---|---|---|
| Gaussian Naive Bayes | 连续数值特征 | 类别条件下特征近似服从高斯分布 |
| Multinomial Naive Bayes | 词频、计数等 | 适合文本计数特征 |
| Bernoulli Naive Bayes | 0/1 特征 | 适合是否出现某个特征的二值表示 |
因此,“特征给定类别后条件独立”是朴素贝叶斯共同的核心假设;“连续特征服从高斯分布”只适用于 Gaussian Naive Bayes,不是所有朴素贝叶斯变体的共同条件。
2.6 XGBoost:二阶信息与正则化
XGBoost 是一种梯度提升树模型,属于监督学习和 Boosting。它按顺序增加决策树,每棵新树用于拟合当前模型尚未解释的部分,并通过正则化控制树的复杂度。
第
XGBoost 优化带有正则项的目标函数:
对一棵有
其中
二阶泰勒展开
在已有预测
忽略与新树无关的常数项后,第
因此,XGBoost 在评估叶子权重和候选分裂时同时使用一阶梯度
例如,忽略 L1 正则影响时,一个节点分裂为左右子节点的简化增益可写成:
其中
树深度与泛化
增加树深度通常会提升模型的拟合能力,使训练误差下降,但不保证泛化性能同步提升。树过深可能记住训练数据中的噪声,导致过拟合。XGBoost 常通过以下参数或机制控制复杂度:
- 限制最大树深度;
- 要求叶子节点达到最小样本量或最小 Hessian 权重;
- 对叶子数量和叶子权重进行正则化;
- 对样本或特征进行子采样;
- 使用学习率控制每棵树的贡献。
Gini 不纯度与 XGBoost 分裂增益
CART 分类树常用 Gini 不纯度衡量节点中的类别混杂程度:
Gini 越小,节点越纯;Gini 越大,类别越混杂。它是传统 CART 分类树的常见分裂指标。
XGBoost 的树分裂通常依据包含梯度和 Hessian 的目标增益,而不是直接把 Gini 不纯度作为通用分裂标准。可以这样区分:
分裂准则对比
- CART 分类树:常见 Gini 或信息增益。
- XGBoost:使用梯度和 Hessian 计算分裂增益,并加入正则化。
三、迁移学习与多任务学习
迁移学习和监督/无监督是不同维度的概念。它描述的是如何利用已有任务或已有模型中的知识,而不单纯描述标签是否存在。
3.1 迁移学习
迁移学习先在源任务或大规模数据上学习表示,再把已有知识迁移到目标任务。它特别适合:
- 目标任务数据量不足;
- 目标任务与预训练任务存在相关性;
- 从头训练容易过拟合或训练成本过高。
常见做法包括:
- 直接复用预训练模型;
- 冻结部分底层特征提取层;
- 只训练新的任务头;
- 对全部或部分参数进行微调。
迁移学习的核心收益是复用已有表示、提升数据效率、减少训练时间和计算成本。任务差异过大时,已有表示可能不适用,甚至会产生负迁移。
迁移学习适用场景
数据量较少且目标任务与预训练任务相关时,优先考虑迁移学习。
3.2 多任务学习
多任务学习同时训练多个相关任务,让它们共享部分模型参数或中间表示。典型结构是:
共享主干可以复用:
- 模型参数;
- 特征表示;
- 中间计算结果。
因此多任务学习的主要优势是参数、计算和表征的复用。它不保证所有任务的训练速度一致,也不保证任务之间完全互不干扰。不同任务的目标可能冲突,出现负迁移或梯度竞争。
例如视觉模型可以共享一个 Backbone,再分别连接:
- 图像分类头;
- 目标检测头;
- 深度估计头。
多任务学习速记
共享 Backbone + 多个任务 Head。