Supervised and Unsupervised Learning
Perspective
Supervised 和 unsupervised learning 是读机器学习相关文献时最基础的一道分界。它决定了一篇工作”在学什么”:是有标准答案可以对照,还是只能从数据自身结构里找模式。
先记住一个实用边界:区分这两类的关键不是算法复杂度,而是数据里有没有一个明确的目标变量 y。 有 y、要学”输入到输出的映射”就是 supervised;没有 y、要学”数据本身的结构”就是 unsupervised。读论文时先确认这一点,后面对评价指标和结论的判断才不会错位。
Definition
Supervised learning fits a model that maps input features to a known outcome variable y, using labeled examples. Unsupervised learning looks for structure in data that has no outcome variable, such as groups, lower-dimensional representations, or latent factors.
中文理解:监督学习是”有答案的学习”——给定特征 X 和标签 y,学一个从 X 预测 y 的函数。无监督学习是”没有答案的学习”——只有 X,目标是发现数据内部的结构(分组、降维、潜在因子)。
Why It Matters
这条分界决定了一系列下游判断:
- 模型该用什么评价?(有标签可以算预测误差;没标签只能看结构是否合理、可解释、可复现。)
- 结果能不能被”验证对错”?supervised 有 ground truth 可对照;unsupervised 通常没有唯一正确答案。
- 一个”聚类”或”降维”结果,是数据里的真实结构,还是算法和参数选择的产物?
把无监督结果当成有监督结论来解读,是常见误读——比如把 clustering 出来的群当作”客观存在的细胞类型”,而忽略它依赖于特征、距离度量和分辨率。
Unsupervised Learning
没有目标变量 y,目标是揭示数据自身的结构。
- 例子:PCA(降维)、clustering(K-means、层次聚类)、autoencoder(学习压缩表示)。
- 产出:低维表示、分组、潜在因子、异常点。
- 评价标准:没有唯一 ground truth,更多看结构是否稳定、可解释、可复现,以及是否对下游有用。
- 阅读提示:unsupervised 结果强依赖预处理、特征选择、距离度量和超参数。同一份数据换参数可能得到不同分组,所以要看作者是否检验了稳健性。
Supervised Learning
有目标变量 y,目标是学习从特征到 y 的映射。
- 例子:linear regression、random forest、XGBoost、neural network。
- 产出:一个能对新样本预测
y的模型。 - 评价标准:在独立/交叉验证数据上的预测表现。
- 阅读提示:supervised 模型要警惕标签质量和数据泄漏。标签本身有噪声、或验证集信息混进了训练,都会让性能虚高。
监督学习按 y 的类型再分两类:
Regression
y 是连续数值。
- 例子:预测年龄、房价、蛋白浓度。
- 常用指标:RMSE、MAE、R²。
Classification
y 是离散类别。
- 例子:患病 / 不患病、肿瘤亚型、是否复发。
- 常用指标:accuracy、precision/recall、F1、AUC。
- 阅读提示:类别不平衡时,单看 accuracy 会误导(比如 99% 健康样本里,全猜”健康”也有 99% 准确率),要看 AUC、recall 等。
Key Points
- 区分 supervised / unsupervised 的关键是:数据里有没有目标变量
y。 - Unsupervised(PCA、clustering、autoencoder)学数据结构,没有唯一正确答案,结果依赖参数选择。
- Supervised(linear regression、random forest、XGBoost、neural network)学
X→y映射,用预测误差评价。 - Supervised 再分 regression(
y连续)和 classification(y离散)。 - Regression 看 RMSE/MAE/R²;classification 看 accuracy/precision/recall/F1/AUC,注意类别不平衡。
- 别把无监督的分组直接当成客观真理;它是特征、度量和分辨率共同作用的结果。
- 两类方法常组合使用:先用无监督降维/聚类探索,再用监督模型预测或验证。
Reading Checks
读到一个学习任务时,可以按这个顺序问:
- 数据里有没有明确的目标变量
y?这决定了它是 supervised 还是 unsupervised。 - 如果是 supervised,
y是连续(regression)还是类别(classification)?评价指标用对了吗? - 如果是 classification,类别平衡吗?只报 accuracy 还是也报了 AUC/recall?
- 如果是 unsupervised,结果对参数和预处理稳健吗?作者验证了可复现性吗?
- 性能是在独立数据上评估的,还是有数据泄漏的风险?
Note
对我来说,这道分界最有用的地方是它先于具体算法:先确认有没有 y,再确认 y 是连续还是类别,评价标准基本就定下来了。很多对结果的误读,源头都是把无监督的”发现”当成了有监督的”结论”,或者用错了评价尺子。
Sources
- Kuhn & Silge, Tidy Modeling with R
- Hastie, Tibshirani & Friedman, The Elements of Statistical Learning