聚类(2)-- Fuzzy k-means clustering
来源:互联网 发布:矩阵计算 中文 pdf 编辑:程序博客网 时间:2024/04/30 00:27
在传统的k-means聚类算法的每步迭代中,每个数据点被硬划分到一个cluster。Fuzzy k-means试图松弛上述条件,即认为每个数据点与cluster center之间的membership不是取自{0,1},而是[0,1],而上述membership就是当前数据点属于一个cluster center所代表的cluster的概率。
Fuzzy k-means聚类算法试图最小化如下cost function:
Jfuz = sum(sum(P(wi|xj,theta)^b*||xj-mi||^2)),其中第一个sum对所有cluster求和,第二个sum对所有数据点求和,theta是上述membership函数对应的参数向量,P(wi|xj,theta)是当前数据点xj属于由第i个cluster的概率,b是自由参数,当b = 0时,上述目标函数变成硬划分,即一个数据点被指定给一个cluster。当 b>1 时,上述目标函数将允许数据点在一定概率下从属于所有cluster。
当P(wi|xj,theta)满足:
P(wi|xj,theta) = 1, 当xj距离第i个cluster center mi最近;
P(wi|xj,theta) = 0,其他
则上述目标函数即为k-means的目标函数,即k-means是Fuzzy k-means的一种特殊情况。
Fuzzy k-means的迭代过程如下:
1、给定cluster number 为K,以及初始中心m1,m2,...,mK,以及自由参数b(一般取b>=1)
2、计算每个数据点从属于每个cluster的概率,例如令a(j,i) = exp(-(xj-mi)),其中xj为第j个数据点(j=1,2,...,N),
定义p(j,i) = a(j,i)/sum(a(j,i))(其中sum对j求和)
3、重新计算中心mi = (sum(p(j,i)^b*xj))/(sum(p(j,i)^b))(其中sum对j求和)
4、循环2,3,直至中心m1,m2,...,mK不再变化,或者变化小于给定的阈值。
- 聚类(2)-- Fuzzy k-means clustering
- 聚类(2)-- Fuzzy k-means clustering
- 模糊C-Means聚类 Fuzzy C-Means Clustering
- 聚类(1)-- k-means clustering
- 聚类(1)-- k-means clustering
- K-Means聚类 K-Means Clustering
- fuzzy k means
- (六)K-means Clustering and Principal Component Analysis[K-means聚类&主元分析]
- 8.1 聚类(Clustering) K-means算法
- 8.2 聚类(Clustering) K-means算法应用
- Clustering (1): k-means(Python实现)
- Clustering (1): k-means
- K-Means Clustering
- k-means Clustering
- Clustering (1): k-means
- K-Means Clustering算法
- Understanding K-Means Clustering
- K-Means clustering 简介
- java.lang.NoSuchMethodError: javax.persistence.OneToOne.orphanRemoval()Z
- 个性的分页插件-JQPAGINATION
- Scatter matrix, correlation matrix and covariance matrix
- 好看的翻页切换效果插件-BOOKLET
- 聚类(1)-- k-means clustering
- 聚类(2)-- Fuzzy k-means clustering
- c语言中字符串常量定义时的换行问题
- Mac OS X Timeline
- Android项目实战--手机卫士21--运行应用以及美化PopupWindow
- 多屏幕多分辨率的支持和一些概念
- POJ:1789 Truck History
- 用户体验流派细分与冲突
- 互联网推荐系统漫谈
- 第7周项目3扩展--四个数按大小排列