人工智能通识课:机器学习之无监督学习

并不是所有机器学习任务都能事先拿到"标准答案"。在很多真实场景中,我们虽然收集到了大量数据,却不知道这些数据各自对应什么类别,也没有人为标注好的结果可供训练。此时,机器无法像监督学习那样直接从"输入---答案"对中学习,而只能从数据本身出发,去发现其中隐藏的结构、分布特点或相似关系。

例如,我们拿到一批用户的消费记录,但并不知道这些用户应被分成哪些类型;或者拿到一批商品数据,却不知道哪些商品彼此更相近;又或者面对高维数据,希望先把它压缩到更容易观察和分析的形式。这类问题都不再是"根据已知答案学习映射",而更接近"从数据内部寻找规律"。

这种学习方式,就是无监督学习(Unsupervised Learning)。

无监督学习是机器学习中的另一类重要方法。它不依赖人工给出的标签,而是通过数据之间的相似性、差异性或结构特征,帮助我们完成分组、降维、模式发现等任务。因此,学习无监督学习,本质上是在理解:当没有标准答案时,机器还能如何从数据中提取信息。

一、先从一个任务开始:当数据有很多,却没有答案时怎么办

假设现在有一批用户的购物数据,每位用户都有如下信息:

• 每月消费总额

• 每月下单次数

• 平均客单价

这些数据已经收集好了,但问题在于:我们并不知道这些用户事先应被划分成哪些类别。也就是说,没有人告诉我们:

• 谁属于高价值用户

• 谁属于价格敏感用户

• 谁属于偶尔购买用户

这时,如果仍然想从这些用户中找出某种规律,就不能再直接使用监督学习的"带答案训练"方式了。因为这里没有标签,也就没有 y 可以提供给模型。

例如,可以先把一组简化后的用户数据写出来:

cs 复制代码
import numpy as np
X = np.array([    [5000, 20, 250],    [5200, 22, 236],    [800, 5, 160],    [900, 4, 225],    [3000, 10, 300],    [3200, 11, 291]])

这里:

• 每一行表示一个用户样本

• 每一列表示一个特征

• 没有额外给出"这个用户属于哪一类"的标准答案

此时,机器要做的不是学习"输入到答案"的映射,而是观察这些用户之间是否存在某种自然分组。例如:

• 前两个用户消费高、下单频繁,彼此较相近;

• 中间两个用户消费低、下单少,也可能更接近;

• 后两个用户介于二者之间,可能构成另一类。

这正是无监督学习最典型的思路:数据没有标签,但数据内部可能存在结构。

二、什么是无监督学习

无监督学习有时容易被误解为"没有目标地乱学"。这种理解并不准确。

无监督学习并不是没有任务,而是没有像监督学习那样现成的标签可供学习。模型面对的,通常只有输入数据本身,也就是一组样本特征 X,而没有对应的目标 y。

监督学习通常使用成对的数据:

其中 X 是输入特征,y 是标签。

而无监督学习通常只有 X。

也就是说,模型只能从输入数据本身出发,去分析其内部结构。

因此,无监督学习的重点不是"预测正确答案",而是完成一些不同类型的任务,例如:

• 找出数据中的自然分组

• 发现变量之间的隐藏结构

• 把高维数据压缩到低维空间

• 识别异常点或特殊模式

图 1:无监督学习的基本思想

从本质上说,无监督学习是在回答这样的问题:

• 这些数据彼此之间谁更像谁?

• 数据是否能自动形成若干簇?

• 数据中最主要的变化方向是什么?

• 有没有明显偏离整体分布的异常样本?

所以,无监督学习并不是"没有规则",而是规则不再来自人工标签,而是来自数据内部本身的组织方式。

三、无监督学习与监督学习有什么不同

无监督学习和监督学习都属于机器学习,但它们的出发点并不相同。

图 2:监督学习与无监督学习的区别

1、数据形式不同

监督学习通常使用带标签的数据:

• 输入特征 X

• 输出标签 y

而无监督学习通常只有输入特征 X,没有目标标签。

2、任务目标不同

监督学习的目标通常是:根据历史样本学会预测新样本的结果。

无监督学习的目标通常是:从数据内部自动发现结构、关系或模式。

3、结果形式不同

监督学习往往会输出一个明确预测结果,例如:

• 房价是多少

• 邮件是不是垃圾邮件

• 图像属于哪一类

而无监督学习的结果,很多时候不是"唯一正确答案",而是一种数据组织方式。例如:

• 把用户分成 3 类

• 把高维数据压缩到 2 个主方向

• 找出离群样本

4、评价方式也不同

监督学习因为有真实标签,所以比较容易评价预测是否正确。

但无监督学习由于没有现成标准答案,往往更难评价。很多时候,我们只能结合:

• 数据分布是否合理

• 结果是否有可解释性

• 是否符合业务经验

• 是否有助于后续分析

