3. 机器学习基础回顾:监督学习与无监督学习,分类与回归问题,过拟合与欠拟合,偏差与方差权衡
在进入 LightGBM 实时风控实战之前,必须夯实机器学习核心概念。本章从学习范式、任务类型、模型泛化能力三个维度,系统梳理监督学习与无监督学习的区别、分类与回归的本质差异,以及过拟合/欠拟合、偏差/方差权衡这两个贯穿建模全周期的核心问题。
3.1 监督学习 vs 无监督学习
机器学习算法根据训练数据是否包含标签(Label),分为监督学习与无监督学习两大范式。风控场景中,绝大多数建模任务属于监督学习,但无监督学习在异常检测、用户分群等环节同样不可或缺。
| 对比维度 | 监督学习 | 无监督学习 |
|---|---|---|
| 训练数据 | 包含输入特征 X 与目标标签 Y | 仅包含输入特征 X,无标签 |
| 目标 | 学习 X→Y 的映射关系,预测新样本标签 | 发现数据内在结构、分布或模式 |
| 典型算法 | 线性回归、逻辑回归、决策树、LightGBM、XGBoost、神经网络 | K-Means、DBSCAN、PCA、t-SNE、孤立森林 |
| 风控应用 | 信用评分、欺诈检测、逾期预测 | 用户分群、异常交易检测、特征降维 |
| 评估方式 | 与真实标签对比(准确率、AUC、KS、F1) | 无标签,依赖轮廓系数、簇内距离、重构误差等 |
3.2 分类问题与回归问题
监督学习任务根据目标变量 Y 的类型,分为分类与回归两大类。风控场景中,分类问题占主导,但回归模型同样有重要应用。
3.2.1 分类问题
目标变量为离散类别。风控中最常见的是二分类:区分“好客户”与“坏客户”。多分类场景如“正常/关注/逾期/核销”等风险等级划分。
- 输出形式: 类别标签或概率值(如违约概率 PD)
- 常用评估指标: AUC、KS、准确率、精确率、召回率、F1-score、混淆矩阵
- 典型算法: 逻辑回归、决策树、随机森林、LightGBM、XGBoost
3.2.2 回归问题
目标变量为连续数值。风控中回归任务包括:预测客户授信额度、预估违约损失金额、预测用户生命周期价值等。
- 输出形式: 连续实数值
- 常用评估指标: MSE、RMSE、MAE、R²、MAPE
- 典型算法: 线性回归、岭回归、LightGBM(回归模式)、XGBoost(回归模式)
3.3 过拟合与欠拟合
模型在训练集与测试集上的表现差异,直接反映模型的泛化能力。过拟合与欠拟合是建模过程中最需要警惕的两个极端状态。
3.3.1 欠拟合(Underfitting)
模型过于简单,未能捕捉数据中的有效模式,在训练集和测试集上表现均差。
- 表现: 训练误差高,测试误差也高,两者接近
- 原因: 模型容量不足、特征太少、训练不充分、正则化过强
- 解决: 增加模型复杂度(如加深树深度)、增加有效特征、减少正则化、延长训练轮次
3.3.2 过拟合(Overfitting)
模型过度学习训练数据中的噪声和细节,在训练集上表现极好,但在测试集上表现差。
- 表现: 训练误差极低,测试误差高,两者差距大
- 原因: 模型过于复杂、训练数据不足、特征维度过高、噪声过多
- 解决: 增加训练数据量、降低模型复杂度(限制树深度/叶子数)、增加正则化(L1/L2)、早停法、特征选择、交叉验证
num_leaves、max_depth、min_data_in_leaf、lambda_l1、lambda_l2 等参数是控制过拟合的核心手段。
3.4 偏差与方差权衡
偏差(Bias)与方差(Variance)是理解模型泛化误差的两个核心视角,两者之间存在根本性的权衡关系。
| 概念 | 定义 | 与过拟合/欠拟合的关系 | 风控影响 |
|---|---|---|---|
| 偏差 | 模型预测值的期望与真实值之间的差异,衡量模型对真实关系的拟合能力 | 高偏差 → 欠拟合(模型过于简单) | 模型系统性低估或高估风险,导致风险排序失真 |
| 方差 | 模型在不同训练集上的预测波动程度,衡量模型对数据变化的敏感度 | 高方差 → 过拟合(模型过于复杂) | 模型对样本微小变化反应剧烈,线上稳定性差 |
| 噪声 | 数据本身固有的不可约误差 | 无法通过模型优化消除 | 数据质量决定风控模型的天花板 |
偏差-方差权衡的核心规律: 随着模型复杂度增加,偏差下降,方差上升。最优模型复杂度位于总误差(偏差² + 方差 + 噪声)的谷底。LightGBM 通过梯度提升的迭代机制天然具备偏差-方差调节能力:浅树(高偏差低方差)与深树(低偏差高方差)的加权组合,使得集成模型在整体上达到更优的权衡。
3.5 风控建模中的偏差-方差实践指南
在实时风控场景中,偏差与方差的权衡直接影响模型的上线效果与稳定性。以下为 LightGBM 建模中的具体实践建议:
| 参数 | 增大该参数 | 减小该参数 | 对偏差-方差的影响 |
|---|---|---|---|
num_leaves |
增加模型复杂度 | 降低模型复杂度 | 增大 → 低偏差高方差;减小 → 高偏差低方差 |
max_depth |
树更深,拟合更强 | 树更浅,泛化更好 | 增大 → 低偏差高方差;减小 → 高偏差低方差 |
learning_rate |
步长大,收敛快 | 步长小,需要更多迭代 | 增大 → 可能过拟合;减小 → 通常降低方差 |
num_iterations |
更多迭代,拟合更充分 | 迭代少,可能欠拟合 | 过多 → 高方差;过少 → 高偏差 |
subsample |
样本比例高 | 样本比例低(行采样) | 减小 → 降低方差,增加偏差 |
feature_fraction |
特征比例高 | 特征比例低(列采样) | 减小 → 降低方差,增加偏差 |
lambda_l1 / lambda_l2 |
正则化强 | 正则化弱 | 增大 → 降低方差,增加偏差 |
min_data_in_leaf |
叶子节点最小样本多 | 叶子节点最小样本少 | 增大 → 降低方差,增加偏差 |
num_leaves ≤ 64、max_depth ≤ 8、min_data_in_leaf ≥ 50,然后通过交叉验证逐步释放复杂度,监控验证集 AUC 与 KS 的波动幅度,确保模型在训练集与验证集之间的性能差距不超过 3%。