DeepLearning学习笔记——无监督学习算法

来源:互联网 发布:中原工学院网络 编辑:程序博客网 时间:2024/06/07 22:48

无监督算法只处理“特征”,不操作监督信号。监督和无监督算法之间的区别没有规范严格的定义,因为没有客观的判断来区分监督者提供的值是特征还是目标。通俗地说,无监督学习的大多数尝试是指从不需要人为注释的样本的分布中抽取信息。

简介

  无监督学习通常与密度估计相关,学习从分布中采样、学习从分布中去噪、寻找数据分布的流形或是将数据中相关的样本聚类。
  一个经典的无监督学习任务是找到数据的“最佳”表示。“最佳”可以是不同的表示,但是一般来说,是指该表示在比本身表示的信息更简单或更易访问而受到一些惩罚或限制的情况下,尽可能地保存关于x更多的信息。
  有很多方式定义较简单的表示。最常见的三种包括低维表示、稀疏表示和独立表示

  • 低维表示尝试将x中的信息尽可能压缩在一个较小的表示中。
  • 稀疏表示将数据集嵌入到输入项大多数为零的表示中。稀疏表示通常用于需要增加表示维数的情况,使得大部分为零的表示不会丢失很多信息。这会使得表示的整体结构倾向于将数据分布在表示空间的坐标轴上。
  • 独立表示试图分开数据分布中变化的来源,使得表示的维度是统计独立的。

  当然这三个标准并非相互排斥的。低维表示通常会产生比原始的高位数据具有较少或较弱依赖关系的元素。这是因为减少表示大小的一种方式是找到并消除冗余。识别并去除更多的冗余使得降维算法在丢失更少信息的同时显现更大的压缩。
  表示的概念是深度学习核心主题之一。下面会介绍表示学习算法的一些简单示例。总的来说,这些示例算法会说明如何实施上面的三个标准。

主成分分析

  PCA(主成分分析)算法提供了一种压缩数据的方式。我们也可以将PCA视为学习数据表示的无监督学习算法。这种表示基于上述简单表示的两个标准。PCA学习一种比原始维数更低的表示。它也学习了一种元素之间彼此没有线性相关的表示。这是学习表示中元素统计独立标准的第一步。要实现完全独立性,表示学习算法也必须去掉变量间的非线性关系。
  如下图所示,PCA将输入x投影表示成z,学习数据的正交线性变换。因此,我们可以用PCA表示保留数据竟可能多信息的将为方法。在下文中,我们将研究PCA表示如何是原始数据表示X去相关的。
PCA
PCA学习一种现行投影,使最大方差的方向和新空间的轴对齐。(左)原始数据包含了x的样本。在这个空间中,方差的方向与轴的方向并不是对齐的。(右)变换过的数据z=xTW在轴z1的方向上游最大的变化。第二大变化方差的防线沿着z2.

PCA可以将数据变化为元素之间彼此不相关的原理

k-均值聚类

  另外一个简单的表示学习算法是k-均值聚类。k-均值聚类将训练集分成k个靠近彼此的不同样本聚类。因此我们可以认为该算法提供了k-维的one-hot编码向量h以表示输入x。当x输入聚类i时,有hi=1,h的其他项为零。
  k-means提供的one-hot编码也是一种稀疏表示,因为每个输入的表示中大部分元素为o。之后,我们会介绍能够学习更灵活的稀疏表示的一些其他算法(表示中每个输入x不止一个非零项)。one-hot编码仍然有一些统计有点(自然地传达了相同聚类中样本彼此相似的观点),也具有计算上的有事,因此整个表示可以用一个单独的尝试表示。
  k-means聚类初始化k个不同的中心点{μ(1),...,μ(k)},然后迭代交换两个不同的步骤直到收敛。

  1. 每个驯良样本分配到最近的中心点所代表的聚类i。
  2. 每个中心店更新为聚类i中所有训练样本的均值。

  关于聚类的一个问题是聚类问题本身是病态的。这是说没有单一的标准去度量聚类的数据在真实世界中效果如何。我们可以锻炼聚类的性质,例如勒种元素到类中心点的欧几里得距离的均值。这使我们可以判断从聚类分配中重建训练数据的效果如何。此外,可能有许多不同的聚类都能很好的对应到现实世界的某些属性。我们可能希望找到和一个特征相关的聚类,但是得到了一个和任务无关的,同样是合理的不同聚类。
  这些问题说明了一些我们可能更偏好于分布式表示(相对于one-hot表示而言)的原因。分布式表示可以对每个车辆赋予两个属性——一个表示它颜色,一个表示他是汽车还是卡车。目前仍然不清楚什么是最优的分布式表示(学习算法如何知道我们关心的两个属性是颜色和是否汽车或卡车,而不是制造商和车龄?),但是多个属性减少了算法取材我们关心那个属性的负担,允许我们通过比较很多属性而非猜测是一个单一属性来细粒度地度量相似性。