聚类
在无监督学习
(unsupervised learning)
中,训练样本的标记信息是未知的。无监督学习的目标:通过对无标记训练样本的学习来揭露数据的内在性质以及规律。
一个经典的无监督学习任务:寻找数据的最佳表达
(representation)
。常见的有:- 低维表达:试图将数据(位于高维空间)中的信息尽可能压缩在一个较低维空间中。
- 稀疏表达:将数据嵌入到大多数项为零的一个表达中。该策略通常需要进行维度扩张。
- 独立表达:使数据的各个特征相互独立。
无监督学习应用最广的是聚类
(clustering)
。- 给定数据集 ,聚类试图将数据集中的样本划分为 个不相交的子集 ,每个子集称为一个簇
cluster
。其中: 。 - 通过这样的划分,每个簇可能对应于一个潜在的概念。这些概念对于聚类算法而言,事先可能是未知的。
- 聚类过程仅仅能自动形成簇结构,簇所对应的概念语义需要由使用者来提供。
- 给定数据集 ,聚类试图将数据集中的样本划分为 个不相交的子集 ,每个子集称为一个簇
通常用 表示样本 的簇标记
cluster label
,即 。于是数据集 的聚类结果可以用包含 个元素的簇标记向量 来表示。聚类的作用:
- 可以作为一个单独的过程,用于寻找数据内在的分布结构。
- 也可以作为其他学习任务的前驱过程。如对数据先进行聚类,然后对每个簇单独训练模型。
聚类问题本身是病态的。即:没有某个标准来衡量聚类的效果。
可以简单的度量聚类的性质,如每个聚类的元素到该类中心点的平均距离。
但是实际上不知道这个平均距离对应于真实世界的物理意义。
可能很多不同的聚类都很好地对应了现实世界的某些属性,它们都是合理的。
如:在图片识别中包含的图片有:红色卡车、红色汽车、灰色卡车、灰色汽车。可以聚类成:红色一类、灰色一类;也可以聚类成:卡车一类、汽车一类。
解决该问题的一个做法是:利用深度学习来进行分布式表达,可以对每个车辆赋予两个属性:一个表示颜色、一个表示型号。