k-means

1.什么是无监督学习?

分类数据没有标签,也叫聚类。k-means 算法是目前最为广泛使用的聚类方法。

在非监督学习中,我们需要将一系列无标签的训练数据,输入到一个算法中,然后我们告诉这个
算法,快去为我们找找这个数据的内在结构给定数据。

training set {x1,x2,x3,...}

2.k-means算法

聚类是通过判断样本间的相似度来进行的,这种相似度我们通常使用样本属性间的距离来衡量

步骤:

1.确定聚类个数k
2.从数据集中随机选取k个样本 ,作为初始均值向量
3.计算数据集中的样本与各个均值向量的距离,划为距离最近的类
4.根据上面的公式计算新的均值向量
5.如果均值向量和之前相比未变则结束聚类,若不相等则回到第三步重复计算

 代价函数

局限性:

1.可能收敛到局部最小值
2.在大规模数据集上收敛较慢

如何初始化聚类中心:

随机初始化:

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

如何选择K(聚类)的数量:

二分K-means:该算法首先将所有的点作为一个簇,然后将该簇一分为二。之后递归选择簇进行划分,直到得到用户指定的k值,选择簇的标准是最大程度的降低SSE的值。

没有所谓最好的选择聚类数的方法,通常是需要根据不同的问题,人工进行选择的

手动、人工输入、或经验、肘部法则

原文地址:https://www.cnblogs.com/zenan/p/8472114.html