使用MATLAB进行无监督学习
在机器学习的广阔天地里,有一种方法不依赖“标准答案”,仅凭数据本身就能发现隐藏的规律——这就是无监督学习。它处理的是未经标注的原始数据,目标是从中挖掘出内在的模式、结构和分组,整个过程无需任何关于结果的先验知识指导。
无监督学习的工作原理
那么,无监督学习是如何工作的呢?其核心在于算法能够自主探索数据中的隐藏结构。整个过程通常始于数据准备,随后应用合适的算法,最后对发现的结果进行解释和评估。这种方法在两大任务上尤其出彩:一是
聚类
降维
有意思的是,无监督学习也常作为有监督学习的“前哨站”。在正式训练预测模型前,先用它来做探索性数据分析,识别特征或基于数据分组来定义类别,这其实是特征工程中非常关键的一环。

无监督学习将未标注数据组织成不同的组。
无监督学习方法的类型
无监督学习主要围绕几种核心方法展开,每种方法都擅长解决不同的问题。
1. 聚类
聚类可以说是无监督学习中最直观、应用最广的方法。它的目标很简单:发现数据中自然的群组或结构。无论是市场细分、图像分割还是异常检测,背后都可能有聚类的身影。
举个例子,一家移动运营商想要优化其信号塔的布局。由于手机在同一时间只能连接一个塔,团队就可以利用聚类算法,根据用户的地理位置数据形成“客户簇”,从而设计出能最佳覆盖这些人群的塔站布局。

使用聚类揭示数据中隐藏的模式。
聚类主要分为两大类:
硬聚类
软聚类
常见的聚类算法家族成员众多:
- :构建一个树状的聚类层次结构。
层次聚类
- :根据到簇中心点的距离,将数据划分为K个簇。
K均值
- :假设数据由多个高斯分布混合而成。
高斯混合模型(GMM)
- :基于密度进行聚类,能有效处理噪声和任意形状的簇。
DBSCAN
- :利用神经网络学习数据的拓扑结构。
自组织映射(SOM)
- :先将数据转化为图表示,再进行分割,常用于发现复杂结构的簇。
谱聚类

左图:三种鸢尾花花瓣尺寸的原始散点图。右图:使用高斯混合模型聚类后的结果。
2. 降维
面对成百上千个特征的高维数据时,我们常会遇到“维度灾难”:计算负担重、难以可视化,且可能包含大量冗余信息。降维技术正是为此而生,它能在保留数据核心信息的前提下,减少特征数量。
例如,通过智能手机加速度计采集的人类活动数据可能有60个维度,直接分析犹如雾里看花。利用t-SNE等降维方法,可以将其压缩到2维或3维,从而清晰地可视化出“坐、站、走、跑”等不同活动类别的分布。
主流的降维方法包括:
- :寻找数据方差最大的方向(主成分),用少数几个不相关的成分来概括数据。
主成分分析(PCA)
- :特别擅长高维数据的可视化,能保持数据点间的局部相似性。
t-SNE
- :假设观测变量由少数几个潜在的公共因子和特殊因子决定,用于探索变量间的内在依赖关系。
因子分析
- :一种神经网络,通过“编码-解码”的过程学习数据的压缩表示(潜在空间),广泛应用于图像去噪、异常检测等。
自编码器

使用自编码器进行基于图像的异常检测。
3. 关联规则
“啤酒与尿布”的经典故事,揭示的就是关联规则的魅力。它致力于在大型数据库中发现变量之间的有趣联系,最典型的应用就是购物篮分析,用于发现“经常被一起购买的商品组合”。
常用的算法有
Apriori
ECLAT
此外,
半监督学习
无监督特征排序
为什么无监督学习如此重要
在现实世界中,获取大量精准标注的数据往往成本高昂、耗时费力,甚至不可行(如某些生物或医疗数据)。无监督学习的价值正在于此——它能够直接从未标注的“原始矿藏”中提炼出知识。通过揭示隐藏的模式、结构和关系,它为企业和研究人员打开了新的洞察之门,是探索性数据分析、市场细分、异常检测等任务的基石。
有监督学习与无监督学习的区别
理解两者的区别至关重要。简单来说:
- 如同“有参考答案的学习”。它使用标注好的数据集(输入特征和对应的输出标签)来训练模型,目标是学习从输入到输出的映射关系,用于分类或回归预测。例如,根据房屋特征预测房价。
有监督学习
- 则是“自己找规律的学习”。它面对的是没有标签的数据,目标是从数据内部发现结构,比如将一堆水果按照颜色、形状自动分组,而无需事先知道每种水果叫什么。
无监督学习
通常,由于缺乏明确的指导信号(标签),无监督学习结果的绝对准确性可能不如有监督学习。但其优势在于能处理海量无标签数据,发掘人类未曾预设的潜在模式。

有监督学习与无监督学习的对比示意图。
无监督学习的应用示例
无监督学习的应用早已渗透到各个领域:
- :在金融领域,可用因子分析研究股票价格的联动模式。
探索性数据分析
- :在网络安全或工业质检中,通过孤立森林等方法识别异常行为或缺陷产品。
异常检测
- :聚类算法可用于MRI图像分割,帮助区分健康组织与病变区域。
医学成像
- :对基因表达数据进行聚类,以发现功能相关的基因群组。
基因组学
- :奇异值分解等矩阵分解技术,是许多流媒体平台实现协同过滤推荐的核心。
推荐系统
- :用于主题建模、文档聚类,帮助组织和管理海量文本信息。
自然语言处理
随着数据量的持续爆炸式增长,无监督学习作为理解和利用这些“暗数据”的关键工具,其重要性只会与日俱增。
使用MATLAB进行无监督学习
对于实践者而言,MATLAB提供了一套完整的工具链来构建无监督学习流程,从数据准备到模型部署。
其生态系统支持主流算法:通过Statistics and Machine Learning Toolbox应用聚类与降维;利用Deep Learning Toolbox构建自编码器;借助MATLAB Coder将模型部署到嵌入式硬件。

MATLAB中的无监督学习工作流。
数据准备与算法应用

使用交互式任务进行K均值聚类。
降维实践

使用实时编辑器任务进行降维分析。
结果评估与可视化

使用t-SNE将60维的人类活动数据降至2维并可视化。