跳转至

14.10   小结

这一章里,小率把第 13 章的“训练、验证、泛化”框架,真正落到一组经典模型上。现在他不再问“哪个模型最厉害”,而是会先问:数据有没有标签?边界是不是非线性?簇是不是圆形?样本多不多?特征维度高不高?错误代价是什么?


14.10.1   模型工具箱回顾

图 14.10.0 小率和均哥整理经典模型工具箱


14.10.2   一页速查图

图 14.10.1 模型速查


14.10.3   模型选择地图

flowchart TD
    A["训练时有标签吗"] -->|有| B["预测类别还是数字"]
    A -->|没有| C["想分群还是压缩维度"]
    B --> D["需要简单基线"]
    D --> E["KNN / 决策树 / 朴素贝叶斯"]
    B --> F["需要稳健表格模型"]
    F --> G["随机森林 / 梯度提升"]
    B --> H["中小样本高维边界"]
    H --> I["SVM"]
    C --> J["簇近似圆形且知道 K"]
    J --> K["K-Means"]
    C --> L["簇形状不规则或有噪声"]
    L --> M["DBSCAN"]
    C --> N["高维可视化或压缩"]
    N --> O["PCA / t-SNE / UMAP"]
模型不是排名表,而是工具箱。先看数据形状,再拿工具。
这就是本章最重要的判断力。

14.10.4   模型对比表

模型 核心直觉 优点 常见风险
KNN 找邻居投票 简单、边界灵活 需标准化、预测慢、怕高维
决策树 一连串问题切分 可解释、不怕尺度 容易过拟合
随机森林 多树投票 稳定强基线 模型大、解释弱
SVM 最大间隔 中小高维数据强 参数敏感、大样本慢
朴素贝叶斯 贝叶斯合并证据 文本小数据快 独立假设强、概率不稳
梯度提升 逐步修正错误 表格任务强 易过拟合、需早停
K-Means 找 K 个中心 快、直观 偏爱圆形簇、需指定 K
DBSCAN 找密集区域 任意形状、识别噪声 参数敏感、多密度困难
降维 压缩保结构 可视化、去噪、加速 信息损失、图需谨慎解释

14.10.5   十个容易翻车的地方

常见误区

  1. KNN 和 SVM 忘记标准化。
  2. 决策树不限制深度,训练集满分后误以为模型很好。
  3. 把随机森林特征重要性当成因果解释。
  4. 梯度提升不做早停,只堆更多树。
  5. 朴素贝叶斯输出概率未经校准就拿去做高风险决策。
  6. K-Means 用在月牙形簇上。
  7. 只用 inertia 选择 K,忘记它会随 K 增大单调下降。
  8. DBSCAN 在高维空间直接跑。
  9. 过度解读 t-SNE 图上簇间距离。
  10. 在全量数据上标准化、降维或编码后再交叉验证。

14.10.6   一条实战流程

  1. 先做一个简单基线:分类可从 LogisticRegression、KNN、树开始;文本可试朴素贝叶斯。
  2. 用交叉验证估计泛化,指标要匹配任务代价。
  3. 检查泄漏:标准化、编码、降维、特征选择都放进 Pipeline。
  4. 看误差样本:模型错在哪里,比平均分更有用。
  5. 根据问题换模型:非线性表格可试随机森林或梯度提升;不规则聚类可试 DBSCAN;高维可先降维。
  6. 最后再调参,不要一上来就追复杂模型。
所以模型选择不是玄学,是一组可检查的问题。
对。先问清问题,模型自然会少走弯路。

14.10.7   术语对照表 (Glossary)

中文 English 本章含义
K 近邻 K-Nearest Neighbors 用最近邻居投票或平均
决策树 Decision Tree 用递归切分形成规则树
随机森林 Random Forest 多棵随机树投票或平均
支持向量机 Support Vector Machine 寻找最大间隔分类边界
朴素贝叶斯 Naive Bayes 条件独立假设下的贝叶斯分类器
梯度提升 Gradient Boosting 逐步加模型修正损失
K-Means K-Means 用 K 个中心划分簇
DBSCAN DBSCAN 基于密度发现簇和噪声
降维 Dimensionality Reduction 把高维数据压到低维

小率的笔记本

经典模型没有绝对排名。KNN 看邻居,树模型切规则,森林和提升做集成,SVM 找间隔,朴素贝叶斯合并证据,K-Means 和 DBSCAN 找结构,降维帮助看见高维数据。真正重要的是让模型匹配数据形状和任务代价。


14.10.9   练一练

本章核心练习题汇总。建议先动笔再看参考答案。

练习 14.1.1

KNN 中 \(K=1\)\(K=N\) 分别有什么风险?

参考答案

\(K=1\) 极易过拟合,边界跟着噪声乱跳;\(K=N\) 几乎只预测多数类或全局均值,容易欠拟合。

练习 14.2.1

决策树需要标准化吗?为什么?

参考答案

通常不需要。决策树按阈值切分,特征单调缩放不会改变样本排序,因此不像 KNN/SVM 那样依赖尺度。

练习 14.3.1

随机森林为什么比单棵树更稳定?

参考答案

它通过 Bootstrap 样本随机和特征随机训练多棵差异化树,再投票或平均,降低单棵树的方差。

练习 14.4.1

RBF SVM 中 \(\gamma\) 太大可能发生什么?

参考答案

每个样本影响范围过小,边界会变得很局部、很弯,容易过拟合。

练习 14.5.1

为什么朴素贝叶斯适合做文本分类基线?

参考答案

文本特征通常高维稀疏,朴素贝叶斯参数少、训练快,小数据也能稳定工作。

练习 14.6.1

梯度提升和随机森林的合作方式有什么不同?

参考答案

随机森林多棵树并行训练后投票,主要降方差;梯度提升按顺序训练,每棵树修正前面模型的错误,主要降偏差。

练习 14.7.1

K-Means 为什么不适合月牙形簇?

参考答案

K-Means 用中心和平方距离定义簇,偏爱近似圆形、大小相近的结构,月牙形会被中心距离错误切开。

练习 14.8.1

DBSCAN 输出标签 -1 表示什么?

参考答案

表示噪声点,也就是不属于任何密集簇的样本。

练习 14.9.1

t-SNE 图上两个簇离得很远,能说明原空间里两类一定很远吗?

参考答案

不能。t-SNE 主要保留局部邻域结构,全局距离和簇间距离不能直接当作原空间距离解释。