跳到主要内容

监督学习

问题

什么是监督学习?分类和回归有什么区别?常见的监督学习算法和评估指标有哪些?

答案

监督学习(Supervised Learning) 是机器学习中最常见的范式——从带有标签的训练数据中学习输入到输出的映射关系。"监督"的意思是每条训练数据都有"正确答案"(标签),模型在训练过程中不断将自己的预测和正确答案对比,从而改进。

一、分类 vs 回归

监督学习根据标签类型分为两大任务:

维度分类(Classification)回归(Regression)
标签类型离散类别(猫/狗/鸟)连续数值(房价、温度)
输出类别概率分布实数值
损失函数交叉熵(Cross-Entropy)均方误差(MSE)
评估指标Accuracy、F1、AUCMSE、MAE、R2R^2
典型场景垃圾邮件、情感分析、图像识别房价预测、销量预测、股票预测

二分类 vs 多分类

  • 二分类:只有两个类别(正/负、是/否)
  • 多分类:三个及以上类别(猫/狗/鸟/鱼)
  • 多标签分类:一个样本可以同时属于多个类别(一篇文章既是"科技"又是"商业")

二、常见监督学习算法

算法类型核心思想优点缺点
线性回归回归找一条最拟合数据的直线/超平面简单、可解释只能拟合线性关系
逻辑回归分类线性模型 + Sigmoid,输出概率简单、可解释、工业常用线性决策边界
决策树分类/回归树状 if-else 规则直观、可解释易过拟合
随机森林分类/回归多棵决策树投票稳健、不易过拟合训练较慢
XGBoost分类/回归梯度提升树Kaggle 冠军常客需要调参
SVM分类找最大间隔超平面高维有效大数据慢
KNN分类/回归找 K 个最近邻投票简单、无需训练预测慢、维度灾难
神经网络分类/回归多层非线性变换强大、通用需要大数据和 GPU

三、分类评估指标详解

混淆矩阵

预测正预测负
实际正TP(真正例)FN(假负例)
实际负FP(假正例)TN(真负例)

核心指标

Accuracy=TP+TNTP+TN+FP+FN\text{Accuracy} = \frac{TP + TN}{TP + TN + FP + FN} Precision=TPTP+FP(预测为正的有多少是对的)\text{Precision} = \frac{TP}{TP + FP} \quad \text{(预测为正的有多少是对的)} Recall=TPTP+FN(真正为正的有多少被找到了)\text{Recall} = \frac{TP}{TP + FN} \quad \text{(真正为正的有多少被找到了)} F1=2×Precision×RecallPrecision+Recall\text{F1} = 2 \times \frac{Precision \times Recall}{Precision + Recall}
Precision vs Recall 的权衡
  • 垃圾邮件过滤:更关注 Precision(宁可漏过垃圾邮件,也不能把正常邮件误判为垃圾)
  • 癌症筛查:更关注 Recall(宁可误报,也不能漏掉真正的患者)
  • F1 Score:在两者之间取平衡

ROC 与 AUC

ROC 曲线:以 FPR 为横轴,TPR 为纵轴,在不同分类阈值下画出的曲线。

  • FPR(假正率)= FPFP+TN\frac{FP}{FP + TN}
  • TPR(真正率 = Recall)= TPTP+FN\frac{TP}{TP + FN}

AUC(Area Under Curve):ROC 曲线下面积,取值 0~1,越大越好。AUC = 0.5 表示模型和随机猜测一样差。

AUC 范围模型质量
0.9 - 1.0优秀
0.8 - 0.9良好
0.7 - 0.8一般
0.5 - 0.7较差

四、回归评估指标

MSE=1ni=1n(yiy^i)2\text{MSE} = \frac{1}{n}\sum_{i=1}^n(y_i - \hat{y}_i)^2 MAE=1ni=1nyiy^i\text{MAE} = \frac{1}{n}\sum_{i=1}^n|y_i - \hat{y}_i| R2=1(yiy^i)2(yiyˉ)2R^2 = 1 - \frac{\sum(y_i - \hat{y}_i)^2}{\sum(y_i - \bar{y})^2}
指标特点
MSE对大误差敏感(平方放大),最常用
MAE对异常值鲁棒
R2R^20~1,表示模型解释了多少方差,1 为完美

常见面试问题

Q1: 逻辑回归是分类还是回归?

答案:虽然名字带"回归",但逻辑回归是分类算法。它在线性回归的基础上加了一层 Sigmoid 函数,将输出映射到 (0, 1) 区间作为概率值,然后根据阈值(通常 0.5)决定分类。之所以叫"回归",是因为它回归的是概率值。

Q2: 决策树是如何决定分裂特征的?

答案:决策树在每个节点选择一个特征进行分裂,选择标准是使得分裂后"不纯度"下降最多的特征:

  • 信息增益(ID3):基于信息熵
  • 信息增益率(C4.5):解决信息增益偏向多值特征的问题
  • 基尼系数(CART):Gini=1pi2Gini = 1 - \sum p_i^2,计算更快

Q3: 随机森林为什么比单棵决策树好?

答案:随机森林通过两层"随机化"来降低过拟合:

  1. Bagging(样本随机):每棵树用有放回抽样的子数据集训练
  2. 特征随机:每次分裂只考虑随机选取的一部分特征

多棵"弱"决策树的投票结果比单棵"强"决策树更稳健——降低了方差(Variance),while 保持偏差(Bias)不变。这就是集成学习的核心思想。

Q4: 样本不均衡怎么处理?

答案

方法说明
过采样增加少数类样本(SMOTE 合成新样本)
欠采样减少多数类样本(随机下采样)
类别权重给少数类更高的损失权重
阈值调整降低少数类的分类阈值
集成方法BalancedRandomForest、EasyEnsemble
评估指标调整用 F1、AUC 而非 Accuracy

Q5: L1 和 L2 正则化的区别?

答案

L1 正则化(Lasso)L2 正则化(Ridge)
惩罚项λwi\lambda\sum\|w_i\|λwi2\lambda\sum w_i^2
效果产生稀疏解(很多权重为 0)权重接近 0 但不为 0
特征选择自动做特征选择不做特征选择
适用场景特征很多、需要筛选特征都有用、防止过拟合

相关链接