还记得在监督学习的过程中,经常出现这样一幅图

在监督学习中,训练集的数据都含有标签,并且可通过标签对数据进行分类,并且知道正确的答案。而在无监督学习中,数据集中的数据没有标签,对其进行分类也没有答案,只能通过聚类的方式进行分类,这就是无监督学习。
接下来我们将介绍无监督学习的第一个算法,k-means聚类算法。
k-means聚类算法
在聚类问题中,给定一组训练集合 {x(1),x(2),...,x(m)} ,其中每个训练样本是n维的向量, x(i)∈Rn ,且训练样本没有标签。我们希望通过一些“簇”将数据分成几组。
k-means聚类算法的步骤如下:
初始化几个聚类中心,随机选取几个n维向量 μ1,μ2,...,μk
重复执行直到收敛:{
对于每一个训练样本 i ,使得:
对于每个聚类中心
j ,使得:
}
在上述的算法中,
k
是我们想要找到的聚类的数量;聚类中心
算法第二步的循环中有两个步骤,1.为每个训练样本 x(i) 分配到离它最近的聚类中心的 μj ,2.改变聚类中心 μj ,这个值是所有靠近该聚类中心的点的均值。

图中显示了k-means算法的执行过程。训练样本用点来表示,聚类中心用“X”表示。图(a)是原始的数据集,(b)是随机初始化聚类中心(c-f)显示了两次迭代k-means聚类算法的结果,在每一次迭代中,我们将每个训练样本分配给离该点最近的聚类中心(图中相同的颜色代表属于同一聚类中心);之后移动每一个聚类中心到所有分配到该中心的点的均值。
那么k-means聚类算法一定保证收敛吗?答案是肯定的,在某种意义上来说。
让我们通过定义偏差函数来证明这一结论:

其中,
J
是衡量每一个训练样本
偏差函数
J
是一个非凸函数,所以针对
混合高斯模型与EM算法
这一小节将讲述针对密度估计的EM(Expectation-Maximization)算法。
这一部分讲的很高深,听得很迷茫,有些东西并没有理解到位。因此在此引用比较好的对混合高斯模型以及EM算法讲述到位的博文,通过对这两篇博文的理解,相信大家会有一个较为全面的知识结构。
[1] http://www.cnblogs.com/AndyJee/p/3732766.html
[2]http://www.cnblogs.com/jerrylead/archive/2011/04/06/2006936.html