在matlab中做模糊C均值聚类(fcm)算法如何体现初始隶属度?
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/11 09:39:24
在matlab中做模糊C均值聚类(fcm)算法如何体现初始隶属度?
如题
如题
我贴部分FCM的Matlab代码:
expo = options(1); % Exponent for U
max_iter = options(2); % Max.iteration
min_impro = options(3); % Min.improvement
display = options(4); % Display info or not
obj_fcn = zeros(max_iter,1); % Array for objective function
U = initfcm(cluster_n,data_n); % Initial fuzzy partition
% Main loop
for i = 1:max_iter,
[U,center,obj_fcn(i)] = stepfcm(data,U,cluster_n,expo);
if display,
fprintf('Iteration count = %d,obj.fcn = %f\n',i,obj_fcn(i));
end
% check termination condition
if i > 1,
if abs(obj_fcn(i) - obj_fcn(i-1)) < min_impro,break; end,
end
end
其中
U = initfcm(cluster_n,data_n); % Initial fuzzy partition
这个就是初始化划分矩阵,随机产生一个隶属度矩阵,
代码如下:
U = rand(cluster_n,data_n);
col_sum = sum(U);
U = U./col_sum(ones(cluster_n,1),:);
上面就是它初始化的一个隶属度矩阵,
cluster_n行,data_n列.
即一列中从上到下表示每个样本隶属与每一类的隶属度.
然后在算法中不断迭代,
最后得到的还是如此大的一个矩阵,代表每个样本隶属与每一类的隶属度
然后选择最大的那个就是,它就属于那一类.
expo = options(1); % Exponent for U
max_iter = options(2); % Max.iteration
min_impro = options(3); % Min.improvement
display = options(4); % Display info or not
obj_fcn = zeros(max_iter,1); % Array for objective function
U = initfcm(cluster_n,data_n); % Initial fuzzy partition
% Main loop
for i = 1:max_iter,
[U,center,obj_fcn(i)] = stepfcm(data,U,cluster_n,expo);
if display,
fprintf('Iteration count = %d,obj.fcn = %f\n',i,obj_fcn(i));
end
% check termination condition
if i > 1,
if abs(obj_fcn(i) - obj_fcn(i-1)) < min_impro,break; end,
end
end
其中
U = initfcm(cluster_n,data_n); % Initial fuzzy partition
这个就是初始化划分矩阵,随机产生一个隶属度矩阵,
代码如下:
U = rand(cluster_n,data_n);
col_sum = sum(U);
U = U./col_sum(ones(cluster_n,1),:);
上面就是它初始化的一个隶属度矩阵,
cluster_n行,data_n列.
即一列中从上到下表示每个样本隶属与每一类的隶属度.
然后在算法中不断迭代,
最后得到的还是如此大的一个矩阵,代表每个样本隶属与每一类的隶属度
然后选择最大的那个就是,它就属于那一类.
模糊c均值算法matlab程序
如何判断聚类算法图像分割结果的质量,在K-means和FCM 算法下
如何编写求K-均值聚类算法的Matlab程序?
Matlab如何自定义隶属度函数
matlab的题目,利用K均值算法对以下30个点集合实施聚类.
粒子群算法用matlab做,要把粒子初始化为矩阵要怎么做
如何用matlab求c均值算法中的均值、以及误差平方和,kmeans函数里好像没有.
matlab车间调度遗传算法中随机产生初始种群的问题,求教
matlab中如何实现这个算法?
如何在matlab矩阵中根据第一列数字是否相同来算第二列的均值
在你回答的k均值聚类算法原理中有些公式文字丢失,能给我发一份word文档的原理么,q371398347
FFT测量相位具体算法.在matlab中如何使用进行编程