k-means

 初始K个点的选择

凭经验选代表点,根据问题的性质、数据分布,从直观上看来较合理的代表点k。

②将全部样本随机分成k类,计算每类重心,把这些重心作为每类的代表点。

③按密度大小选代表点:

  以每个样本作为球心,以d为半径做球形;落在球内的样本数称为该点的密度,并按密度大小排序。

首先选密度最大的作为第一个代表点,即第一个聚类中心。再考虑第二大密度点,若第二大密度点距第

一代表点的距离大于刃(人为规定的正数)则把第二大密度点作为第二代表点,否则不能作为代表点,

这样按密度大小考察下去,所选代表点间的距离都大于刃。以太小,代表点太多,刃太大,代表点太小,

一般选刃=2d。对代表点内的密度一般要求大于T。T>O为规定的一个正数。

用前k个样本点作为代表点

 

【1)选择彼此距离尽可能远的K个点 2)先对数据用层次聚类算法或者Canopy算法进行聚类,得到K个簇之后,从每个类簇中选择一个点,该点可以是该类簇的中心点,或者是距离类簇中心点最近的那个点。】

 首先随机选择一个点作为第一个初始类簇中心点,然后选择距离该点最远的那个点作为第二个初始类簇中心点,然后再选择距离前两个点的最近距离最大的点作为第三个初始类簇的中心点,以此类推,直至选出K个初始类簇中心点。

K值的确定:

 给定一个合适的类簇指标,比如平均半径或直径,只要我们假设的类簇的数目等于或者高于真实的类簇的数目时,该指标上升会很缓慢,而一旦试图得到少于真实数目的类簇时,该指标会急剧上升。

  类簇的直径是指类簇内任意两点之间的最大距离。

  类簇的半径是指类簇内所有点到类簇中心距离的最大值。

 

posted on 2015-07-11 20:51  二的二次方  阅读(280)  评论(0编辑  收藏  举报

导航