Featured image of post 机器学习基础:监督学习与无监督学习

机器学习基础:监督学习与无监督学习

从输入、标签与泛化出发,系统梳理监督学习中的回归和分类,以及无监督学习中的聚类、异常检测与降维

机器学习的任务看起来五花八门:预测房价、识别肿瘤、给新闻分组、发现异常交易。理解这些问题的第一步,是分清数据中有没有正确答案。本篇整理 Coursera 机器学习课程的基础内容,从这个区别出发,梳理监督学习与无监督学习的核心概念和典型应用。

监督学习

监督学习(Supervised Learning)让算法学习从输入 x 到输出 y 的映射:

$$x \longrightarrow y$$

也可以表示为:

$$\hat{y}=f(x)$$
  • x:输入或特征(Feature)
  • y:正确答案,也称标签(Label)
  • f:模型从数据中学习到的映射关系
  • \hat{y}:模型给出的预测结果

监督学习的核心特点是:训练数据中同时包含输入和正确答案。一条训练样本可以表示为 $(x,y)$。之所以称为“监督”学习,是因为正确标签 y 为算法提供了学习目标。

训练与预测

训练阶段向算法提供大量带标签的数据:

$$(x^{(1)},y^{(1)}),(x^{(2)},y^{(2)}),\ldots,(x^{(m)},y^{(m)})$$

算法观察输入与输出之间的关系,学习得到模型 f。训练完成后,将模型从未见过的新输入 x 交给模型,模型根据学到的规律输出预测结果 $\hat{y}$。

模型的目标不是简单记住训练数据,而是对未见过的数据也能作出准确预测。这种能力称为泛化能力(Generalization)

典型应用

应用输入 x输出 y
垃圾邮件过滤邮件内容垃圾邮件 / 非垃圾邮件
语音识别音频片段对应文字
机器翻译源语言文本目标语言文本
在线广告广告信息与用户信息用户是否会点击
自动驾驶图像、雷达等传感器数据周围车辆位置
工业视觉检测产品照片有缺陷 / 无缺陷
房价预测房屋面积等信息房屋价格

每个应用的本质,都是从大量已标注样本中学习输入与输出之间的关系。

回归:预测一个数值

回归(Regression)是监督学习的一种,目标是预测一个可以连续变化的数值。

房价预测案例

假设输入是房屋面积,输出是房屋价格,现在需要预测一套 750 平方英尺的房屋值多少钱。

最简单的方法是拟合一条直线:

$$f(x)=wx+b$$
  • w:斜率,表示面积变化对价格的影响
  • b:截距

直线模型可能预测房屋价值约为 15 万美元。也可以拟合一条更复杂的曲线:

$$f(x)=w_2x^2+w_1x+b$$

曲线模型可能预测房屋价值接近 20 万美元。但不能因为某个模型给出的价格更高就选择它,而应该根据模型在数据上的客观表现进行选择。

模型太简单,可能无法充分学习规律;模型太复杂,则可能只记住训练数据,也就是发生过拟合(Overfitting),导致它在新数据上表现不好。

常见回归任务包括预测房价、气温、商品销量、运输时间和用户消费金额。它们的输出都可以在一定范围内连续变化。

分类:预测一个类别

分类(Classification)也是监督学习的一种,目标是预测一个离散类别。输出只能从有限数量的类别中选择,例如:

垃圾邮件 / 非垃圾邮件
有缺陷 / 无缺陷
猫 / 狗
患病 / 未患病

乳腺癌检测案例

假设要开发一个辅助医生诊断乳腺癌的系统,根据患者检查数据判断肿瘤属于:

  • 良性(Benign):不是癌症,危险程度相对较低
  • 恶性(Malignant):属于癌症,需要及时治疗

最简单的情况下,只使用肿瘤大小作为输入:

x:肿瘤大小
y:良性(0)或恶性(1)

每条训练数据可以表示为:

(1.2, 0)
(2.5, 0)
(4.8, 1)
(6.1, 1)

