无监督学习:机器如何自行学习
已发表: 2021-03-19无监督学习让机器自己学习。
这种类型的机器学习 (ML) 使 AI 应用程序能够在无需人工监督的情况下学习和发现大型数据集中的隐藏模式。 无监督学习对于实现 通用人工智能。
标记数据是劳动密集型和耗时的,而且在许多情况下是不切实际的。 这就是无监督学习通过授予 AI 应用程序在没有标签和监督的情况下学习的能力而带来巨大差异的地方。
什么是无监督学习?
无监督学习 (UL) 是一种机器学习技术,用于识别包含未分类和未标记数据点的数据集中的模式。 在这种学习方法中,人工智能系统只给出输入数据,没有相应的输出数据。
与监督学习不同,无监督机器学习不需要人来监督模型。 数据科学家让机器通过观察数据和自行寻找模式来学习。 换句话说,机器学习的这个子类别允许系统在没有任何外部指导的情况下对给定信息采取行动。
无监督学习技术对于创建具有人类智能的人工智能系统至关重要。 这是因为智能机器必须能够通过分析大量未标记的数据来做出(独立的)决策。
与监督学习算法相比,UL 算法更擅长执行复杂的任务。 然而,监督学习模型会产生更准确的结果,因为导师会明确告诉系统在给定数据中寻找什么。 但在无监督学习的情况下,事情可能非常不可预测。
人工神经网络,使 深度学习 一个现实,似乎它得到了无监督学习的支持。 虽然这是真的,但如果已知所需的输出,也可以监督神经网络的学习算法。
无监督学习本身就是一个目标。 例如,UL 模型可用于在海量数据中查找隐藏模式,甚至可用于对数据点进行分类和标记。 未排序的数据点的分组是通过识别它们的相似性和差异来执行的。
无监督学习必不可少的一些原因。
- 未标记的数据非常丰富。
- 标记数据是一项繁琐的任务,需要人工。 然而,这个过程可以由 ML 驱动,从而使相关人员更容易进行标记。
- 它对于探索未知和原始数据很有用。
- 它对于在大型数据集中执行模式识别很有用。
无监督学习的工作原理
简而言之,无监督学习的工作原理是分析未分类、未标记的数据并找到其中的隐藏结构。
在监督学习中,数据科学家向系统提供标记数据,例如标记为猫的猫的图像,使其通过示例进行学习。 在无监督学习中,数据科学家只提供照片,系统负责分析数据并判断它们是否是猫的图像。
无监督机器学习需要大量数据。 在大多数情况下,监督学习也是如此,因为模型通过更多示例变得更加准确。
无监督学习的过程始于数据科学家使用训练数据集训练算法。 这些数据集中的数据点是未标记和未分类的。
该算法的学习目标是识别数据集中的模式,并根据相同的识别模式对数据点进行分类。 在猫图像的示例中,无监督学习算法可以学习识别猫的不同特征,例如它们的胡须、长尾巴和可伸缩的爪子。
如果您考虑一下,无监督学习就是我们学习识别和分类事物的方式。 假设你从未尝过番茄酱或辣椒酱。 如果给你两瓶“无标签”的番茄酱和辣椒酱,并要求你品尝它们,你就能区分它们的味道。
即使您不知道任何一种酱汁的名称,您也可以识别两种酱汁的特性(一种是酸的,另一种是辣的)。 多品尝几次会让你更熟悉它的味道。 很快,您就可以通过品尝来根据添加的酱汁对菜肴进行分组。
通过分析口味,您可以找到区分两种酱汁和组菜的具体特征。 您无需知道酱汁的名称或菜肴的名称即可对其进行分类。 您甚至可能最终称其中一种为甜酱,另一种为辣酱。
这类似于机器如何在无监督学习的帮助下识别模式和分类数据点。 在同一个例子中,监督学习就是有人预先告诉你两种酱汁的名称以及它们的味道。
无监督学习的类型
无监督学习问题可以分为聚类和关联问题。
聚类
聚类或聚类分析是将对象分组为聚类的过程。 最相似的项目被分组在一起,而其余的则属于其他集群。 集群的一个例子是根据观看历史对 YouTube 用户进行分组。
根据它们的工作方式,聚类可以分为以下四组:
- 排他聚类:顾名思义,排他聚类指定一个数据点或对象只能存在于一个群集中。
- 分层聚类:分层尝试创建聚类的层次结构。 层次聚类有两种类型:凝聚的和分裂的。 凝聚式遵循自下而上的方法,最初将每个数据点视为一个单独的集群,并且集群对在它们向上移动时合并。 分裂与凝聚完全相反。 每个数据点都从一个集群开始,并随着它们向下移动层次结构而被拆分。
- 重叠聚类:重叠允许将数据点分组为两个或多个聚类。
- 概率聚类:概率使用概率分布来创建聚类。 例如,“绿色袜子”、“蓝色袜子”、“绿色 T 恤”和“蓝色 T 恤”可以分为“绿色”和“蓝色”或“袜子”和“T 恤”两类”。
协会
关联规则学习 (ARL)是一种无监督学习方法,用于查找大型数据库中变量之间的关系。 与某些机器学习算法不同,ARL 能够处理非数字数据点。
从更简单的意义上说,ARL 是关于找出某些变量是如何相互关联的。 例如,购买摩托车的人最有可能购买头盔。
找到这样的关系可能是有利可图的。 例如,如果购买产品 X 的客户倾向于购买产品 Y,则在线零售商可以向购买产品 X 的任何人推荐产品 Y。
关联规则学习在其核心中使用 if/then 语句。 这些陈述可以揭示独立数据之间的关联。 此外,使用support和confidence观察 if/then 模式或关系。
支持指定 if/then 关系在数据库中出现的频率。 置信度定义了 if/then 关系被发现有效的次数。
购物篮分析 和 网络使用挖掘 关联规则使之成为可能。
无监督学习算法
聚类和关联规则学习都是在算法的帮助下实现的。
Apriori 算法、ECLAT 算法和频繁模式 (FP) 增长算法是用于实现关联规则的一些著名算法。 通过诸如 k 均值聚类和主成分分析 (PCA) 等算法可以进行聚类。
先验算法
Apriori 算法是为数据挖掘而构建的。 它对于挖掘包含大量交易的数据库很有用,例如,包含超市购物者购买的商品列表的数据库。 它用于识别药物的有害影响,并在购物篮分析中找到客户更有可能一起购买的一组商品。

