分类作为一种监督学习方法,要求必须事先明确知道各个类别的信息,并
且断言所有待分类项都有一个类别与之对应。但是很多时候上述条件得不到满
足,尤其是在处理海量数据的时候,如果通过预处理使得数据满足分类算法的要
求,则代价非常大,这时候可以考虑使用聚类算法。聚类属于无监督学习,相比
于分类,聚类不依赖预定义的类和类标号的训练实例 。本文介绍一种常见的聚类
算法——k 均值和 k 中心点聚类,最后会举一个实例:应用聚类方法试图解决
一个在体育界大家颇具争议的问题——中国男足近几年在亚洲到底处于几流水
平。
所谓聚类问题,就是给定一个元素集合 D,其中每个元素具有 n 个可观
察属性,使用某种算法将 D 划分成 k 个子集,要求每个子集内部的元素之间相
异度尽可能低,而不同子集的元素相异度尽可能高。其中每个子集叫做一个簇。
与分类不同,分类是示例式学习,要求分类前明确各个类别,并断言每个
元素映射到一个类别,而聚类是观察式学习,在聚类前可以不知道类别甚至不给
定类别数量,是无监督学习的一种。目前聚类广泛应用于统计学、生物学、数据
库技术和市场营销等领域,相应的算法也非常的多。本文仅介绍一种最简单的聚
类算法——k 均值(k-means)算法。
hard clustering:一个文档要么属于类 w,要么不属于类 w,即文档对确定的类
w 是二值的1 或 0。
soft clustering:一个文档可以属于类 w1,同时也可以属于 w2,而且文档属于
一个类的值不是 0 或 1,可以是这样的小数。
K-Means 就是一种 hard clustering,所谓 K-means 里的 K 就是我们要事先指定
分类的个数,即 K 个。