K-Means答题.docVIP

  • 57
  • 0
  • 约3.9千字
  • 约 9页
  • 2017-04-21 发布于湖北
  • 举报
Clustering中文翻译作“聚类”,简单地说就是把相似的东西分到一组,同Classification(分类)不同,对于一个classifier,通常需要你告诉它“这个东西被分为某某类”这样一些例子,理想情况下,一个classifier会从它得到的训练集中进行“学习”,从而具备对未知数据进行分类的能力,这种提供训练数据的过程通常叫做supervised learning(监督学习),而在聚类的时候,我们并不关心某一类是什么,我们需要实现的目标只是把相似的东西聚到一起,因此,一个聚类算法通常只需要知道如何计算相似 度就可以开始工作了,因此clustering通常并不需要使用训练数据进行学习,这在Machine Learning中被称作unsupervised learning(无监督学习)。 举一个简单的例子:现在有一群小学生,你要把他们分成几组,让组内的成员之间尽量相似一些,而组之间则差别大一些。最后分出怎样的结果,就取决于你对于“相似”的定义了,比如,你决定男生和男生是相似的,女生和女生也是相似的,而男生和女生之间则差别很大”,这样,你实际上是用一个可能取两个值“男”和“女”的离散变量来代表了原来的一个小学生,我们通常把这样的变量叫做“特征”。实际上,在这种情况下,所有的小学生都被映射到了两个点的其中一个上,已经很自然地形成了两个组,不需要专门再做聚类了。另一种可能是使用“身高”这个特征。我在读小学候,每周五在操场开会训话的时候会按照大家住的地方的地域和距离远近来列队,这样结束之后就可以结队回家了。除了让事物映射到一个单独的特征之外,一种常见的做法是同时提取N种特征,将它们放在一起组成一个N维向量,从而得到一个从原始数据集合到N维向量空间的映射——你总是需要显式地或者隐式地完成这样一个过程,因为许多机器学习的算法都需要工作在一个向量空间中。 那么让我们再回到clustering的问题上,暂且抛开原始数据是什么形式,假设我们已经将其映射到了一个欧几里德空间上,为了方便展示,就使用二维空间吧,如下图所示: 从数据点的大致形状可以看出它们大致聚为三个cluster,其中两个紧凑一些,剩下那个松散一些。我们的目的是为这些数据分组,以便能区分出属于??同的簇的数据,如果按照分组给它们标上不同的颜色,就是这个样子: 那么计算机要如何来完成这个任务呢?当然,计算机还没有高级到能够“通过形状大致看出来”,不过,对于这样的N维欧氏空间中的点进行聚类,有一个非常简单的经典算法,也就是本文标题中提到的k-means(k-均值)。在介绍k-means的具体步骤之前,让我们先来看看它对于需要进行聚类的数据的一个基本假设吧:对于每一个cluster,我们可以选出一个中心点 (center) ,使得该cluster中的所有的点到该中心点的距离小于到其他cluster的中心的距离。虽然实际情况中得到的数据并不能保证总是满足这样的约束,但这通常已经是我们所能达到的最好的结果,而那些误差通常是固有存在的或者问题本身的不可分性造成的。例如下图所示的两个高斯分布,从两个分布中随机地抽取一些数据点出来,混杂到一起,现在要让你将这些混杂在一起的数据点按照它们被生成的那个分布分开来: 由于这两个分布本身有很大一部分重叠在一起了,例如,对于数据点2.5来说,它由两个分布产生的概率都是相等的,你所做的只能是一个猜测;稍微好一点的情况是2,通常我们会将它归类为左边的那个分布,因为概率大一些,然而此时它由右边的分布生??的概率仍然是比较大的,我们仍然有不小的几率会猜错。而整个阴影部分是我们所能达到的最小的猜错的概率,这来自于问题本身的不可分性,无法避免。因此,我们将k-means所依赖的这个假设看作是合理的。 基于这样一个假设,我们再来导出k-means所要优化的目标函数:设我们一共有N个数据点需要分为K个cluster,k-means要做的就是最小化 / 这个函数,其中在数据点n被归类到cluster k的时候为1,否则为0。直接寻找和来最小化并不容易,不过我们可以采取迭代的办法:先固定,选择最优的,很容易看出,只要将数据点归类到离他最近的那个中心就能保证最小。下一步则固定,再求最优的。将对求导并令导数等于零,很容易得到最小的时候应该满足: 亦即的值应当是所有cluster k中的数据点的平均值。由于每一次迭代都是取到的最小值,因此只会不断地减小(或者不变),而不会增加,这保证了k-means最终会到达一个极小值。虽然k-means并不能保证总是能得到全局最优解,但是对于这样的问题,像k-means这种复杂度的算法,这样的结果已经是很不错的了。 下面我们来总结一下k-means算法的具体步骤: 选定K个中心的初值。这个过程通常是针对具体的问题有一些启发式的选取

文档评论(0)

1亿VIP精品文档

相关文档