聚类算法学习笔记

阅读:Survey of Clustering Algorithms

A 距离和相似度测量

这里用的是基于先验知识的个体分类准则。数据对象一般是用一组多维特指向量描述的,该特征可以是定量的或者是定性的,是连续的或二值的(不连续的),是名词性的或顺序性的,这些性质决定了其相似度的度量法则。定义在数据组X上的不相似函数或距离函数必须满足以下条件:1)对称性2)正则性Dxixj>=0 3)满足三角不等式  4)自反性

类似的,相似函数定义为满足下面条件:1)对称性2)正则性3  4

Ø         一般说来,距离函数用来度量连续特征,而相似度度量在定性特征变量中更有用。文中表格是连续特征的度量方法。

Ø         对二值特征也常用相似度度量。

Ø         对于有多种状态的名词性特征一种简单的处理方法是把他们化成新的二值特征,另一种更为有效的方法是应用文中的匹配准则,可以把连续特征化成二值的然后用相似度度量,但这样做会造成信息丢失。   

B 分级聚类

分级聚类算法主要分为聚合算法和分离算法两种。由于使用分离算法得到的结果可能性有很多种,因此该算法不常使用,常用聚合算法。以下详细介绍聚合算法。步骤:

不同的距离准则有不同的方法,最简单和最常用的方法包括单一连接法和完全连接法。单一连接法是两类之间的距离是由距离最近的两个不同类的对象决定的,而完全连接法是使用不同类对象间的最大距离来定义类间距离的。

经典分级聚类的缺点:缺乏稳定性,对噪声干扰等敏感,某一点一旦分类难以更改,运算复杂度高使之难以在大量的数据中使用

 

C 基于平方错误率准则的聚类(向量量化)

就是使平方错误率最小。平方错误率准则定义为

也就是最小化类内距离,或最大化类间距离。

K均值算法步骤:

存在的问题及其解决方法:

1.初始化2.寻求最优解 3.对噪声敏感4.只能用于数字变量

D 基于混合密度的聚类

数据对象是由一些概率分布产生的。不同的概率分布可以产生不同类的数据点。这些概率密度可以概括成一些密度函数。如果数据分布已知,聚类就相当于估计潜在模型的参数。有时参数的似然函数直接优化十分困难,而引入额外的参数(隐含的或丢失的) 后就比较容易优化,于是定义原始观测数据加上额外参数组成“完全数据”, 原始观测数据自然就成为“不完全数据”,这就是EM算法

使用EM算法,步骤如下:

 

 

关于EM算法

比如说食堂的大师傅炒了一份菜,要等分成两份给两个人吃,显然没有必要拿来天平一点一点的精确的去称分量,最简单的办法是先随意的把菜分到两个碗中,然后观察是否一样多,把比较多的那一份取出一点放到另一个碗中,这个过程一直迭代地执行下去,直到大家看不出两个碗所容纳的菜有什么分量上的不同为止。EM算法就是这样,假设我们估计知道AB两个参数,在开始状态下二者都是未知的,并且知道了A的信息就可以得到B的信息,反过来知道了B也就得到了A。可以考虑首先赋予A某种初值,以此得到B的估计值,然后从B的当前值出发,重新估计A的取值,这个过程一直持续到收敛为止。

 

 

 

 

 

 

 

 

EM算法的缺点是对初始参数的选择比较敏感等。

E 基于图论的聚类

  CLICK

F 结合搜索技术的聚类方法

缺点:参数选择是问题

G 模糊聚类

模糊聚类中,一个对象可以以某种程度属于所有的分类。FCM中是使下式的值最小:

FCM的运算步骤如下,是使用欧几里得距离:

缺点:对噪声敏感,难以确定初始分类

改善方法:

 

H 基于神经网络的聚类

 

I 基于核方法的聚类

核方法是利用核函数将在观察空间线性不可分的样本非线性映射到高维的特征空间而变得线性可分,这样样本特征经很好地分辨、提取并放大后,可以实现更为准确的聚类。并且基于核的聚类算法在类分布不为超球体或超椭圆体时依然有效。

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我知道了,下面是我的回答: 聚类算法是一种无监督学习算法,它可以将数据集中的数据按照某种规则进行分组,使得同一组内的数据相似度较高,不同组之间的数据相似度较低。聚类算法可以帮助我们对数据进行分类、分析和理解,同时也可以为其他机器学习任务提供数据预处理和特征提取的支持。 聚类算法的基本流程包括:确定聚类算法的目标函数、选择相似度度量方法、选择聚类算法、确定聚类的数量、进行聚类操作以及评估聚类效果。常见的聚类算法包括K-Means算法、层次聚类算法、密度聚类算法等。 K-Means算法是一种基于距离的聚类算法,它的基本思想是将数据集中的数据划分为K个簇,使得同一簇内的数据相似度较高,不同簇之间的数据相似度较低。K-Means算法的优点是计算复杂度较低,容易实现,但是需要预先指定簇的数量和初始聚类中心。 层次聚类算法是一种基于相似度的聚类算法,它的基本思想是不断合并数据集中相似度最高的数据,直到所有数据都被合并为一个簇或达到预先设定的簇的数量。层次聚类算法的优点是不需要预先指定簇的数量和初始聚类中心,但是计算复杂度较高。 密度聚类算法是一种基于密度的聚类算法,它的基本思想是将数据集中的数据划分为若干个密度相连的簇,不同簇之间的密度差距较大。密度聚类算法的优点是可以发现任意形状的簇,但是对于不同密度的簇分割效果不佳。 以上是聚类算法的基础知识,希望能对您有所帮助。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值