计世网

如果计算机可以像孩子们那样学习。。。
作者:Martin Heller | 来源:计算机世界
2019-12-18
目前,无监督学习主要用于发现数据中的模式,检测数据中的异常值,而未来可能会产生通用人工智能。

 

尽管受监督机器学习和深度学习取得了成功,但有一种学派认为,无监督学习的潜力更大。受监督学习系统的学习受到其所受训练的限制:即受监督学习系统只能学习它所训练的任务。相比之下,一个无监督的系统理论上可以实现“人工通用智能”,这意味着具有学习人类能够学习任何任务的能力。然而,这种技术还没有出现。

如果受监督学习的最大问题是标记训练数据的费用,那么无监督学习(不用标记数据)的最大问题就是它通常不能很好地工作。然而,无监督学习确实有其用途:它有助于减少数据集的维数,发现数据的模式和结构,查找相似对象的组,以及检测数据中的异常值和其他噪声。

总的来说,作为探索数据分析的一部分,非常值得采用无监督学习方法来发现模式和聚类,减少数据的维数,发现潜在的特性,并删除异常值。那么,应该继续进行监督学习,还是使用预先训练过的模型进行预测,这取决于你的目标和数据。

什么是无监督学习?

想想我们的孩子是怎样学习的。作为家长或者老师,当你教孩子们识别狗和猫的时候,并不需要向他们展示每一种狗和猫。他们从一些例子中就能学会,不需要很多解释,自己就能归纳。他们第一次看到一只吉娃娃时可能会错误地叫它“Kitty”,而你会很快地纠正他们。

孩子们本能地把他们看到的一组东西分为一类。无监督学习的目标之一实际上是让计算机发展出同样的能力。不妨看看DeepMind公司的Alex Graves和Kelly Clancy的博文内容,“无监督学习:好奇的学生”。

无监督学习是一种范式,旨在通过奖励代理(即计算机程序),在不考虑具体任务的情况下学习它们观察到的数据,从而创建自主智能。换句话说,代理是出于学习的目的而去学习。

出于学习的目的而去学习代理的潜力要远远大于把复杂图片简化为二元决策(例如,狗或者猫)的系统。劳伦斯伯克利实验室研究人员在数百万份材料科学文摘上运行文本处理算法(Word2vec)来预测新热电材料会有什么发现,正如其工作所证明的那样,发现模式而不是执行预先定义的任务将产生令人惊讶的结果,而且结果非常有用。

聚类方法

聚类问题是一个无监督学习问题,要求模型查找有相似数据点的分组。目前在用的聚类算法有很多种,它们的特性往往略有不同。一般来说,聚类算法会查看数据点特征向量之间的度量或者距离函数,然后对彼此“接近”的特征向量进行分组。如果这些类不重叠,那么聚类算法的效果最好。

分层聚类

分层聚类分析(HCA)可以是聚集式的(从单个点开始自下而上的构建聚类,以单个聚类结束),也可以是分离式的(从单个聚类开始,然后将其分解,直到最终得到单个点)。如果幸运的话,你能找到一个展现出可用分类的聚类过程的中间阶段。

聚类过程通0常显示为系统树图(树形图)。HCA算法往往需要大量的计算时间[O(n3)]和内存[O(n2)] 资源,这些限制使得算法不太适用于相对较小的数据集。

HCA算法可以使用各种度量和链接标准。欧几里得距离和平方欧几里得距离在数值数据中都很常见;而汉明距离和列文斯坦距离则常用于非数值数据。单链接和完全链接也是常见的,这两种方法都可以简化聚类算法(分别为SLINK和CLINK)。SLINK是少数能保证找到最优解的一种聚类算法。

K均值聚类

K均值聚类问题使用欧几里得距离指标,把n个观测值划分为k个聚类,目的是尽量减小每个聚类内的方差(平方和)。这是一种矢量量化的方法,对特征学习非常有用。

Lloyd算法(具有中心更新功能的迭代聚类算法)是解决该问题最常用的启发式算法,相对高效,但不能保证全局收敛。为了改进这一点,人们经常使用由Forgy或者随机划分方法生成的随机初始聚类中心来多次运行该算法。

K均值假设球形聚类是可分离的,这样均值就向聚类中心收敛,并且还假设数据点的排序无关紧要。这些聚类的大小应该差不多,因此到最近的聚类中心的分配是正确的分配。

求解K均值聚类的启发式算法通常与高斯混合模型的期望值最大化(EM)算法相似。

混合模型

混合模型假定观测值的子群体符合一些概率分布,这通常是数值观测值的高斯分布或者非数值数据的分类分布。每个子群体可能有自己的分布参数,例如高斯分布的均值和方差。

期望值最大化(EM)是一种最常用的方法,用于确定具有一定数量分量的混合参数。除了EM方法之外,还可以使用马尔可夫链蒙特卡罗法、矩匹配法、奇异值分解(SVD)谱法和图解法来求解混合模型。

最初的混合模型应用于根据前额与体长的比值来识别河蟹的两个种群。1984年,Karl Pearson使用矩匹配法解决了这个问题。

