每天五分钟机器学习:如何初始化聚类算法的聚簇中心点?

本文重点

聚类算法k-means的第一步的是初始化k个聚簇中心,那么现在的问题是如何初始化不同的聚簇中心

具体做法如下:

1. 我们应该选择 K

2. 随机选择 K 个训练实例,然后这 K 个训练实例就是这K个聚类中心

k-means的意义

K-均值的一个问题在于,因为随机聚类中心的不同,我们在最小化代价函数J的时候,它有可能会停留在一个局部最小值处,而这取决于初始化的情况。随机初始化聚类中心的不同,我们最终得到的簇也有可能不一样,有时候聚类的效果特别好,但有些时候聚类效果不是很好。

局部最小值

每天五分钟机器学习:如何初始化聚类算法的聚簇中心点?_第1张图片

 

全局最小值

解决局部最优问题

如果我们担心K均值算法可能遇到的局部最优问题,如果你想要让我们们k均值算法找到最好的聚类效果,我们能做的就是:

我们通常需要多次运行 K-均值算法,每一次都重新进行随机初始化,最后再比较多次运行 K-均值的结果,选择代价函数最小的结果。这种方法在 k 较小的时候(k<10)还是可行的,但是如果 k 较大,这么做也可能不会有明显地改善。 最终保证我们得到一个最优的结果,一个尽可能局部或者全局最优的结果。

你可能感兴趣的:(每天五分钟玩转机器学习算法,机器学习,聚类,算法,人工智能,数据挖掘)