机器学习—聚类算法

什么是聚类?[What is clustering?]

它是一种无监督学习方法,用于对未标记的数据进行分类。聚类的目标是将数据集中的对象分成多个组(簇),使得同一个簇内的对象彼此相似,而不同簇的对象彼此相异。

聚类的分类:

(1):K-means算法

(2):层次聚类

(3):DBSCAN(Density-Based Spatial Clustering of Applications with Noise)

(4):高斯混合模型(Gaussian Mixture Models, GMM)

K-means算法

 Step 1: 初始化质心

        选择k个初始质心:首先,需要确定簇的数量k,从数据集中随机选取k个点作为初始的簇质心(cluster centroids)。

Step 2: 分配数据点

        计算距离:对于数据集中的每一个数据点,计算它与所有k个质心之间的距离。

        分配簇:将每个数据点分配给距离最近的那个质心所在的簇。

Step 3: 移动簇质心

        重新计算质心:在每个簇内,计算所有数据点的平均值,以此作为新的质心位置。

Step 4: 迭代优化

        重复Step 2和Step 3:不断重复分配数据点和更新质心的过程,直到质心的位置不再发生显著变化,达到收敛。

如果没有点分配给簇,则取消该簇。

如何进行随机猜测?

        簇质心的数量k<m(数据点)

        使用不同的随机簇质心,会得到不同的结果,所以多次随机(50-1000次),如果次数过少容易陷入局部最小值。

肘部法则Elbow Method

         对于k的选择有方法Elbow method肘部法则

  • 步骤
    1. 选择一系列 k 值。
    2. 对每个 k 值,运行K-means算法并记录成本函数值(惯性)。
    3. 绘制成本函数图,观察“肘部”点。
    4. 选择成本函数值下降速度显著减缓的点作为最佳的 k 值。

以上图为例,k在大于等于4的时候成本函数的变化趋势变缓,由此可得最佳k值为4。总的来说就是选择弯度最大的点(肘部点)。

轮廓系数Silhouette Coefficient

        除了肘部法则,关于k的选择还有轮廓系数。它的范围在 [−1,1]之间。轮廓系数越高,表示聚类效果越好。

        它的计算公式为:

        其中 a(i)是样本 ii与其同簇内其他样本的平均距离,b(i)是样本 ii与最近的其他簇中所有样本的平均距离。

步骤

  1. 选择一系列 k 值。
  2. 对每个 k值,运行 K-means 算法并计算所有样本的轮廓系数。
  3. 选择轮廓系数最高的 k 值作为最佳簇数。

        如上图所示,最佳k值为4.

Cost function

其中:

  • Ci表示第 i个簇中的所有数据点。
  • ∥xj−ci∥2表示数据点 xj 与质心 ci之间的欧氏距离的平方。

        欧式距离:Euclidean Distance

        欧式距离运用于二维,三维或者高维空间,在K-means里它用于计算数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值