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