[TOC]

Kmeans超参数类的个数k如何选取?

1. 肘部法(Elbow Method)

肘部法是选取 𝑘k 值的常用方法,通过计算不同 𝑘k 值下的总误差平方和(Sum of Squared Errors, SSE),找到SSE显著减少的转折点:

  • 步骤

    1. 对不同的 k 值(例如,从 1 到 10)进行 K-means 聚类。
    2. 计算每个 k 值对应的 SSE。
    3. 绘制 𝑘k 值与 SSE 的关系图,寻找图中 SSE 显著降低的“肘部”,即拐点。此拐点处的 k 值通常是较优的选择。
  • 原理:在肘部点之前,增加 k 可以显著减少 SSE;在肘部点之后,增加 k* 对 SSE 的减少效果变得不显著。

2. 平均轮廓系数法(Silhouette Method)

平均轮廓系数法通过计算每个样本的轮廓系数来评估聚类质量:

  • 步骤

    1. 对不同的 k 值进行 K-means 聚类。
    2. 计算每个 k* 值对应的平均轮廓系数。
    3. 选择平均轮廓系数最大的 𝑘k 值。
  • 原理:轮廓系数衡量聚类的紧密性和分离度,值在 -1 到 1 之间,值越大表示聚类效果越好。

3. Gap Statistic

Gap Statistic 方法通过比较数据集与其参考无结构数据的聚类结果来选择 k*:

  • 步骤

    1. 对不同的 k 值进行 K-means 聚类。
    2. 生成与数据集大小和形状相同的参考数据集(通常是均匀分布或正态分布的随机数据)。
    3. 计算原始数据和参考数据的 SSE,并计算它们之间的差距(Gap Statistic)。
    4. 选择 Gap Statistic 最大的 k* 值。
  • 原理:通过比较实际数据和无结构数据的聚类结果,可以更好地评估聚类结构的显著性。

4. 层次聚类和 Dendrogram

层次聚类结合 Dendrogram 可以帮助直观地确定簇的数量:

  • 步骤

    1. 进行层次聚类,生成 Dendrogram 图。
    2. 观察 Dendrogram 图中垂直距离较大的部分,选择对应的水平切割线,这条线下的簇数就是 k 值。
  • 原理:Dendrogram 中的长分支表示不同簇之间的距离较大,短分支表示簇内部距离较小。

5. 几种常用的启发式法

  • BIC(Bayesian Information Criterion)和 AIC(Akaike Information Criterion):

    • 计算不同 𝑘k 值下模型的 BIC 和 AIC 值,选择 BIC 或 AIC 值最小的 k
  • Hopkins Statistics:

    • 通过计算 Hopkins Statistics,评估数据是否具有聚类结构。值越接近 0,数据越适合聚类,越接近 1,数据越接近随机分布。

Kmeans有哪些优缺点?是否有了解过改进的模型,举例说明?

K-means 是一种常用的聚类算法,具有一些优点和缺点:

优点:

  1. 简单而高效:K-means 算法简单易懂,计算效率高,在大规模数据集上表现良好。
  2. 易于实现:K-means 的原理直观,实现简单,常用于聚类分析的基准算法。
  3. 可扩展性强:适用于大规模数据集,具有较好的可扩展性。
  4. 聚类效果可解释性强:由于聚类中心直观可见,聚类结果相对容易解释。

缺点:

  1. 对初始聚类中心敏感:K-means 对初始聚类中心的选择敏感,不同的初始点可能会导致不同的聚类结果。
  2. 需要指定聚类数目:K-means 需要预先指定聚类簇的个数 k,而实际应用中往往不清楚 k 的具体值,选择合适的 k 是一个挑战。
  3. 对异常值敏感:K-means 对异常值敏感,可能会影响聚类中心的计算和聚类结果的准确性。
  4. 局部最优解:K-means 可能收敛到局部最优解,而非全局最优解,特别是在初始中心点选择不当时。

改进的模型:

  1. K-means++

    • K-means++ 是对初始聚类中心进行改进的算法,它通过引入一种“启发式”方法来选择初始聚类中心,减少了 K-means 对初始点敏感的问题,提高了算法的稳定性和收敛速度。
  2. Mini-batch K-means

    • Mini-batch K-means 是 K-means 的一种变体,它采用了小批量随机梯度下降的思想,每次迭代仅使用部分数据进行更新,从而加速了算法的收敛速度,并且降低了内存消耗。适用于大规模数据集。
  3. DBSCAN(Density-Based Spatial Clustering of Applications with Noise)

    • DBSCAN 是一种基于密度的聚类算法,它能够有效地识别任意形状的聚类簇,并且不需要事先指定聚类个数 k。相对于 K-means,DBSCAN 对异常值不敏感,并且能够发现不同密度的聚类簇。
  4. Mean Shift

    • Mean Shift 是一种基于密度估计的聚类算法,它不需要事先指定聚类个数 𝑘k,而是通过密度估计自适应地确定聚类中心。相比于 K-means,Mean Shift 不需要对初始点进行随机初始化,更加稳定。

本文由mdnice多平台发布


鲸鲸说数据
1 声望0 粉丝