精华内容
下载资源
问答
  • 2021-04-20 01:23:31

    导航:网站首页 >

    模糊c均值算法matlab程序

    时间:2019-12-21

    模糊c均值算法matlab程序

    相关问题:

    匿名网友:

    function [center,U,obj_fcn] = FCMClust(data,cluster_n,options)

    % FCMClust.m 采用模糊C均值对数据集data聚为cluster_n类

    %

    % 用法:

    % 1.[center,U,obj_fcn] = FCMClust(Data,N_cluster,options);

    % 2.[center,U,obj_fcn] = FCMClust(Data,N_cluster);

    %

    % 输入:

    % data ---- nxm矩阵,表示n个样本,每个样本具有m的维特征值

    % N_cluster ---- 标量,表示聚合中心数目,即类别数

    % options ---- 4x1矩阵,其中

    % options(1):隶属度矩阵U的指数,>1 (缺省值:2.0)

    % options(2):最大迭代次数 (缺省值:100)

    % options(3):隶属度最小变化量,迭代终止条件 (缺省值:1e-5)

    % options(4):每次迭代是否输出信息标志 (缺省值:1)

    % 输出:

    % center ---- 聚类中心

    % U ---- 隶属度矩阵

    % obj_fcn ---- 目标函数值

    % Example:

    % data = rand(100,2);

    % [center,U,obj_fcn] = FCMClust(data,2);

    % plot(data(:,1),data(:,2),'o');

    % hold on;

    % maxU = max(U);

    % index1 = find(U(1,:) == maxU);

    % index2 = find(U(2,:) == maxU);

    % line(data(index1,1),data(index1,2),'marker','*','color','g');

    % line(data(index2,1),data(index2,2),'marker','*','color','r');

    % plot([center([1 2],1)],[center([1 2],2)],'*','color','k')

    % hold off;

    if nargin = 2 & nargin = 3,%判断输入参数个数只能是2个或3个

    error('Too many or too few input arguments!');

    end

    data_n = size(data,1); % 求出data的第一维(rows)数,即样本个数

    in_n = size(data,2); % 求出data的第二维(columns)数,即特征值长度

    % 默认操作参数

    default_options = [2; % 隶属度矩阵U的指数

    100; % 最大迭代次数

    1e-5; % 隶属度最小变化量,迭代终止条件

    1]; % 每次迭代是否输出信息标志

    if nargin == 2,

    options = default_options;

    else %分析有options做参数时候的情况

    % 如果输入参数个数是二那么就调用默认的option;

    if length(options) < 4,%如果用户给的opition数少于4个那么其他用默认值;

    tmp = default_options;

    tmp(1:length(options)) = options;

    options = tmp;

    end

    % 返回options中是数的值为0(如NaN),不是数时为1

    nan_index = find(isnan(options)==1);

    %将denfault_options中对应位置的参数赋值给options中不是数的位置.

    options(nan_index) = default_options(nan_index);

    if options(1) 1,

    if abs(obj_fcn(i) - obj_fcn(i-1)) < min_impro,

    break;

    end,

    end

    end

    iter_n = i; % 实际迭代次数

    obj_fcn(iter_n+1:max_iter) = [];

    % 子函数

    function U = initfcm(cluster_n,data_n)

    % 初始化fcm的隶属度函数矩阵

    % 输入:

    % cluster_n ---- 聚类中心个数

    % data_n ---- 样本点数

    % 输出:

    % U ---- 初始化的隶属度矩阵

    U = rand(cluster_n,data_n);

    col_sum = sum(U);

    U = U./col_sum(ones(cluster_n,1),:);

    % 子函数

    function [U_new,center,obj_fcn] = stepfcm(data,U,cluster_n,expo)

    % 模糊C均值聚类时迭代的一步

    % 输入:

    % data ---- nxm矩阵,表示n个样本,每个样本具有m的维特征值

    % U ---- 隶属度矩阵

    % cluster_n ---- 标量,表示聚合中心数目,即类别数

    % expo ---- 隶属度矩阵U的指数

    % 输出:

    % U_new ---- 迭代计算出的新的隶属度矩阵

    % center ---- 迭代计算出的新的聚类中心

    % obj_fcn ---- 目标函数值

    mf = U.^expo; % 隶属度矩阵进行指数运算结果

    center = mf*data./((ones(size(data,2),1)*sum(mf'))'); % 新聚类中心(5.4)式

    dist = distfcm(center,data); % 计算距离矩阵

    obj_fcn = sum(sum((dist.^2).*mf)); % 计算目标函数值 (5.1)式

    tmp = dist.^(-2/(expo-1));

    U_new = tmp./(ones(cluster_n,1)*sum(tmp)); % 计算新的隶属度矩阵 (5.3)式

    % 子函数

    function out = distfcm(center,data)

    % 计算样本点距离聚类中心的距离

    % 输入:

    % center ---- 聚类中心

    % data ---- 样本点

    % 输出:

    % out ---- 距离

    out = zeros(size(center,1),size(data,1));

    for k = 1:size(center,1),% 对每一个聚类中心

    % 每一次循环求得所有样本点到一个聚类中心的距离

    out(k,:) = sqrt(sum(((data-ones(size(data,1),1)*center(k,:)).^2)',1));

    end

    大家还关注:

    问题推荐

    更多相关内容
  • 内涵实验报告、源代码、数据集,直接可运行。
  • K-MEANS(K均值聚类算法,C均值算法) K-MEANS(K均值聚类算法,C均值算法) K-MEANS(K均值聚类算法,C均值算法)
  • 利用matlab实现FCM算法算法最终返回距离类中心,和每个样本对于不同类的隶属度矩阵。同时,使用随机生成的100个二维数据,进行算法程序的检验,给出具体的迭代次数和目标函数值,以及聚类的结果图。
  • 在本研究中,模糊 c 均值聚类算法适用于定向数据。 FCM4DD 基于角度差。 供参考:Kesemen, O., Tezel, Ö., & Özkul, E. (2016)。 用于定向数据的模糊 c 均值聚类算法 (FCM4DD)。 具有应用程序的专家系统,58, 76-...
  • 基于C均值算法的车辆检测与跟踪.rar.rar
  • 算法简介;算法描述 为中心向量c1, c2, , ck初始化k个种子 分组: 将样本分配给距离其最近的中心向量 由这些样本构造不相交 non-overlapping 的聚类 确定中心: 用各个聚类的中心向量作为新的中心 重复分组和确定中心的...
  • 模糊均值聚类算法
  • C均值算法的实现

    2013-05-22 16:41:55
    用matlab实现C均值聚类算法,完整的实验报告
  • k -means 算法也被称为 k - 平均或 k - 均 值是一种得到最广泛使用的聚类算法 它 是将各个聚类子集内的所有数据样本 的均值作为该聚类的代表点算法的主 要思想是通过迭代过程把数据集划分为 不同的类别使得评价聚类...
  • K-MEANS(K均值聚类算法,C均值算法).pptx
  • c均值算法c 实现实验报告.doc
  • 主要用的numpy库实现的,其中数据点的生成可以看我另外一个作业模式识别作业:....聚类设计那个用来生成数据
  • 2020年08月13日 KMEANSK均值聚类算法C均值算法 * 2020年08月13日 KMEANSK均值聚类算法C均值算法 * 资料仅可参考如有不妥请联系本人改正或者删除 * 2020年08月13日 KMEANSK均值聚类算法C均值算法 资料仅可参考如有...
  • c- 均值聚类(IFCM) 的途径和方法, 分析了现有的几种IFCM 算法, 并提出了一种基于直觉模糊集的模糊??c- 均值 聚类算法. 该算法首先定义了直觉模糊集之间的距离; 然后构造了聚类的目标函数; 最后给出了聚类算法...
  • 《模式识别》课本中的一道课后题的代码实现 C均值算法 也叫做 K means
  • 基于IFCM直觉模糊c均值算法的图像目标提取仿真+含代码操作演示视频 运行注意事项:使用matlab2021a或者更高版本测试,运行里面的Runme.m文件,不要直接运行子函数文件。运行时注意matlab左侧的当前文件夹窗口必须是...
  • 大数据-算法-面向网站分析的模糊C均值算法改进研究.pdf
  • IFCM直觉模糊c均值算法的图像分割仿真+含代码操作演示视频 运行注意事项:使用matlab2021a或者更高版本测试,运行里面的Runme.m文件,不要直接运行子函数文件。运行时注意matlab左侧的当前文件夹窗口必须是当前工程...
  • Matlab实现的C均值算法

    2014-01-06 11:13:58
    用Matlab实现的C均值算法,里面附有资源文件
  • 模式识别c均值算法matlab代码 需求:使用双目摄像头得出物体3D坐标,本质就是利用双目来得到深度信息。 0 知识扫盲 1 相机标定 Q1:用MATLAB标定还是opencv标定? A1:两种我都试了。总结来说,直接影响标定结果的好坏...
  • 广义模糊C均值算法是一种比模糊C均值算法收敛速度更快的算法,然而它在分割灰度图像时对噪声敏感。为了改善其鲁棒性,提出基于图像块的像素灰度值加权的广义模糊C均值算法。该算法利用图像块代替单个像素构建目标函数,...
  • 模糊 C 均值算法 的简单python实现_python_代码_下载
  • KMEANSK均值聚类算法C均值算法PPT教案.pptx
  • KMEANSK均值聚类算法C均值算法学习课程.pptx
  • 模糊C均值算法(FCM)分割图像MATLAB程序
  • K-MEANSK均值聚类算法,C均值算法.ppt
  • 基于混沌粒子群算法的模糊C均值算法,崔金平,冀常鹏,模糊C-均值聚类算法存在的两点问题:一是算法的性能依赖于初始聚类中心的选取,同时聚类的效果受初始值的影响较大;二是FCM算法在�
  • 针对核模糊C均值聚(KernelizedFuzzyC-Means,KFCM)算法的有效性评价,以核非线性映射为工具,将原空间中的六个著名有效性指标推广到高维特征空间,得到其对应的核化形式,并通过数值比较实验考察这些核化指标的性能...
  • 聚类分割算法是图像处理中的基本操作,文件中包含了使用模糊C-均值实现聚类分割的算法原理以及MAtlab源程序 聚类分割算法是图像处理中的基本操作,文件中包含了使用模糊C-均值实现聚类分割的算法原理以及MAtlab源...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 66,453
精华内容 26,581
关键字:

c均值算法

友情链接: FFT.rar