无监督学习也称为无监督机器学习,它使用机器学习算法来分析未标记的数据集并进行聚类。 这些算法无需人工干预,即可发现隐藏的模式或数据分组。 这种方法能够发现信息的相似性和差异性,因而是探索性数据分析、交叉销售策略、客户细分和图像识别的理想解决方案。
无监督学习模型用于执行三大任务:聚类、关联和降维。 下面我们将定义每种学习方法,并重点介绍有效执行这些学习方法的常用算法和途径。
聚类是一种数据挖掘技术,该技术根据未标记数据的相似性或差异性对其进行分组。 聚类算法用于将未分类的原始数据对象处理为不同的组,通过信息的结构或模式来表示这些组。 聚类算法可以分为几种类型,具体为独占、重叠、分层和概率。
独占聚类是一种分组形式,它规定一个数据点只能存在于一个聚类中。 这也可以称为“硬”聚类。 K 均值聚类算法是独占聚类的一个例子。
重叠聚类与独占聚类的不同之处在于,重叠聚类允许数据点属于具有不同隶属程度的多个聚类。 “软”或模糊 K 均值聚类是重叠聚类的一个示例。
分层聚类也称为分层聚类分析 (HCA),这是一种无监督聚类算法,可以分为两种方式;它们可以是聚合的,也可以是分裂的。 凝聚聚类被认为是一种“自下而上的方法”。 凝聚聚类的数据点起初被划入单独的分组,然后再根据相似性反复合并在一起,直到实现一个聚类。 通常使用四种不同的方法来衡量相似度:
欧几里得距离是用于计算这些距离的最常用指标;然而,聚类文献中也会引用曼哈顿距离等其他指标。
分裂聚类的定义方式刚好与凝聚聚类相反;分裂聚类采用“自上而下”的方法。 在这种情况下,将根据数据点之间的差异来划分单个数据聚类。 分裂聚类并不常用,但在分层聚类环境中仍然值得注意。 这些聚类过程通常使用系统树图(一种树状图)直观呈现出来,该图记录了每次迭代中数据点的合并或拆分。
概率模型是一种无监督技术,可帮助我们解决密度估计或“软”聚类问题。 在概率聚类中,数据点根据它们属于特定分布的可能性来进行聚类。 高斯混合模型 (GMM) 是最常用的概率聚类方法之一。
关联规则是一种基于规则的方法,用于发现给定数据集中各变量之间的关系。 这些方法常用于市场购物篮分析,使企业能够更好地了解不同产品之间的关系。 了解顾客的消费习惯有助于企业制定更好的交叉销售策略,开发更出色的推荐引擎。 在亚马逊的“购买此商品的客户也购买了”或 Spotify 的“每周发现”播放列表中,可以看到这方面的例子。 虽然有几种不同的算法用于生成关联规则,例如 Apriori、Eclat 和 FP-Growth,但 Apriori 算法使用最为广泛。
Apriori 算法由于购物篮分析而得到普及,进而产生了面向音乐平台和在线零售商的不同推荐引擎。 这些算法用于在事务数据集中识别频繁出现的项集(也称为项集合),从而确定在已经消费了某种产品的情况下消费另一种产品的可能性。 例如,如果我在 Spotify 上播放 Black Sabbath 的音乐,从他们的歌曲“Orchid”开始,这个频道上的其他歌曲之一可能是 Led Zeppelin 的歌曲,例如“Over the Hills and Far Away”。 这是基于我之前的收听习惯以及其他人的收听习惯。 Apriori 算法使用哈希树来计算项集,以广度优先的方式浏览数据集。
虽然更多的数据通常会产生更准确的结果,但这也会影响机器学习算法的性能(例如过度拟合),并且还会造成数据集可视化的难度提高。 如果在给定数据集中的特征或维度数量过多,便会用到降维这种技术。 降维可将输入的数据量减少到可管理的大小,同时尽可能地保持数据集的完整性。 在数据预处理阶段通常会使用降维技术,可以采用几种不同的降维方法,例如:
主成分分析 (简称 PCA) 是一种降维算法,用于减少冗余并通过特征提取来压缩数据集。 这种方法使用线性变换来创建新的数据表示,从而产生一组“主成分”。第一个主成分是使数据集方差最大化的方向。 虽然第二个主成分也找到了数据中的最大方差,但它与第一个主成分完全不相关,产生的方向与第一个成分垂直或正交。 这个过程根据维数进行重复,其中下一个主成分是与具有最大方差的先验成分正交的方向。
奇异值分解(简称 SVD)是另一种降维方法,它将矩阵 A 分解为三个低秩矩阵。 SVD 由公式 A = USVT 表示,其中 U 和 V 是正交矩阵。 S 是一个对角矩阵,S 值被认为是矩阵 A 的奇异值。与 PCA 类似,这种方法通常用于降噪和压缩数据,例如影像文件。
自编码器利用神经网络来压缩数据,然后重新创建原始数据输入的新表示形式。 查看下图,可以看到隐藏层专门充当瓶颈,以在输出层内重建之前压缩输入层。 从输入层到隐藏层的阶段称为“编码”,而从隐藏层到输出层的阶段则称为“解码”。
机器学习技术已成为改善产品用户体验和测试系统以保证质量的常用方法。 与手动观察相比,无监督学习提供了查看数据的探索性路径,使企业能够更快地识别大量数据中的模式。 在现实世界中,无监督学习的一些最常见应用如下:
人们经常会将无监督学习和有监督学习一起讨论。 与无监督学习算法不同的是,有监督学习算法使用标记数据。 有监督学习可以通过这些数据来预测未来的结果,或是根据试图解决的回归或分类问题,将数据分配到特定类别。 虽然有监督学习算法往往比无监督学习模型更准确,但有监督学习事先需要人工干预才能恰当地标记数据。 而这些标记数据集能够让有监督学习算法避免计算复杂性,因为不需要大型训练集就能产生预期结果。 常见的回归和分类技术包括线性和逻辑回归、朴素贝叶斯、KNN 算法和随机森林。
如果给定输入数据中只有一部分被标记,就会进行半监督学习。 无监督学习和半监督学习可能是更具吸引力的替代方案,因为依赖领域专业知识为有监督学习恰当标记数据可能既耗时又成本高昂。
要深入了解这些方法之间的差异,请查看“有监督学习与无监督学习: 有何区别?”
虽然无监督学习有很多好处,但在允许机器学习模型无任何人为干预的情况下执行时,可能会遇到一些难题。 其中的一些难题包括: