数据挖掘中的常用聚类算法

数据挖掘中的常用聚类算法
2008-12-01 13:50

聚类相关的概念:相似性、距离度量(单连接、全连接、平均、质心、中心)、异常点

算法分类:层次算法、划分算法

层次算法:(凝聚、分裂)、谱系图的概念

简单的凝聚算法——最近邻聚类:自增距离d至阀值、每次合并距离<=d的簇,复杂度0(max(d)*n^2*判连通的复杂度)

基于mst的层次凝聚聚类:从生成的mst上,根据距离合并簇

分裂:基于mst的分裂,与上述mst凝聚相逆

划分算法判定聚类解的优劣:平方误差(点到簇中心点的距离平方和)

1、mst,去k-1条最不一致边,0(n^2)

2、误差平方聚类:随机选k个点入簇,将每个点放入最近的簇,计算机平方误差,产生新的中心点,直到两次迭代产生的平方误差的差小于某一阀值:(分k个簇,n个元组,t次迭代)O(ktn)

3、k均值算法:选k个初始点入簇,计算平均值,然后重新将每个点放入到平均值距离最近的簇,重新计算平均值,直到均值不变或变化小于某一阀值 O(ktn)

4、最邻近算法:初始化某一个点为单独簇,依次计算每一个点到每个簇中心点的距离,选出最近的簇,如果最近距离小于阀值,加入这个最近簇,否则,自己单独成为另外一个簇 最坏时间复杂度 O(n^2)

5、pam算法:选定中心点、利用最近距离将每个点入簇、计算交换中心点与任意个非中心点交换后的距离改变量,并交换距离改变量最小的一对中心点与非中心点,直到改变量非负。复杂度大

扩展到大型数据库:CLARA,CLARANS,基于数据库抽样

6、遗传算法:了解

7、神经网络:了解,自组织的神经网络、自组织映射,kohonen网络、权值调整、竞争

感觉很多划分算法,都是利用不断的迭代进行松弛...

以上不过是一个提纲。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
聚类算法是一种常用的无监督学习方法,它的目标是将数据集划分成若干个不同的组或类别,使得组内的数据点相似度较高,组间的数据点相似度较低。在数据挖掘聚类算法常用于数据探索、数据压缩、数据预处理和模式识别等方面。下面是常见的几种聚类算法: 1. K-means算法:K-means算法是一种基于距离的聚类算法,它将数据点划分到K个簇,每个簇都由其质心(即簇所有数据点的平均值)来代表。该算法需要指定簇的数量K,然后通过迭代优化来最小化每个数据点与其所属簇质心之间的距离。 2. 层次聚类算法:层次聚类算法可以分为两种类型:自上而下和自下而上。自上而下的层次聚类算法从一个包含所有数据点的大簇开始,然后通过分裂操作逐渐将其划分成更小的簇。自下而上的层次聚类算法从单个数据点开始,然后通过合并操作逐渐将其组合成更大的簇。该算法不需要指定簇的数量K,而是自动构建一个簇层次结构。 3. DBSCAN算法:DBSCAN算法是一种基于密度的聚类算法,它将数据点划分到高密度区域,从而形成簇。该算法通过定义一个半径和一个密度阈值来确定密度高、相互靠近的数据点,并将其划分为同一簇。该算法对噪声点和离群点也有较好的鲁棒性。 4. EM算法:EM算法是一种基于概率模型的聚类算法,它假设每个簇对应于一个高斯分布,然后通过最大化似然函数来估计每个高斯分布的参数。该算法可以自动估计簇的数量K,并且对于非球形簇也有较好的适应性。 5. SOM算法:SOM算法是一种自组织映射网络,它通过将高维数据映射到一个低维网格上来实现聚类。该算法使用竞争学习来训练神经元,使得每个神经元表示一个簇,并且相邻的神经元在网格上也相邻。该算法可以用于数据可视化和聚类。 以上是常见的几种聚类算法,每种算法都有其优缺点和适用范围,应根据具体的问题情况选择合适的算法

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值