K 均值聚类

作者: dreampai | 来源:发表于2019-03-27 12:14 被阅读14次

    通过迭代方式寻找 K 个簇的一种划分方案,使得聚类结果对应的代价函数最小。

    1、缺点

    • 需要人工预先确定初始 K 值,且该值和真实的数据未必吻合。
    • K 均值只能收敛到局部最优,效果受到初始值很大
    • 易受到噪声点的影响
    • 样本点只能被划分到单一的类中。

    2、算法调优

    • 数据归一化和离群点处理
    • 合理选择 K 值

    K 值选择方法:

    • 手肘法:是一个经验方法,缺点就是不能够自动化。
    • Gap Statistic 方法:只需要找到最大的 Gap Statistic 所对应的 K 即可。Gap(K)可以视为随机样本的损失和实际样本的损失之差。
    • 采用核函数:通过一个非线性映射,将输入空间中的数据点映射到高位的特征空间中,并在新的特征空间进行聚类。非线性映射增加了数据点线性可分的概率,从而在经典聚类算法失效的情况下,通过引入核函数可以达到更为准确的聚类结果。

    3、算法改进

    • K-means++
    • ISODATA

    K-means++

    已经选取了 n(0<n<k) 个初始聚类中心,距离当前 n 个聚类中心越远的点会有更高的概率被选为第 n+1 个聚类中心。在选取第一个聚类中心(n=1)时同样通过随机的方法。

    ISODATA

    当 K 值的大小不确定时,可以使用 ISODATA 算法。
    ISODATA 的全称是迭代自组织数据分析法。当属于某个类别的样本数过少,把该类别去除;当属于某个类别的样本数过多、分散度较大时,把该类分为两个子类别。在 K-means 基础上增加两个操作,一是分裂操作,对应着增加聚类中心数;二是合并操作,对应着减少聚类中心数。

    超参数设定:

    • 预期的聚类中心数目 K 。具体地,最终输出的聚类中心数目常见范围是 K 的一半或两倍 K。
    • 每个类别要求的最少样本数目 N。如果分裂后会导致某个子类别所包含样本数目小于该阈值,就不会对该类别进行分裂操作
    • 最大方差 Sigma。用于控制某个类别中样本的分散程度。当样本分散程度超过这个阈值,且分裂后满足上条规则,进行分裂操作。
    • 两个聚类中心之间所允许最小距离 D。如果两个类靠的非常近,小于该阈值时,则对这两个类进行合并操作。

    相关文章

      网友评论

        本文标题:K 均值聚类

        本文链接:https://www.haomeiwen.com/subject/ggwavqtx.html