经典模型谱系:KNN、贝叶斯、决策树、SVM 与集成学习
建立一棵「算法选型地图」:讲清每类经典模型的核心直觉、优缺点与适用场景,重点理解集成学习为什么靠「三个臭皮匠」显著提升效果,这是表格数据竞赛与工业界的常胜将军
- 说清 KNN、朴素贝叶斯、决策树、SVM 各自的核心思想与边界
- 理解偏差、方差与模型复杂度的关系
- 掌握 Bagging(随机森林)与 Boosting(GBDT 系列)两条集成路线的区别
- 面对一个新的表格任务,能有依据地先试哪个模型
不用背公式,先建立「选型直觉」
经典模型数量繁多,但每个都对应一种关于「数据长什么样」的假设。理解了假设,就知道什么时候它好用、什么时候会失效。下面这棵树把主流监督模型按核心思路组织起来。
KNN 近邻
不训练,预测时找最近的 K 个邻居投票;简单但数据量大时慢
朴素贝叶斯
用贝叶斯定理+特征条件独立假设,文本分类基线,快、小、可解释
SVM 支持向量机
找让两类间隔最大的超边界,配合核函数处理非线性,小样本强
决策树
一连串 if-else 划分,可解释、能处理混合特征,但单棵树容易过拟合
Bagging → 随机森林
并行训练多棵高方差树再投票/平均,降方差、稳
Boosting → GBDT/XGBoost/LightGBM
串行地让下一棵树纠正前面的残差,精度高、表格数据常胜
KNN 与朴素贝叶斯:最朴素的两条路线
K 近邻(KNN)几乎是「不训练」的代表:它连参数都不学,训练时只是把样本原封不动存起来,等来了新样本,就量它到所有训练样本的距离,找最近的 K 个邻居投票表决。它的直觉是「物以类聚」——和你最像的那批人是什么类,你多半也是什么类。优点是无需假设数据分布、上手即用;缺点在预测阶段才暴露:每来一个新样本都要和全部历史样本比距离,数据一大就慢得难以忍受,而且特征的量纲不统一时距离会被某几个特征主导,必须先标准化。K 值本身也是个权衡:K 太小容易被个别噪声带偏(高方差),K 太大又会把隔壁类别的点也算进来、决策边界过于平滑(高偏差)。
朴素贝叶斯走的是概率路线:它用贝叶斯定理,根据特征出现的情况反推最可能的类别,并大胆假设「在给定类别下,各个特征彼此独立」。这个「朴素」的独立假设在现实里几乎从不成立(比如一个词出现往往牵动另一个词),但奇怪的是它在文本分类上又快又稳——垃圾邮件、情感分析的经典基线常是它。它的优势是训练预测都极快、需要的数据少、结果可解释,还天然给出概率;代价是那个独立假设让它难以捕捉特征间的关联,在复杂任务上精度有天花板。
决策树:可解释性的代表
决策树就是在不断回答问题:「年龄是否大于 30?」「负债比例是否偏高?」每问一个问题就把样本分成两堆,直到叶子节点给出预测。它的优点是结果像规则一样可解释、能同时吃数值和类别特征、对量纲不敏感;缺点是单棵树容易长得过深、把噪声也分进去,方差很大、稍换一批数据结构就变。
SVM:把两类分得「最开」
支持向量机(SVM)的目标不是随便找一条边界分开两类,而是找一条让两类之间「间隔」最大的边界——就像在两群人之间修一条最宽的马路,这样离边界最近的点(叫支持向量)到路沿都有充足缓冲,对新样本的容忍度最高。当两类在原始空间里线性缠在一起,SVM 借助核函数把数据悄悄映射到更高维、更容易线性分开的空间,人却无需真的动手做这个映射(这就是著名的核技巧)。它在中小规模、特征维度较高的数据集上曾非常强,理论干净;但当数据量涨到十万百万级,它的训练开销和调参复杂度就显得吃力,逐渐被树模型和神经网络取代。记住它的直觉:追求最稳的那条边界,而不是勉强分开。
集成学习:为什么「一群模型」更靠谱
集成学习的哲学是组合多个弱模型得到一个强模型,分两条主流路线,区别在于模型之间是并行还是串行。
多棵树并行、互相独立
每棵树用有放回抽样的不同数据/特征
最后投票或平均
主要降低方差,让结果更稳定、不易过拟合
树串行,一棵接一棵
后一棵重点拟合前面没学好的残差
加权累加得到最终模型
主要降低偏差,精度高但要小心过拟合、需调参
在结构化表格数据上,梯度提升树(XGBoost / LightGBM / CatBoost 这一类)长期是性价比最高的基线,往往先把它调到很好,再考虑更复杂的深度模型;而在图像、语音、文本这类非结构化数据上,深度学习才体现压倒性优势。先用简单模型建立强基线,是资深工程师的习惯。
深度学习来了,为什么还要学这些老模型
今天一提到模型,很多人立刻想到大模型,但经典模型远没有过时。第一,表格数据(银行风控、电商转化、医疗评分)至今仍是梯度提升树的天下:它训练快、对特征量纲不敏感、能直接吃类别与数值混合特征、还能给出特征重要性,而纯深度学习在这类结构化数据上往往更难调、收益有限。第二,它们是理解机器学习概念的最短路径:偏差、方差、可解释性、正则化、核方法这些思想,在线性模型和树上能看得一清二楚,到了深网里反而被海量参数掩盖。第三,可解释性在金融、医疗这类「必须说清为什么这么判」的场景里是硬需求,一个能列出决策规则的树,往往比一个黑箱更能过审。所以正确态度是:不把老模型当古董背,而是把它们当理解「数据假设—模型选择—权衡」的训练场,同时知道各自在今天版图里的位置。
小测验
关于随机森林和梯度提升树,下列说法正确的是?
资深工程师加餐
底层原理 · 大厂视角 · 工程经验,点卡片展开
从线性回归到神经网络,本质都一样:定义一个带参数的函数 fθ(x),用损失函数衡量它和真实答案的差距,再沿梯度方向更新参数。监督、无监督、强化学习的区别,只在「训练信号从哪里来」。先把这套统一视角立住,后面遇到的任何模型都是它的具体实例,就不会被层出不穷的名词淹没。