来判断无监督学习结果是否有价值。

可以用一个简洁方式概括:

• 监督学习:从"有答案的数据"中学习预测规则

• 无监督学习:从"没有答案的数据"中发现内部结构

延伸阅读:

ML:机器学习的主要任务

四、无监督学习最常见的任务之一:聚类

在无监督学习中,最常见的一类任务就是聚类(Clustering)。

聚类的基本思想并不复杂:如果一些样本彼此很相似,而与另一些样本差异较大,那么就可以尝试把它们自动分到不同组中。

例如,在用户购物数据中:

• 高频高消费用户可能被分成一组

• 低频低消费用户可能被分成另一组

• 中间类型用户可能形成第三组

这里并没有人事先规定"哪位用户属于哪组",而是算法根据样本之间的距离或相似性自行完成划分。

从直观上看,聚类是在做一件事:让相近的样本尽量聚在一起,让相差较大的样本尽量分开。

图 3:聚类的基本直觉

例如,假设二维平面上有一些点:

• 距离较近的点可能形成同一簇

• 相距较远的点可能属于不同簇

这就是聚类的基本直觉。

在常见聚类方法中,K 均值聚类(K-Means)是最基础也最常见的一种。它的思路是:

• 先假设要分成 K 个簇

• 不断调整各簇中心位置

• 让每个样本归到距离最近的中心

• 最终形成若干较稳定的分组

图 4:K 均值聚类的基本过程

这里要注意,聚类得到的"类"并不一定等于现实世界中天然存在的绝对类别,它更像是一种基于数据相似性的划分结果。

延伸阅读:

ML:K 均值聚类的基本原理与实现

五、无监督学习的另一类重要任务:降维

除了聚类,无监督学习中另一类非常重要的任务是降维(Dimensionality Reduction)。

所谓降维,就是在尽量保留数据主要信息的前提下,把原本维度较高的数据压缩到更低维的表示形式。

例如,一份数据原本有很多个特征:

• 身高

• 体重

• 年龄

• 收入

• 教育年限

• 消费频率

• 活跃天数

• 浏览时长

如果直接分析,可能既不直观,也不便于可视化。这时就可以通过降维,把这些特征压缩成两个或三个主要方向,从而更容易观察数据整体结构。

降维的常见作用包括:

• 便于可视化高维数据

• 去除部分冗余信息

• 降低计算复杂度

• 为后续建模提供更紧凑的表示

图 5:降维与 PCA 的基本思想

最常见的降维方法之一是主成分分析(PCA,Principal Component Analysis)。它的核心思想可以粗略理解为:

• 在原始高维空间中寻找数据变化最明显的方向

• 用这些主要方向重新表示数据

• 用更少维度保留数据中的主要信息

这里要注意,降维并不是随意删掉几个特征,而是通过某种变换,把原数据重新映射到更有代表性的低维空间中。

因此,聚类更强调"分组",降维更强调"压缩表示"。二者都属于无监督学习,但解决的问题并不相同。

延伸阅读:

ML:主成分分析(PCA)的基本原理与实现

六、无监督学习在实际中有什么用

由于无监督学习不依赖标签,因此它在很多真实场景中都非常有用,尤其是在"数据多但标注难"的情况下。

图 6:无监督学习的常见应用场景

1、用户分群

在电商、内容平台或服务系统中,可以根据用户行为自动做分群。例如:

• 高活跃用户

• 高消费低频用户

• 低活跃流失风险用户

这样可以帮助运营人员更有针对性地制定策略。

2、数据探索

在正式建模之前,往往需要先理解数据本身。无监督学习可以帮助我们发现:

• 是否存在自然分组

• 数据是否分布集中

• 是否有异常点

• 哪些方向上变化最明显

这对于后续分析非常重要。

3、可视化与压缩

当数据维度较高时,直接观察几乎不可能。降维方法可以帮助我们把高维数据投影到二维或三维空间,便于画图和理解整体结构。

4、作为后续任务的前处理

无监督学习本身有时并不是最终目的,而是为后续监督学习、推荐系统、异常检测等任务提供支持。例如:

• 先聚类,再对不同群体分别建模

• 先降维,再训练分类器

• 先分析结构,再设计标签体系

因此,无监督学习常常不是"最终结论机器",而是"帮助理解数据、组织数据、准备数据"的重要工具。

延伸阅读:

Scikit-learn:从数据到结构------无监督学习的最小闭环

七、无监督学习为什么更难一些

从表面看,无监督学习似乎比监督学习更自由,因为不需要准备标签。但也正因为没有标签,它在很多方面反而更难。

1、没有现成标准答案

监督学习中,预测对不对通常可以直接和真实标签比较。但无监督学习没有标准答案,因此结果是否合理,往往更难判断。

2、结果可能不唯一

同一批数据,在不同算法、不同参数设定下,可能产生不同的分组或不同的低维表示。这并不一定意味着某一种绝对错误,而是说明数据解释本身可能具有多种角度。

