模糊kmeans聚类

首先介绍一个,FuzzyKMeans算法的主要思想:
模糊均值聚类(FCM),即众所周知的模糊ISODATA,是用隶属度确定每个数据点属于某个聚类的程度的一种聚类算法。1973年,Bezdek提出了该算法,作为早期硬均值聚类(HCM)方法的一种改进。FCM把 n 个向量 xi(i=1,2,…,n)分为 c 个模糊组,并求每组的聚类中心,使得非相似性指标的价值函数达到最小。FCM 使得每个给定数据点用值在 0,1 间的隶属度来确定其属于各个组的程度。与引入模糊划分相适应,隶属矩阵 U 允许有取值在 0,1 间的元素。不过,加上归一化规定,一个数据集的隶属度的和总等于 1:
这里写图片描述
那么,FCM的价值函数(或目标函数)就是下式一般化形式:
这里写图片描述
这里 uij 介于 0,1 间;ci 为模糊组 i 的聚类中心,dij=||ci-xj||为第 i 个聚类中心与第 j 个数据点间的欧几里德距离;且 m (属于1到无穷) 是一个加权指数。
构造如下新的目标函数,可求得使下式达到最小值的必要条件:其实就是拉格朗日乘子法:
这里写图片描述
对上式所有输入参量求导,使上式达到最小的必要条件为:
这里写图片描述

这里写图片描述
由上述两个必要条件,模糊 C 均值聚类算法是一个简单的迭代过程。在批处理方式运行时,
FCM 用下列步骤确定聚类中心 ci 和隶属矩阵 U[1]:
步骤 1:用值在 0,1 间的随机数初始化隶属矩阵 U
步骤 2:用式(3)计算 c 个聚类中心 ci,i=1,…,c。
步骤 3:根据式(1)计算价值函数。如果它小于某个确定的阀值,或它相对上次价
值函数值的改变量小于某个阀值,则算法停止。
步骤 4:用(4)计算新的 U 矩阵和。返回步骤 2。
上述算法也可以先初始化聚类中心,然后再执行迭代过程。由于不能确保 FCM 收敛于一个最优解。算法的性能依赖于初始聚类中心。因此,我们要么用另外的快速算法确定初始
聚类中心,要么每次用不同的初始聚类中心启动该算法,多次运行 FCM。

notes: 上面讨论不难看出二个参数比较重要:1.聚类的数目,2.控制算法的柔软参数m,如果m过大,则聚类的效果很差,如果m过小,则算法接近Kmeans算法。

这里有该算法的mahout实现,本篇文章也是摘抄于此:
http://www.cnblogs.com/liqizhou/archive/2012/05/10/2473174.html

### 回答1: 模糊聚类kmeans聚类是两种常见的聚类算法,它们都可以用于将数据集划分成不同的群组,但是它们的实现方式和结果略有不同。 模糊聚类是一种基于模糊集合理论的聚类算法,它将每个数据点分配到所有的群组中,而不是像kmeans那样只分配到一个最近的群组。每个数据点与每个群组之间都有一个隶属度(membership degree)的值,表示这个数据点属于该群组的程度。模糊聚类的结果是一组模糊的群组,每个群组都由所有数据点的隶属度值组成。 与之相比,kmeans聚类是一种硬聚类算法,它将每个数据点分配到一个最近的群组中,每个群组都由其群心(centroid)表示。kmeans聚类的结果是一组硬的群组,每个群组都由其群心和所包含的数据点组成。 总的来说,模糊聚类kmeans聚类都有其优缺点,具体选择哪种算法取决于具体应用场景和数据特点。如果数据比较复杂或存在噪声,模糊聚类可能会更适合。如果数据比较简单、分布比较清晰,或者需要确定的群组数比较少,kmeans聚类可能更好。 ### 回答2: 模糊聚类和k-means聚类是两种常见的聚类算法,在目标和结果上有一些不同之处。K-means聚类是一种硬聚类方法,每个数据点被分配到一个确定的簇,而模糊聚类是一种软聚类方法,每个数据点可以被分配到多个簇,具有不同的隶属度。 在K-means聚类算法中,首先需要确定聚类数量k,然后随机选择k个中心点。然后计算每个数据点与中心点之间的距离,并将其分配给最近的中心点。然后根据分配结果更新中心点,并迭代进行,直到达到收敛条件。 相比之下,模糊聚类算法中的隶属度度量了每个数据点与每个簇之间的关系强度。数据点可以属于一个或多个簇,并具有在0到1之间的隶属度值。模糊聚类的目标是最小化数据点与所属簇中心的欧几里得距离和隶属度之间的距离。 模糊聚类和k-means聚类之间的另一个区别是对异常值的鲁棒性。模糊聚类对异常值具有一定的鲁棒性,因为数据点可以具有低隶属度值。然而,k-means对异常值非常敏感,可能会将其分配给错误的簇。 最后,模糊聚类的计算复杂度较高,因为需要计算数据点与每个簇中心的距离。而k-means聚类的计算复杂度较低,因为只需要计算数据点与所属簇中心的距离。 综上所述,模糊聚类和k-means聚类在目标、结果、鲁棒性和计算复杂度等方面存在一些不同。研究者和应用者可以根据具体任务和数据特点选择合适的聚类算法。 ### 回答3: 模糊聚类和k-means聚类是两种常用的聚类算法。它们在聚类过程和结果上存在一些不同之处。 首先,模糊聚类是一种软聚类方法,它允许样本在不同类别中具有不同的隶属度。每个样本对于不同类别的隶属度可以是一个概率值,表示其属于不同类别的程度。而k-means聚类是一种硬聚类方法,它将每个样本分配到一个确定的聚类中心,不允许具有多个类别隶属度。 其次,模糊聚类可以处理具有模糊性的数据,例如,当样本在不同特征上具有不同程度的相似性或差异性时。这使得模糊聚类更适合于具有重叠类别或不确定性的数据。而k-means聚类则假定样本在特征空间中是明确可分的,对于不具有清晰分界的样本,k-means聚类可能不太适用。 另外,模糊聚类聚类过程中考虑了局部和全局最小化损失函数,以确定最佳聚类中心。而k-means聚类则通过迭代计算每个样本与聚类中心之间的距离,并将样本分配到距离最近的聚类中心。 最后,模糊聚类的结果是每个样本属于每个类别的隶属度,可以呈现在一个隶属度矩阵中。而k-means聚类的结果是硬分类结果,即每个样本被分配到一个确定的类别。 综上所述,模糊聚类和k-means聚类聚类过程和结果上存在明显的差异。模糊聚类对于模糊性数据和重叠类别更有效,而k-means聚类则适用于清晰分界的数据。选择合适的聚类算法需要根据数据特点和需求来决定。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值