什么是监督学习
监督学习(supervised learning)是一种机器学习范式:算法从成对的样本中学习从输入到输出的映射,每一对都是一个输入连同它的正确输出,这种成对的数据叫作标注数据(labelled data)[1]。Google 的机器学习课程把这个过程描述为:用标注数据训练模型,使模型能为新的、未见过的数据预测结果[2]。
怎么工作
训练集必须能代表模型日后会遇到的更广泛的数据,其中每一项都配有一个正确输出,称为标签(label)或目标(target)[1]。输入先被转换成特征向量(feature vector),学习算法则去寻找一个函数 g,把输入空间 X 映射到输出空间 Y[1]。按 Google 课程的说法,模型被喂进带标签的样例,从而学到特征与标签之间的关系[2]。
训练的目标是让训练数据上的损失(loss)尽可能小。一条路线是经验风险最小化(empirical risk minimisation),即最小化在训练集本身上量出的误差;另一条是结构风险最小化(structural risk minimisation),在误差之外再加一个惩罚项,用来控制偏差-方差权衡(bias-variance trade-off)[1]。
举一个小例子可以看清这个问题的形状。假设每个输入是一张图片,先被表示成一串像素值构成的特征向量,标签是「猫」或「狗」。训练就是不断调整函数 g,使它在尽可能多的训练样本上输出与标签一致的结果;惩罚项则用来抑制那种把训练样本背下来、面对新图片却毫无把握的函数。只要输入能用特征描述、输出能写成标签,同样的套路就适用。
怎么算成功
衡量成败的标准是泛化(generalisation):模型在没见过的数据上的准确率,通常用留出的测试集或交叉验证来估计[1]。Google 课程中的做法是,把训练好的模型在未见数据上的预测与真实值比较来评估它,之后才用于推断[2]。
常见算法
常用的算法家族包括支持向量机(support vector machine)、线性回归与逻辑回归、朴素贝叶斯、线性判别分析、决策树、k 近邻,以及多层感知机这类神经网络[1]。但没有哪一个算法对所有问题都最好:无免费午餐定理(no free lunch theorem)指出,不存在通吃一切问题的单一算法[1]。
局限
监督模型容易过拟合(overfitting),偏差-方差权衡也很难调好[1]。高维输入和有噪声的输出会降低准确率;当数据异构、冗余,或特征之间存在复杂交互时,一些算法的表现会明显变差[1]。训练还依赖大量高质量的标注数据,调参也很费时间[1]。偏差-方差两难本身,Geman、Bienenstock 和 Doursat 于 1992 年在《Neural Computation》上做过分析[1]。
它的位置
监督学习之所以重要,是因为它把「学习」变成了一个有明确目标的优化问题:给定输入和正确答案,去找一个在新数据上也能答对的函数。代价也来自同一个定义——标签要靠收集而且必须正确,过拟合要压住,算法和参数要仔细挑选。它的成功从不体现在训练集上的分数,而体现在泛化能力上[1]。
注释与来源
- Supervised learninghttps://en.wikipedia.org/wiki/Supervised_learning
- Supervised Learninghttps://developers.google.com/machine-learning/intro-to-ml/supervised
引用本页: 监督学习. TellWorld, https://www.tellworld.net/zh/learn/supervised-learning. 更新于 2026-11-07