背景与意义
现实生活中常常会有这样的问题:
(1)缺乏足够的先验知识,因此难以人工标注类别;
(2)进行人工类别标注的成本太高。
很自然地,我们希望计算机能代我们(部分)完成这些工作,或至少提供一些帮助。常见的应用背景包括:
(1)一从庞大的样本集合中选出一些具有代表性的加以标注用于分类器的训练。
(2)先将所有样本自动分为不同的类别,再由人类对这些类别进行标注。
(3)在无类别信息情况下,寻找好的特征。2
常用算法常用的无监督学习算法主要有主成分分析方法PCA等,等距映射方法、局部线性嵌入方法、拉普拉斯特征映射方法、黑塞局部线性嵌入方法和局部切空间排列方法等。3
从原理上来说PCA等数据降维算法同样适用于深度学习,但是这些数据降维方法复杂度较高,并且其算法的目标太明确,使得抽象后的低维数据中没有次要信息,而这些次要信息可能在更高层看来是区分数据的主要因素。所以现在深度学习中采用的无监督学习方法通常采用较为简单的算法和直观的评价标准。
典型例子-聚类无监督学习里典型例子是聚类。聚类的目的在于把相似的东西聚在一起,而我们并不关心这一类是什么。因此,一个聚类算法通常只需要知道如何计算相似度就可以开始工作了。
聚类算法一般有五种方法,最主要的是划分方法和层次方法两种。划分聚类算法通过优化评价函数把数据集分割为K个部分,它需要K作为 输人参数。典型的分割聚类算法有K-means算法, K-medoids算法、CLARANS算法。层次聚类由不同层次的分割聚类组成,层次之间的分割具有嵌套的关系。它不需要输入参数,这是它优于分割聚类 算法的一个明显的优点,其缺点是终止条件必须具体指定。典型的分层聚类算法有BIRCH算法、DBSCAN算法和CURE算法等。4
分类目前深度学习中的无监督学习主要分为两类,一类是确定型的自编码方法及其改进算法,其目标主要是能够从抽象后的数据中尽量无损地恢复原有数据,一类是概率型的受限波尔兹曼机及其改进算法,其目标主要是使受限玻尔兹曼机达到稳定状态时原数据出现的概率最大。
确定型无监督学习确定型无监督学习主要有自编码及稀疏自编码、降噪自编码等。自编码可以看作是一个特殊的3层BP神经网络,特殊性体现在需要使得自编码网络的输入输出尽可能近似,即尽可能使得编码无损(能够从编码中还原出原来的信息)。虽然稀疏自编码可以学习一个相等函数,使得可见层数据和经过编码解码后的数据尽可能相等,但是其鲁棒性仍然较差,尤其是当测试样本和训练样本概率分布相差较大时,效果较差。为此,Vincent等人在稀疏自编码的基础上提出了降噪自编码,其基本思想是,以一定概率使输入层某些节点的值为0,此时输入到可视层的数据变为x^,隐含层输出为y,然后由重构x的输出z,使得z和x的差值尽可能的小。
概率型无监督学习概率型无监督学习的典型代表就是限制玻尔兹曼机,限制玻尔兹曼机是玻尔兹曼机的一个简化版本,可以方便地从可见层数据推算出隐含层的激活状态。