3、对数据表示更敏感

无监督学习通常更依赖"样本之间是否相似"这一点,因此特征选择、特征缩放和数据预处理往往会显著影响结果。

4、更依赖解释与分析能力

无监督学习得出的结果,通常需要结合具体问题背景去解释。例如:

• 这 3 个簇分别代表什么类型用户?

• 这个主成分反映的是价格因素还是活跃度因素?

• 某个异常点是真异常还是采集错误?

因此,无监督学习不仅是算法问题,也包含较强的数据理解和结果解释问题。

八、Python 示例:用 K 均值聚类对用户进行简单分组

下面用一个基础示例,把无监督学习中的聚类流程串起来。

图 7:用户购物数据中的无监督学习闭环

任务是:根据用户的消费总额、下单次数和平均客单价,把用户自动分成 3 类。

cs 复制代码
import numpy as np                     # 数值计算from sklearn.cluster import KMeans     # KMeans聚类算法
# 每一行表示一个用户:[每月消费总额, 每月下单次数, 平均客单价]X = np.array([    [5000, 20, 250],    [5200, 22, 236],    [4800, 19, 253],    [800, 5, 160],    [900, 4, 225],    [850, 5, 170],    [3000, 10, 300],    [3200, 11, 291],    [2800, 9, 311]])
# 创建 KMeans 模型,设定分成 3 类model = KMeans(n_clusters=3, random_state=42, n_init=10)
# 训练聚类模型并得到每个样本所属类别(簇标签)labels = model.fit_predict(X)
print("每个用户所属的簇编号:")print(labels)
print("\n各簇中心:")print(model.cluster_centers_)

这个示例中要注意几点:

• 这里只有输入数据 X,没有标签 y

• 模型不是去预测"正确答案",而是自动给出分组结果

• labels 表示每个用户被分到哪个簇

• cluster_centers_ 表示各簇的中心位置

从这个结果中,我们可以进一步观察:

• 哪一类用户消费更高

• 哪一类用户购买频率更低

• 哪一类用户处于中间层

虽然这些簇编号本身并没有天然语义,但结合具体业务背景,我们可以对它们进行解释,从而把纯数据结果转化为有意义的信息。

需要注意的是,KMeans 对特征尺度较敏感。真实项目中,如果不同特征的数值范围差异较大,通常应先进行标准化处理;这里为了突出无监督学习的基本流程,暂时省略预处理步骤。

九、无监督学习与人工智能学习路径的关系

在人工智能学习路径中,无监督学习通常出现在监督学习之后。这并不是因为它不重要,而是因为它在理解上往往更抽象。

监督学习通常更容易理解,因为:

• 有标签,目标明确

• 预测对错容易判断

• 训练流程更直观

而无监督学习更强调:

• 从数据本身理解结构

• 从相似性与差异性中发现模式

• 在没有答案的情况下组织信息

因此,学习无监督学习的意义,不只是多掌握几种算法,更重要的是帮助我们建立一种新的数据观:数据即使没有标签,也可能蕴含值得挖掘的结构。

这对于理解聚类、降维、异常检测、表示学习等内容都非常重要。

📘 小结

无监督学习是在没有标签的情况下,从数据内部发现结构、关系和模式的方法。它常见的任务包括聚类与降维,常用于用户分群、数据探索、可视化和前处理等场景。理解无监督学习,有助于建立从数据本身出发分析问题的能力。

"点赞有美意,赞赏是鼓励"

相关推荐
数字会议深科技1 小时前
政务表决会议升级方案解析|多形态大型表决系统融合方案科普
大数据·人工智能·政务·无纸化·会议厂商·ai会议生态服务商·表决系统
敲敲千反田1 小时前
Spring AI
java·人工智能·spring
SelectDB技术团队1 小时前
时间序列近邻关联性能实测:Doris ASOF JOIN 领先 ClickHouse、DuckDB
数据库·人工智能·selectdb
阿里云大数据AI技术1 小时前
基于Agentic Memory API实现OpenClaw长记忆增强
人工智能·agent
五度易链-区域产业数字化管理平台1 小时前
基于大数据+AI的智慧招商解决方案:五度易链重构产业招商数字化体系
人工智能
薛定猫AI1 小时前
【深度解析】Hermes Agent 新版能力:后台 Computer Use、多智能体编排与 /goal 自主任务循环实战
人工智能
互联网科技看点1 小时前
泛微・齐业成核心优势深度解析:数智化费控管理标杆
大数据·人工智能·云计算
Aision_2 小时前
OpenClaw和Hermes的记忆有什么区别
人工智能·gpt·langchain·prompt·aigc·agi
java_logo2 小时前
轻量AI接口网关一键部署|calciumion/new-api Windows/Linux Docker 部署全教程
linux·人工智能·windows·one api·calciumion·ai网关部署·one api 部署