本节摘要:监督学习是四范式中工业化程度最高的一支,训练数据里每个样本都配着标准答案,模型靠"预测、对答案、算损失、改参数"的回路慢慢练出本领。本节从"回归"一词的身世讲起,把监督学习拆成两条产线:回归预测房价、气温这类连续数值,分类给垃圾邮件、信用风险贴离散标签。线性回归、逻辑回归、决策树、SVM、KNN、朴素贝叶斯与随机森林、梯度提升逐个登场,各自的机理、代价与选型边界一并交代。关键词:标签、损失、均方误差、交叉熵、集成学习。
先讲一个词的身世。十九世纪八十年代,高尔顿研究父母与子女的身高,发现一桩怪事:高个子的父母,孩子确实偏高,却倾向于比父母矮一截;矮个子的父母,孩子偏矮,却倾向于比父母高一截。子女的身高仿佛被一只看不见的手往人群平均值的方向拽,他给这只手起名叫"向平均回归"。统计学后来把预测数量趋势的方法统称回归,这个词一路用到了机器学习。它的出身自带一条提醒:回归预测的从来不是某个个体的宿命,而是给定条件下的中心趋势与波动范围。
监督学习的规矩不复杂。数据成对出现,一边是输入特征,一边是标准答案——标签。模型吃进特征,吐出预测,再与标签对照,算出一个叫损失的数字:损失大,说明预测偏得远。训练就是不断拧参数,把损失往低处压。这套回路像旧式作坊里学徒工的培养:师傅不讲课,只在每个工件量完尺寸后说一句差多少,学徒的手感就在一次次误差里长出来。
参数往哪边拧,最常用的办法是梯度下降:算出损失关于每个参数的偏导,朝下坡方向挪一小步,再算、再挪,像蒙着眼下山,每一步都往更低处试。细节这里不展开,只需记住训练不是灵光一闪,而是沿着误差的地形一步一步蹭下去。
按输出形态,监督学习分成两条产线,见下表:
| 维度 | 回归 | 分类 |
|---|---|---|
| 输出形态 | 连续数值 | 离散类别 |
| 典型问题 | 房价、气温、销售额、患者住院时长 | 垃圾邮件识别、疾病诊断、信用风险、情感分析 |
| 常用损失 | 均方误差 | 交叉熵 |
| 常用度量 | 均方根误差、决定系数 | 精确率、召回率、F1 分数 |
💡 关键直觉:回归与分类的分界线在输出空间的形状。问"明天气温多少度"是回归,问"明天要不要发高温预警"是分类——同一份数据,换个问法就换了产线。电网调度中心里,负荷预测给的是连续的兆瓦数,设备告警给的是离散的等级,两条产线在同一栋楼里各干各的活。
线性回归是整条产线的老祖父。它假设输出是输入特征的加权求和,训练目标是让所有样本的残差平方和最小——残差就是预测值减真实值。这条最佳拟合直线在两维里画得出来,挪到几十维照样成立,只是直线升级成超平面。
误差怎么称重,产线上有四杆秤:
| 指标 | 口径 | 特点 |
|---|---|---|
| 均方误差 MSE | 误差平方后取平均 | 对大误差惩罚重 |
| 均方根误差 RMSE | 均方误差开根号 | 与原数据同单位,直观 |
| 平均绝对误差 MAE | 误差绝对值取平均 | 对异常值不敏感 |
| 决定系数 R 方 | 模型解释的目标变异占比 | 越接近 1 拟合越好 |
四杆秤各有脾气。平方放大了离群点的影响,几个预测错得离谱的样本就能把均方误差抬得很高;平均绝对误差厚道些,对每个误差一视同仁。向业务方汇报时,均方根误差更受欢迎——单位和房价、气温的原单位一致,一听就知道平均偏差多大。决定系数走的是另一条路:不看绝对误差,看模型解释了目标变量多少比例的波动,越接近 1 说明拟合越有说服力。
线性假设不够用时,工具箱里有后手。多项式回归把特征的平方项、立方项请进来,捕捉弯曲的关系——它本质仍是线性模型,"线性"说的是对参数线性,不是对特征。决策树回归换了思路,把数据空间递归切成一块块区域,每片叶子的预测值就是落在区域内训练样本的平均值,切出来的是台阶状的关系。支持向量回归 SVR 则在数据中间铺一条误差管道:管道内的点不算错,只惩罚落在管道外的偏差,目标是管道尽量平、模型尽量简。
再往上走是集成方法。随机森林回归种下成百上千棵树,每棵树只看一部分数据、一部分特征,最后把所有树的预测取平均——单棵树爱犯错,错的方向却各不相同,一平均就把各自的偏差抵掉大半。梯度提升是另一种脾气:树一棵接一棵地长,每一棵专门收拾前面所有树加起来剩下的残差,小步快跑地逼近目标。GBDT 是这个家族的原始版本,XGBoost 与 LightGBM 是后来在速度和内存上反复打磨的实现,至今仍是表格类数据建模的常客。
回归的落地场景随处可见:按面积、地段、房间数估房价;按历史气象数据与季节报气温;按广告投入和历史销量做销售额预测;医院用它预估患者的住院时长、推算给药剂量。电网侧的负荷预测是其中最苛刻的一类——未来一天的用电需求是一条连续曲线,预测偏低要临时启用昂贵的调峰机组,偏高又得压掉基础负荷,误差直接换算成调度单上的真金白银。
⚠️ 常见坑:拿线性模型外推。训练数据里的面积都在四十到一百二十平米之间,你偏要问两百平米的房子多少钱,模型的回答并不可靠——拟合直线在训练范围之外没有数据托底,报多远都不脸红。回归模型吃的是训练分布覆盖到的区间,出了边界,先补数据再开口。
分类产线的第一个陷阱是名字。逻辑回归虽顶着"回归"二字,干的却是分类的活。它在线性输出后面接一个 S 形的 sigmoid 函数,把任意实数压进 0 到 1 之间,当作样本属于正类的概率;概率过半判正,不过半判负。训练时的损失也不再是均方误差,而是交叉熵——预测的概率分布离正确答案越远,罚得越重。这位老将是工业界风控与营销模型的长青基线,二分类能干,扩展之后多分类也能干。
决策树分类值得多说两句,因为它和上一章的主角血脉相连。一棵决策树就是一组"如果……那么……"的嵌套规则:内部节点问一个特征,分支给出答案,叶子给出类别。这不就是专家系统的规则吗?区别只在来历——专家系统的规则靠工程师访谈专家一条条手写,决策树的规则由算法在数据里自动长出来,连提问的先后顺序都是按"哪个特征最能切干净类别"挑的。规则没有消失,只是换了产地:从手工作坊搬进了自动化车间。单棵树的毛病是不稳,数据稍微一抖,长出来的形状就大变,所以工程里树几乎总以森林的形态出现。
支持向量机 SVM 走几何路线:在两类样本之间画一条分界线,并刻意让离分界线最近的那几个点尽量离得远——最大化间隔,是它压榨泛化能力的诀窍,撑起间隔的那几个样本就叫支持向量。线性分不开时,核技巧把数据悄悄映射到更高维的空间再切,绕开了显式升维的计算量。
KNN(K 近邻)是产线上最懒的工人:训练阶段它什么都不学,只把数据原样存着;来了新样本,就数一数它的 K 个近邻多数是什么类别,按多数投票表态。没有显式的训练过程,代价全花在预测那一刻——每次预测都要与存下来的样本逐个算距离,数据一多,响应就慢。
朴素贝叶斯带着概率的口音。它以贝叶斯定理为底,再加一个大胆的假设:给定类别时各特征条件独立。"朴素"二字就是这个假设的自嘲——特征之间明明常常相关,它装作看不见。但架不住训练快、对高维稀疏数据皮实,垃圾邮件过滤这类文本分类曾是它的主场:一封邮件里每个词出现与否各算各的账,乘起来就是判决。
森林与提升在分类产线照样能干:随机森林让多棵树投票定夺,梯度提升家族照样逐棵纠错。至于神经网络,它能把图像、语音这类复杂数据直接吃进去,是第三章的主角,此处按下不表。
分类任务自身还有细分。二分类只有两个类别,如医学检验的阳性与阴性;多分类在多个类别中单选其一,如手写数字识别;多标签分类允许一个样本同时命中多个类别,一张照片里既有猫也有狗,两个标签都得挂上。
⚠️ 常见坑:标签本身有错。监督学习的老师是标签,老师教错了,学生学得越认真错得越离谱。标注员看走眼、标准前后不一、数据抓取时的类别错位,都会把噪声灌进标签。训练前先抽样人工复核,训练后盯住损失居高不下的那批样本,常常能揪出标注质量问题——别急着换模型,先审老师。
💡 关键直觉:决策树是专家系统的转世。规则没有死,只是换了出生方式:过去由专家口述、工程师手写,如今从数据里自动长出。范式转移转移的不是规则本身,而是规则的产地。
算法一多,初学最容易犯的错是迷信名气。选型的现实是:没有一种算法在所有任务上都最优——这条结论在学界有个正式名号,叫"没有免费午餐"。务实的打法是先拿逻辑回归或一棵小决策树立起基线,看看简单模型能吃下多少,再逐级升级。
| 算法 | 机理一句话 | 可解释性 | 非线性能力 | 主要代价 |
|---|---|---|---|---|
| 线性回归 | 加权求和拟合直线 | 高 | 弱 | 对异常值敏感 |
| 逻辑回归 | 线性输出压成概率 | 高 | 弱 | 界限只能是线性的 |
| 决策树 | 按特征递归切分 | 高 | 强 | 不稳、易过拟合 |
| 随机森林 | 多树并行投票 | 中 | 强 | 模型大、算得慢 |
| SVM | 最大化间隔切分 | 中 | 靠核技巧补 | 大数据训练开销大 |
| KNN | 近邻多数投票 | 中 | 天然分段 | 预测慢、怕高维 |
| 朴素贝叶斯 | 条件独立算概率 | 高 | 弱 | 独立假设常不成立 |
| 梯度提升 | 逐棵树纠残差 | 中 | 强 | 调参多、易过拟合 |
逻辑回归到底算回归还是分类? 算分类。名字里的"回归"是历史遗留——它确实在做类似回归的加权求和,只是最后一步把结果压成概率再判类别。看任务属性,不看名字。
为什么 KNN 被叫作懒学习? 因为它把所有力气都省到预测那一刻。训练零成本,预测时才临时找邻居。数据量上到百万级,这个"懒"就变成延迟,工程上常要专门建近邻索引来救场。
有了梯度提升还有必要学简单模型吗? 有。简单模型是标尺:简单模型就够用的任务,上复杂模型纯属浪费算力和可解释性;简单模型远远不够时,复杂模型那点提升幅度也才有对照可言。
答案都标好了,学起来自然快。可要是标签根本拿不到、或者贵得拿不起呢?下一节把老师请出教室,看数据在没有标准答案的情况下,能自己交代出些什么。