K-means优化: k-means++:假设已经选取了n个初始聚类中心(0<n<k),则在选取第n+1个聚类中心时:距离当前n个聚类中心越远的点会有更高的概率被选为第n+1个聚类中心,在选取第一个聚类中心(n=1)时同样通过随机的方法。可以说这也符合我们的直觉:聚类中心当然是互相离得越远越好。 ISODATA:类别数目随着聚类过程而变化,对类别数的‘合并’(当聚类结果某一类中样本数太少,或两个类间聚类太近),‘分裂’(当聚类结果中某一类的内方差太大,将该类进行分裂)。 Kernel K-means:将每个样本进行一个投射到高维空间的处理,然后再将处理后的数据使用普通的K-means算法进行聚类。 二分K-means:将所有的点作为一个簇,然后将该簇一分为二。之后选择能最大限度降低聚类代价函数(也就是误差平方和)和簇划分为两个簇,依次进行下去,知道簇的数目等于用户给定的数目K为止。隐含的一个原则是:因为聚类的误差平方和能够衡量聚类性能,该值越小表示数据点越接近于他们的质心,聚类效果就越好。所有我们就需要对误差平方和最大的簇进行再一次划分,因为误差平方和越大,表示这个簇的聚类效果越不好,越有可能是多个簇被当成了一个簇,所有我们首先需要对这个簇进行划分。二分K均值算法可以加速K-means算法的执行速度,因为它的相似度计算少了不受初始化问题的影响,因为这里不存在随机点的选取,且每一个都保证了误差最小。 Mini Batch K-means(适合大数据的聚类算法):通过样本量大于一万做聚类时,需要考虑选用此算法。他使用了一种叫做Mini Batch(分批处理)的方法对数据点之间的距离进行计算。Mini Batch的好处是计算过程中不必使用所有的数据样本,二十从不同类别的样本中抽取一部分样本来代表各自类型进行计算。由于计算样本量少,所以会相应的减少运行时间,但另一方面抽样也必然会带来准确度的下降。

相关推荐

牛客网
牛客企业服务