K-means的三种改进

k-means的这三种改进都属于“硬聚类”,而软聚类是与之对应的每个样本是以一定概率被分到某一类别中去的。

(1)k-means++:原始的k-means算法最初是随机的从原始数据集中选取k个节点作为初始聚类中心,而k-means对初始聚类中心十分敏感,不同的初始聚类中心会得到不同的聚类结果,而k-means++按照如下思路进行选取k个聚类中心:①:选取一个初始聚类中心;②:选取距离这个聚类中心越远的点会有更高的概率被选为第2个聚类中心;③:重复前面两部的操作。

(2)ISODATA算法:全称是迭代自组织数据分析算法:K-means的k值是预先确定的,并在整个算法中无法更改,而ISODATA就是针对这个问题提出改进的,他的思想是:当属于某一类的样本数太少时就把这个类去除,当属于某个类别的样本个数过多、分散程度较大时把这个类分为两个子类。

(3)Kernel k-means:传统的k-means是利用欧式距离进行样本间的相似度量,而不是所有数据都适用于这种度量方式。这里采用的是核函数的思想将所有样本映射到另外一个特征空间进行聚类,使效果得到改善。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
K均值的时间复杂度为NKTD,其中,N代表样本个数,K代表k值,即聚类中心点个数,T代表循环次数,D代表样本数据的维度。 本算法的改进主要在以下方面: 一, 初始聚类中心点,传统的初始中心点是随机选择,由于K均值算法受初始中心点影响较大,为获得更好的效果,在本方法中,先将数据采用层次聚类的方法预处理,得到的k个中心点作为K均值算法的中心点。 二, 传统的聚类中心点更新是在结束一次循环后,本方法的聚类中心采用实时更新策略,即每次将一个模式归于一个新的聚类中心时,即立刻更新新的所属中心和原属聚类中心的中心值,增强算法的收敛性。 三, 为达到类内方差最小化,类类方差最大化这一原则,考虑到往往设定的K值不一定能很好实现聚类效果,故将以往的固定聚类中心改为一浮动区间。原有K为最小聚类中心个数,另设一聚类中心个数上限maxK。其具体实现如下: 1) 当一待聚类的模式得到其最近中心时,计算该聚类中心类内方差和将此模式归于该中心之后的类内方差,如果两者差别大于某设定阈值,则以该模式数据为基础,得到一新的聚类中心。 2) 当当前聚类中心个数等于设定的最大聚类中心时,合并最相邻的两个聚类。为使得到的聚类效果更为均衡,应该优先合并维度较小的聚类类别。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值