混合模型一种常见的扩展是把定义混合分量恒等式的潜在变量连接到马尔可夫链,而不是假设它们是独立的、相同分布的随机变量。所得到的模型被称为隐马尔可夫模型,是最常见的一种顺序分层模型。

DBSCAN算法

基于密度的带噪声应用空间聚类算法(DBSCAN)是一种非参数数据聚类算法,始于1996年。它针对数据库应用进行了优化,可以使用R*树或者其他几何索引结构来加速几何区域的查询。

本质上,DBSCAN聚类核心点在Epsilon距离内具有超过一些最小数量的邻居,将其作为Epsilon距离内没有邻居的异常点而丢弃,而将核心点Epsilon距离内的点添加到该聚类中。DBSCAN是最常见的一种聚类算法,能够发现任意形状的聚类。

OPTICS算法

对数据点排序以识别聚类结构(OPTICS)这种算法是在空间数据中寻找基于密度的聚类。OPTICS类似于DBSCAN,但处理的是点密度变化的情况。

DBSCAN和OPTICS在概念上的差异也可用于简单的异常值和噪声检测以及消除。

潜变量模型

潜变量模型是将一组可观测变量与一组潜(隐)变量相关联的统计模型。潜变量模型有助于揭示复杂和高维数据中的隐藏结构。

主分量分析

主分量分析(PCA)这种统计过程使用正交变换,把一组可能相关的数值变量的观测值转换成一组称为主分量的线性不相关变量值。Karl Pearson于1901年发明了PCA。PCA可以通过数据协方差(或者相关)矩阵的特征值分解或者数据矩阵的奇异值分解(SVD)来实现,通常在初始数据的归一化步骤之后。

奇异值分解

奇异值分解(SVD)是实数矩阵或者复数矩阵的因式分解。这是线性代数中的一种常用方法,通常使用豪斯霍尔德变换来计算。SVD是求解主分量的一种方法。虽然完全可以从头开始编写SVD,但是在所有线性代数库中都有很好的实现。

矩量法

矩量法利用被观测数据样本的矩量(均值、方差、偏态和峰度)来估计群分布参数。这一方法比较简单,通常采用手工计算,而且一般能实现全局收敛。然而,在统计量较少的情况下,矩量法有时会产生超出参数空间的估算值。矩量法是求解混合模型(上面)的一种简便方法。

期望最大化算法

期望最大化(EM)算法是一种迭代方法,用于在依赖于未观测到的潜变量的模型中查找参数的最大似然估算值。EM迭代在执行期望步骤(E)和最大化步骤(M)之间交替进行,前者为使用当前参数估算值评估的对数似然的期望值创建函数,后者计算使得在E步骤中找到的预期对数似然值最大化的参数。

EM收敛到最大值或者鞍点,但不一定收敛到全局最大值。可以通过对参数的很多随机初始估算值重复EM过程,或者使用矩量法确定初始估算值,以尽可能找到全局最大值。

应用于高斯混合模型(上面)的EM可以用于聚类分析。

无监督神经网络

通常在标签数据上训练神经网络,进行分类或者回归,根据定义,这是受监督机器学习。也可以使用各种无监督的方法,采用无标签数据进行训练。

自动编码器

自动编码器是对输入进行训练的神经网络。本质上,自动编码器是一种前馈网络,充当编解码器,对输入层的输入进行编码,送入神经元数量较少的一个或者多个隐藏层,然后将编码后的表达式解码,送入以拓扑结构作为输入的输出层。

在训练过程中,自动编码器使用反向传播来尽可能减小输入和输出之间的差异。自动编码器已经用于降维、特征学习、去噪、异常检测、图像处理和学习生成模型。

深度信念网络

深度信念网络(DBN)是自动编码器或者受限的玻尔兹曼机(RBN)堆栈,能够学习重建其输入。然后,这些层被用作特征检测器。通常使用对比分歧来训练RBN。

DBN已经用于生成和识别图像、视频排序和运动捕获数据。

生成对抗网络

生成对抗网络(GAN)同时训练两个网络,其生成模型捕获数据分布,而判别模型估计来自训练数据的样本的概率。训练的目的是让发生器尽可能的欺骗鉴别器。

GAN可以用来创建虚构人物的照片,改善天文图像。GAN还被用于放大旧视频游戏的纹理,以用于高分辨率版本的游戏。除了无监督学习,GAN已经成功地应用于游戏的强化学习。

自组织映射

自组织映射(SOM)定义了从一组给定数据项到规则的、通常是二维网格的有序映射。每一网格节点都与一个模型相关联。数据项将被映射到其模型与数据项最相似的节点,即,在某些指标中与数据项的距离最小。

需要采取一些预防措施来确保映射是稳定的和有序的。并非所有的商业实现都遵循所有的预防措施。

作者:Martin Heller是InfoWorld的特约编辑和审稿人。他曾是一名网络和Windows编程顾问,1986年至2010年间开发过数据库、软件和网站。

编译:Charles

原文网址:https://www.infoworld.com/article/3429017/unsupervised-learning-explained.html

责任编辑:周星如