ECLAT算法
Equivalence Class Clustering and bottom-up Lattice Traversal ,简称ECLAT ,是一种数据挖掘算法,用于实现项集挖掘和发现频繁项。
Apriori 算法使用水平数据格式,因此需要多次扫描数据库以识别频繁项。 另一方面,ECLAT 采用垂直方法,通常速度更快,因为它只需要扫描一次数据库。
频繁模式(FP)增长算法
频繁模式(FP)增长算法是 Apriori 算法的改进版本。 该算法以称为频繁树或模式的树结构形式表示数据库。
这样的频繁树用于挖掘最频繁的模式。 Apriori 算法需要扫描数据库 n+1 次(其中 n 是最长模型的长度),而 FP-growth 算法只需要扫描两次。
K-means 聚类
k-means 算法的多次迭代被广泛应用于数据科学领域。 简而言之,k-means 聚类算法将相似的项目分组到集群中。 簇的数量由k表示。 因此,如果 k 的值为 3,则总共将有 3 个簇。
这种聚类方法对未标记的数据集进行划分,使每个数据点仅属于具有相似属性的单个组。 关键是要找到称为簇质心的 K 个中心。
每个集群都有一个集群质心,当看到一个新的数据点时,算法将根据欧几里德距离等指标确定数据点所属的最近集群。
主成分分析(PCA)
主成分分析(PCA)是一种降维方法,通常用于降低大型数据集的维数。 它通过将大量变量转换为包含大数据集中几乎所有信息的较小变量来实现这一点。
减少变量的数量可能会稍微影响准确性,但为了简单起见,这可能是一个可接受的折衷方案。 这是因为较小的数据集更容易分析,而且机器学习算法不必费力就能获得有价值的见解。
监督与无监督学习
监督学习类似于让老师监督整个学习过程。 还有一个带标签的训练数据集,类似于为您尝试解决的每个问题提供正确答案。
你的答案是否正确更容易理解,而且当你犯错时老师也会纠正你。 在无监督学习的情况下,没有老师或正确答案。
从计算的角度来看,无监督学习比监督学习更复杂、更耗时。 但是,它对于数据挖掘以及在分配任何分类器(一种自动分类数据的机器学习算法)之前深入了解数据结构很有用。
尽管在未标记的数据很大时很有用,但无监督学习可能会给数据科学家带来一些不便。 由于监督学习中使用的验证数据集也被标记,因此数据科学家更容易衡量模型的准确性。 但对于无监督学习模型,情况并非如此。
在许多情况下,在监督学习之前应用无监督学习。 这有助于识别特征和创建类。
无监督学习过程在线进行,而监督学习则离线进行。 这允许 UL 算法实时处理数据。
无监督学习问题分为关联和聚类问题,监督学习可以进一步分为回归和分类。
除了监督学习和无监督学习,还有半监督学习和强化学习。
半监督学习是监督学习和无监督学习的混合体。 在这种机器学习技术中,系统只接受了一点点训练,以便获得高级别的概览。 一小部分训练数据将被标记,其余的将未标记。
在强化学习 (RL)中,人工智能系统将遇到一个类似游戏的环境,在该环境中它必须最大化奖励。 系统必须遵循试错法进行学习,并提高每一步获得奖励的机会。
以下是有监督学习和无监督学习之间的主要区别的快速浏览。
无监督学习 | 监督学习 |
这是一个复杂的过程,需要更多的计算资源,而且很耗时。 | 它相对简单并且需要较少的计算资源。 |
训练数据集未标记。 | 训练数据集被标记。 |
不太准确,但不一定 | 高度准确 |
分为关联和聚类 | 分为回归和分类 |
测量模型的准确性和不确定性是很麻烦的。 | 更容易衡量模型的准确性。 |
班数未知。 | 类的数量是已知的。 |
学习是实时进行的。 | 学习是离线进行的。 |
Apriori、ECLAT、k-means 聚类和频繁模式 (FP) 增长算法是使用的一些算法。 | 线性回归、逻辑回归、朴素贝叶斯和支持向量机 (SVM) 是一些使用的算法。 |
无监督机器学习示例
如前所述,无监督学习本身就是一个目标,可用于在大量数据中找到隐藏的模式——这对人类来说是一项不切实际的任务。
无监督机器学习的一些实际应用。
- 异常检测:这是在数据集中查找非典型数据点的过程,因此对于检测欺诈活动很有用。
- 计算机视觉:也称为 图像识别,这种识别图像中物体的壮举对于自动驾驶汽车至关重要,甚至对于医疗保健行业的图像分割也很有价值。
- 推荐系统:通过分析历史数据,无监督学习算法推荐客户最有可能购买的产品。
- 客户角色:无监督学习可以通过分析购买习惯数据来帮助企业建立准确的客户角色。
将算法留给自己的设备
自主学习的能力使无监督学习成为分析大量数据的最快方法。 当然,在有监督或无监督(甚至半监督)学习之间进行选择取决于您要解决的问题以及可用数据的时间和海量。 尽管如此,无监督学习可以使您的整个工作更具可扩展性。
我们今天拥有的人工智能无法统治世界,更不用说违抗其创造者的命令了。 但它使自动驾驶汽车和聊天机器人等令人难以置信的壮举成为可能。 它被称为窄人工智能,但并不像听起来那么弱。