仅靠肿瘤大小可能不够准确,还可以同时使用患者年龄、肿块厚度、细胞大小均匀性和细胞形状均匀性等特征。此时,输入是一个包含多个特征的向量:

$$x=(x_1,x_2,\ldots,x_n)$$

监督学习中的 x 不一定是一个数字,也可以是一组特征。

决策边界

当输入包含肿瘤大小和患者年龄时,可以将样本画在二维坐标中:横轴是肿瘤大小,纵轴是患者年龄,圆圈表示良性,叉号表示恶性。

分类算法会尝试找到一条决策边界(Decision Boundary),将两类样本区分开来。新患者出现时,模型根据其特征位于边界的哪一侧预测类别。决策边界不一定是直线,也可能是曲线或更复杂的形状。

回归与分类的区别

对比项回归分类
预测目标连续数值离散类别
输出范围可连续变化有限个类别
典型输出183000良性 / 恶性
数字之间是否有连续意义通常没有

判断标准是:模型在回答“具体是多少”,还是“属于哪一类”?

分类中的类别也可以用数字表示,例如 0 表示良性、1 表示恶性,但这些数字只是类别编号,不代表连续的数量关系。手写数字识别虽然输出 09,仍然属于分类,因为模型只需要从十个类别中选择,而不是预测任意连续数值。

二分类与多分类

只有两个可能类别的问题称为二分类(Binary Classification)

问题类别
垃圾邮件检测垃圾 / 正常
欺诈检测欺诈 / 正常
疾病检测患病 / 未患病
广告点击预测点击 / 不点击

存在三个及以上类别的问题称为多分类(Multiclass Classification)

图片分类:猫 / 狗 / 鸟
新闻分类:体育 / 财经 / 科技 / 娱乐
手写数字识别:0~9
疾病诊断:疾病 A / 疾病 B / 疾病 C

类别可以用数字编号,也可以用文字表示。数字在这里只是标签,不能认为“狗 = 猫 + 1”。

无监督学习

无监督学习(Unsupervised Learning)的数据只有输入 x没有输出标签 y

$$x \quad \text{而不是} \quad (x,y)$$

算法需要自行从数据中寻找:

  • 隐藏的结构
  • 相似的数据群体
  • 数据分布规律
  • 异常的数据点
  • 更简洁的数据表示

“无监督”表示训练数据没有为每个输入提供正确答案,并不代表算法不受控制,也不代表它比监督学习差。

与监督学习的对比

对比项监督学习无监督学习
输入数据输入 x 和标签 y只有输入 x
是否有正确答案没有
学习目标学习 x 到 y 的映射发现数据中的结构和模式
典型任务回归、分类聚类、异常检测、降维
示例房价预测、疾病诊断客户分群、新闻聚类

以乳腺癌检测为例:如果数据包含患者年龄、肿瘤大小和良性/恶性标签,就可以用监督学习预测诊断结果;如果只有患者年龄和肿瘤大小而没有标签,算法只能寻找患者之间可能存在的群体或规律。

聚类:寻找相似群体

聚类(Clustering)的目标是将相似的数据点自动分配到同一个簇(Cluster)中。

它有三个特点:

  • 数据没有预先定义的类别标签
  • 算法根据数据之间的相似性进行分组
  • 分组结果通常需要人结合领域知识解释

“相似”取决于选择了哪些特征,以及算法如何计算数据之间的距离。

谷歌新闻

谷歌新闻每天处理大量报道。如果多篇文章都提到“熊猫、双胞胎、动物园、日本”,聚类算法可能判断它们讲述的是同一事件,并将它们归为一组。

没有员工提前告诉算法哪些关键词一定属于同一主题。新闻内容每天都在变化,算法必须自动判断当天出现了哪些主题,以及哪些文章正在讨论同一件事。

DNA与基因数据

DNA 微阵列数据中,每一列表示一个人的基因活动,每一行表示一个特定基因。每个人可以表示为大量基因特征组成的向量。

聚类算法能够将基因表达模式相似的人分到同一组。算法不知道这些群体应该叫什么,只是在回答:这些基因数据中是否存在自然形成的不同类型?

客户细分

公司可以根据年龄、地区、购买记录和浏览行为等数据,把相似客户划分到不同细分市场。

例如,一个在线学习社区可能发现:一组用户希望提升技能,一组希望获得晋升或新工作,另一组希望了解 AI 对自身行业的影响。企业可以据此推荐内容并设计服务,这类应用称为市场细分(Market Segmentation)

异常检测:寻找偏离正常模式的数据

异常检测(Anomaly Detection)的目标是发现与大多数数据明显不同的异常样本。

在金融系统中,一笔交易可能表现出以下异常:

交易金额特别大
交易地点异常
短时间内连续交易
登录设备突然变化
消费行为与过去完全不同

这些异常可能是欺诈的信号。常见应用还包括网络攻击检测、设备故障检测、工业产品异常检测和医疗异常指标检测。

需要注意,异常不等于欺诈,只表示该数据与正常模式不同。异常检测也可以采用监督学习方法,但当异常样本很少或没有可靠标签时,经常采用无监督或半监督方法。

降维:用更少特征表示数据

降维(Dimensionality Reduction)的目标是在尽量保留重要信息的前提下,用更少的特征表示原始数据。

假设原始数据包含 1000 个特征:

$$x=(x_1,x_2,\ldots,x_{1000})$$

降维算法可能将其压缩为几十个甚至两三个新特征:

$$z=(z_1,z_2,\ldots,z_k),\quad k \ll 1000$$

降维可以压缩数据、提高部分算法的运行效率、减少重复信息和噪声,也可以将高维数据转换为二维或三维,方便可视化。它不是随意删除数据,而是尽可能保留数据中最重要的信息。

如何判断学习类型

判断任务时,首先问:训练数据中是否提供了标签?

  • 邮件带有垃圾/非垃圾标签:监督学习中的分类
  • 房屋带有实际价格:监督学习中的回归
  • 新闻没有主题标签,需要自动分组:无监督学习中的聚类
  • 客户没有预设类型,需要自动细分:无监督学习中的聚类
  • 患者带有患糖尿病/未患糖尿病标签:监督学习中的分类

同一个业务问题也可能因为数据是否有标签,而采用不同的学习方式。

优势与局限

无监督学习不需要为所有数据人工标注,可以处理大量无标签数据,并发现人们事先没有注意到的结构,因此很适合探索陌生数据。

它也有明显局限:没有标准答案,结果较难评估;算法找到的结构不一定具有实际意义;聚类结果会受到特征选择和算法的影响;最终通常仍需要领域知识进行解释。

知识框架

机器学习
├── 监督学习
│   ├── 回归:预测数值(房价、温度)
│   └── 分类:预测类别(垃圾邮件、肿瘤性质)
│       ├── 二分类
│       └── 多分类
└── 无监督学习
    ├── 聚类:寻找相似群体(新闻分组、客户细分)
    ├── 异常检测:寻找异常数据(欺诈检测)
    └── 降维:压缩数据并保留重要信息

监督学习使用带标签的 $(x,y)$ 数据,学习输入到输出的映射;无监督学习只有输入 x,目标是自动发现数据中的结构、模式或异常。两者并无高下之分,关键是根据数据和问题选择合适的方法。

术语表

中文英文含义
特征Feature描述样本的输入属性
标签Label训练数据中的正确答案
泛化Generalization对未见数据作出有效预测的能力
回归Regression预测连续数值
分类Classification预测离散类别
二分类Binary Classification只有两个输出类别
多分类Multiclass Classification存在三个及以上类别
决策边界Decision Boundary区分不同类别的边界
聚类Clustering将相似数据自动分组
Cluster聚类形成的数据群体
异常检测Anomaly Detection发现偏离正常模式的数据
降维Dimensionality Reduction用更少特征表示高维数据
市场细分Market Segmentation根据相似特征划分客户群体