




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录1引言:22 理论准备:22.1 模糊集合理论22.2模糊C均值聚类(FCM)32.3 加权模糊C均值聚类(WFCM)33 聚类分析实例43.1数据准备43.1.1数据表示43.1.2数据预处理43.1.3 确定聚类个数53.2 借助clementine软件进行K-means聚类63.2.1 样本在各类中集中程度73.2.2 原始数据的分类结果73.2.3结果分析83.3模糊C均值聚类83.3.1 数据集的模糊C划分83.3.2 模糊C均值聚类的目标函数求解方法93.3.3 MATLAB软件辅助求解参数设置93.3.4符号表示103.3.5代码实现过程103.3.6 FCM聚类分析1034
2、 WFCM算法133.4.1 WFCM聚类结果展示133.4.2样本归类143.4.3归类代码实现154结论165 参考文献176 附录17模糊聚类与非模糊聚类比较分析摘要:聚类分析是根据样本间的相似度实现对样本的划分,属于无监督分类。传统的聚类分析是研究“非此即彼”的分类问题,分类结果样本属于哪一类很明确,而很多实际的分类问题常伴有模糊性,即它不仅仅是属于一个特定的类,而是“既此又彼”。因此为了探究模糊聚类与非模糊聚类之间聚类结果的差别,本文首先采用系统聚类方法对上市公司132支股票数据进行聚类,确定比较合理的聚类数目为11类,然后分别采用K-means聚类与模糊聚类方法对股票数据进行聚类分
3、析,最终得出模糊聚类在本案例中比K-means聚类更符合实际。 关键字:模糊集合,K-means聚类,FCM聚类,WFCM聚类1引言:聚类分析是多元统计分析的方法之一,属于无监督分类,是根据样本集的内在结构,按照样本之间相似度进行划分,使得同类样本之间相似性尽可能大,不同类样本之间差异性尽可能大。传统的聚类分析属于硬化分,研究对象的性质是非此即彼的,然而,现实生活中大多数事物具有亦此亦彼的性质。因此传统的聚类分析方法往往不能很好的解决具有模糊性的聚类问题。为此,模糊集合理论开始被应用到分类领域,并取得不错成果。本文的研究目的是通过对比传统聚类和模糊聚类的聚类结果,找出二者之间的不同之处,并说明
4、两种聚类分析方法在实例中应用的优缺点。2 理论准备:2.1 模糊集合理论模糊集合定义:设 为论域,则称由如下实值函数A : ® 0,1 , u ® A ( u )所确定的集合 A 为 上的模糊集合,而称A 为模糊集合A 的隶属函数,A ( u )称为元素 u 对于A 的隶属度。若mA(u) =,则认为u完全属于A ; 若mA(u) =,则认为u完全不属于A,模糊集合是经典集合的推广。2.2模糊C均值聚类(FCM)预先给定类别数c,把含有n个样本的数据集分成c个模糊类,用每个类的类别中心 Vj 代表该类,通过反复迭代运算,逐步降低目标函数的误差值,当目标函数收敛时,聚类完成。
5、目标函数: 约束条件: ij0,1,i,j2.3 加权模糊C均值聚类(WFCM)算法过程与FCM类似,只是目标函数不同,WFCM算法考虑了各样本点对分类的重要性,在FCM算法中加入了权值pi,pi称为样本点的密度,本文中pi采用径向基函数方法来确定,当样本点x远离类中心xc时函数取值很小,此时该样本点对分类的重要性比较小。最常用的径向基函数是高斯核函数 ,形式为 目标函数: 约束条件:ij0,1, i,j, 3 聚类分析实例3.1数据准备3.1.1数据表示本文采用数据是上市公司2000-2003年共4年132支股票31个变量的数据进行聚类分析,表1是各变量所代表的含义。表1 数据表示X1每股收
6、益X2每股净资产······X30净利润X31未分配利润3.1.2数据预处理为了排除各因素变量的单位不同以及数量级间的悬殊差别带来的影响,尽可能的反映实际情况,需要对数据进行无量纲化处理。常用的处理方法有:标准化处理方法和极值处理方法。以下均采用“标准化”处理法。即取 (i=1,2,···,528;j=1,2,···,31)其中xij*为标准观测值,其平均值和均方差分别为0和1。式中xj(j=1,2···31)为第j项指标原始观测值的平均值,sj
7、(j=1,2,···,31)为第j项指标原始观测值的均方差。3.1.3 确定聚类个数如前文所述,聚类分析是无监督分类,分类之前并不知道聚多少类是合适的,所以为了保证分类的合理性,首先借助SPSS软件对数据进行系统聚类以确定合理的分类数。谱系聚类图结果显示如下,我们初步选择在距离为5处截取,确定合理聚类数为11类。图1 系统聚类谱系图3.2 借助clementine软件进行K-means聚类为了实现传统聚类与模糊聚类结果的对比,这里首先对数据做了传统的K均值聚类,具体的操作流程如下图2所示图2 clementine实现K-means过程3.2.1 样本在各类中集中程
8、度对模型结果进行查看,得到各类中所包含的样本个数如下图3所示,发现样本主要集中在第5,7,8,9,10类。图3 样本在各类中集中程度3.2.2 原始数据的分类结果图4的最后两列分别是样本所属类别和样本与该类别的类中心之间的距离,如对于第1个样本,属于第1类,与类中心的距离是0.394 。图4 K-means聚类结果3.2.3结果分析分析总结上述K-means聚类结果:对这528个记录的聚类结果中,在第1,3,5,11类中,样本的个数都比较少,其中第11类仅有一个样本,而第7,8,9类中样本数分别高达93,181,97个,这些类中样本过于集中,说明得到的结果不是很理想,因此尝试模糊状态下对数据进
9、行聚类分析。3.3模糊C均值聚类3.3.1 数据集的模糊C划分设待分数据集X=x1,x2,x528表示对上市公司股票的528次观测数据,xk=xk1,xk2,xk31是第k个样本的31个指标向量的取值集合。对数据集进行模糊聚类首先要产生X的模糊c划分,由于聚类属于无监督分析,需要事先设定好聚类个数,这里为了和传统聚类分析结果做出比较,把数据模糊化为11个模糊子集X1,X2,X11,且满足:X1X2X11=X; XiXj=,1ij11;Xi,XiX,1i11。ik=Xixk表示样本xk属于模糊子集Xi的程度,其中ik0,1,因此模糊划分可以用隶属度矩阵U=ik表示。3.3.2 模糊C均值聚类的目
10、标函数求解方法针对上述2.2部分中模糊C均值聚类算法的目标函数和约束条件,本文采用拉格朗日乘数法求解该数学规划问题,分别求得隶属度 和类中心 表达式如下: 3.3.3 MATLAB软件辅助求解参数设置调用MATLAB软件中自带的fcm函数对上述数学规划问题进行求解,其中fcm函数中一些参数设置如表2所示。表2 参数设置参数设置最大迭代次数100终止误差1.00E-05模糊度参数2聚类个数113.3.4符号表示表3 符号表示符号表示Center类中心U隶属度矩阵obj_fcn目标函数值Data样本数据3.3.5代码实现过程导入数据:Data1=xlsread(data)调用函数: center,
11、U,obj_fcn = fcm(data1,11)3.3.6 FCM聚类分析Matlab结果输出如图8,9,10,11所示,分别得到各样本的初始化隶属度矩阵,样本各类的类中心,最终的样本隶属度,目标函数的更新过程。样本模糊化图8 初始化隶属度矩阵截图类中心(center)图9 类中心隶属度矩阵(U)图10 隶属度矩阵目标函数(obj_fcn)图11目标函数值图8,9,10分别是模糊C均值聚类最终形成的类中心,隶属度矩阵,目标函数。由图8可以看出各类的类中心相差不大,同时由图9可以看出隶属度矩阵几乎没有差别,从图9中可以看出对目标函数,在3次迭代之后基本趋于平稳状态,目标函数值为1487.6,综
12、合上述分析认为该聚类方法效果不好。在尝试解决这个问题的过程中,尝试修改fcm函数的模糊度参数,迭代次数,误差项仍没有取得较好结果,随后为了避免单只股票4年的数据相似度太大而导致聚类效果差,分别抽取2000年到2003年各年的132只股票逐年进行分析,仍旧没有得出好的聚类结果,所以文中没有进行展示。考虑到各样本点对聚类的结果产生的影响不同,下文尝试改进的加权模糊C均值聚类方法。34 WFCM算法由于MATLAB中没有自带WFCM函数,需要自己进行编程,数据的模糊化过程与模糊C均值聚类中相同,这里不再赘述。下面是WFCM运行的结果,具体代码实现过程见附录A。3.4.1 WFCM聚类结果展示样本模糊
13、化图12 样本初始化隶属度矩阵对比FCM 聚类最终结果,可以得出在对目标函数进行加权之后,隶属度矩阵和类中心都发生了明显的改善,说明考虑了不同样本对聚类结果的影响之后聚类结果更好。隶属度矩阵图13 WFCM隶属度矩阵类中心图14 WFCM类中心3.4.2样本归类计算出U , V ,obj_fcn之后,对样本进行明确的归类,这一过程可以通过下面两个判定准则来确定: 判定准则 1如果 dik=minjdjk (1 j c), 则将样本Xk归属于第 i 类。这个判定准则的意义是样本与哪一个聚类中心最接近,就将它归到哪一类。 判定准则 2如果 uik=maxjujk (1 j c), 这个判定准则的意
14、义是样本对哪一个类的隶属度最大,就将它归到哪一类。 3.4.3归类代码实现下面我们以判定准则2来划分样本的类别,代码过程如下:图15 分类代码3.4.4 样本归类结果及分析运行图11中代码,得到结果如图16所示:图16 样本归类结果由图16可以看出,最终样本归为10类,除了第2和9类中样本比较多,其他各类中样本分布比较均匀,聚类结果可以接受。4结论非模糊聚类直接根据样本之间相似性进行归类,而模糊聚类是根据样本的隶属度矩阵和相似性矩阵进行归类,其中样本Xk隶属于i类的程度即隶属度,可在 0 到 1 之间取值,而不是如传统聚类算法中,样本 Xk隶属于类的隶属度只有两种取值1 或 0, 即属于与不属
15、于。这样,样本Xk不再明确地属于某一类,而是对于每一个类别都有一个隶属度,隶属度的数值越大说明样本隶属于该类的程度越大,反之则越小。模糊聚类的这种模糊划分描述了样本聚类过程中的模糊现象,从而可以获得更为合理的聚类结果。对比K-means聚类结果图3和WFCM聚类结果图13,图16,发现非模糊聚类结果中样本集中在第6,7,8,9类中,而在加入了模糊隶属度之后,模糊聚类结果有了各个样本属于11个类的程度,按隶属度最大原则对样本进行归类之后发现除了第5类之外,样本在各类中的分布相对更加均匀,说明聚类目的基本达到.具体到本文所采用的股票数据的聚类结果,可以看出模糊聚类比传统的聚类结果更为合理,因此模糊
16、聚类的优势得到充分体现。5 参考文献1 Zadeh L A.Fuzzy Sets.Information and Control.1965,8:338-353.2 Chan K P , Cheung Y S. Clustering of clustersJ . Pattern Recognition ,1992 ,25(2) :211 2173 杨纶标,高英仪 学原理及应用 华南理工大学出版社 2005.6 52-774 姚晓红.模糊聚类分析方法在甘肃农业经济类型划分中的应用D.兰州交通大学,2013.5 廖芹,郝志峰 数据挖掘与数学建模 国防工业出版社 20096 高新波 模糊聚类分析及其应
17、用 西安电子科技大学也出版社 20047 叶海军.模糊聚类分析技术及其应用研究D.合肥工业大学,20068 张秀梅,王涛 模糊聚类分析方法在学生成绩评价中的应用J渤海大学学报:自然科学版,2007,28(2) 169-172.9 汤效琴,戴汝源 数据挖掘中聚类分析的技术方法 宁夏大学学报 2006.76 附录附录A WFCM代码function center, U, obj_fcn = KFCMClust(data, cluster_n, kernel_b,options) error(nargchk(2,4,nargin); %检查输入参数个数 data_n = size(data, 1);
18、 % 求出data的第一维(rows)数,即样本个数 in_n = size(data, 2); % 求出data的第二维(columns)数,即特征值长度,目前没有用 % 默认操作参数 default_b = 150; % 高斯核函数参数 default_options = 2; % 隶属度矩阵U的指数 100; % 最大迭代次数 1e-5; % 隶属度最小变化量,迭代终止条件 1; % 每次迭代是否输出信息标志 if nargin = 2, kernel_b = default_b; options = default_options; elseif nargin = 3, options
19、 = default_options; else if length(options) < 4, tmp = default_options; tmp(1:length(options) = options; options = tmp; end nan_index = find(isnan(options)=1); %将denfault_options中对应位置的参数赋值给options中不是数的位置. options(nan_index) = default_options(nan_index); if options(1) <= 1, %如果options中的指数m不超过1报
20、错 error('The exponent should be greater than 1!'); end end %将options 中的分量分别赋值给四个变量; expo = options(1); % 隶属度矩阵U的指数 max_iter = options(2); % 最大迭代次数 min_impro = options(3); % 隶属度最小变化量,迭代终止条件 display = options(4); % 每次迭代是否输出信息标志 obj_fcn = zeros(max_iter, 1); % 初始化输出参数obj_fcn U = initkfcm(cluste
21、r_n, data_n) % 初始化模糊分配矩阵% 初始化聚类中心:从样本数据点中任意选取cluster_n个样本作为聚类中心。 index = randperm(data_n); % 对样本序数随机排列 center_old = data(index(1:cluster_n),:); % 选取随机排列的序数的前cluster_n个 for i = 1:max_iter, %在第k步循环中改变聚类中心ceneter,和分配函数U的隶属度值; U, center, obj_fcn(i) = stepkfcm(data,U,center_old, expo, kernel_b); if displ
22、ay, fprintf('KFCM:Iteration count = %d, obj. fcn = %fn', i, obj_fcn(i); end center_old = center; % 用新的聚类中心代替老的聚类中心 % 终止条件判别 if i > 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 = initkfcm(cluste
23、r_n, data_n) % 初始化fcm的隶属度函数矩阵 U = rand(cluster_n, data_n); col_sum = sum(U); U = U./col_sum(ones(cluster_n, 1), :); % 子函数 function U_new,center_new,obj_fcn = stepkfcm(data,U,center,expo,kernel_b) % 模糊C均值聚类时迭代的一步 % 输入: feature_n = size(data,2); % 特征维数 cluster_n = size(center,1); % 聚类个数 mf = U.expo; % 隶属度矩阵进行指数运算(c行n列) % 计算新的聚类中心; KernelMat = gaussKernel(center,data,kernel_b); % 计算高斯核矩阵(c行n列) num = mf.*KernelMat * data; % 式(5.15)的分子(c行p列,p为特征维数) den = sum(mf.*KernelMat,2); % 式子(5.15)的分子,(c行,1列,尚未扩展) center_new = num./(den*
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 黑龙江省哈尔滨九中2025届高三第四次联模历史试题试卷含解析
- 黑龙江省哈尔滨第三中学2024-2025学年高三考前热身适应性考试(一)语文试题含解析
- 黑龙江省牡丹江市高中名校2024-2025学年高三教学调研(二)生物试题试卷含解析
- 黔东南民族职业技术学院《安全法学》2023-2024学年第二学期期末试卷
- 齐齐哈尔理工职业学院《幼儿园美术教育与活动指导》2023-2024学年第二学期期末试卷
- 2025年一月份度殡葬礼仪文物级器具保养合同
- 2024年电子商务教师资格证考试大纲试题及答案
- 市场营销师考试经典试题及答案分享
- 2024年注册会计师考试资料下载及试题及答案
- 数据挖掘技术在精算中的应用试题及答案
- AED急救知识课件
- 2023版《思想道德与法治》(绪论-第一章)绪论 担当复兴大任 成就时代新人;第一章 领悟人生真谛 把握人生方向 第3讲 创造有意义的人生
- 2023年水处理BOT合同模板范本
- mil-std-1916抽样标准(中文版)
- 监控施工方案范文六篇
- 支气管镜麻醉
- 2023-2024苏教版七年级数学上册期末试卷
- 少数民族民歌 课件-2023-2024学年高中音乐人音版(2019)必修 音乐鉴赏
- 云南白药成本控制分析报告
- 测绘生产成本费用定额2022
- 抵制非法宗教主题班会教案
评论
0/150
提交评论