模糊聚类算法分析及程序实现

模糊聚类算法分析及程序实现

ID:34616944

大小:184.54 KB

页数:6页

时间:2019-03-08

模糊聚类算法分析及程序实现_第1页
模糊聚类算法分析及程序实现_第2页
模糊聚类算法分析及程序实现_第3页
模糊聚类算法分析及程序实现_第4页
模糊聚类算法分析及程序实现_第5页
资源描述:

《模糊聚类算法分析及程序实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、模糊聚类算法分析及程序实现山东工业职业学院彭丽英董佳佳摘要:本文详细介绍了模糊聚类算法的产生过程以及应用模糊聚类算法进行模糊分析的ASP代码,最后通过一个具体的实例,对模糊聚类算法进行了验证。关键词:普通聚类模糊聚类最大最小法代码由于客观事物之间的界限往往是不清晰的,用模糊数学的聚类分析处理具有模糊性事物的聚类问题是十分合适的。所以,近几年,模糊聚类分析在模式识别、数据挖掘、计算机视觉以及模糊控制等领域的应用越来越广泛,所以它成为研究的热点。但在一般的资料中对聚类算法的介绍都比较粗略,更缺少代码,本文除了对算法进行了详细介绍外,还提供了相关代码。在模糊聚类分析中,首

2、先要计算模糊相似矩阵,即建立样本间的模糊关系,而模糊聚类是在普通聚类的基础上产生的。[1]1、普通聚类设被分类对象的集合为X={x1,x2,⋯,xn},其中每一个元素xi,i=1,2,...n,都有m个特性指标,即x={xi1,xi2,⋯,xim}如果要把X分成C类,则它的每一个分类结果都对应一个c×n阶0-1矩阵R={rij},其⎧1xi∈j中rij=⎨⎩0xi∉j矩阵R具有如下性质:(1)R={0,1},即R是一个布尔矩阵;c(2)∑rij=1,即每一列有且仅有一个元素为1,这一性质保证了每一个样本只能划归i=1到其中的一类中去;n(3)∑rij>0,即每一行的

3、元素之和大于0,这保证了每一类不空,且一类中可以有j=1多个样本。2、模糊聚类在普通聚类的基础上,人们提出了模糊聚类(软聚类)的概念,认为被分类对象集合X中的样本xi,i=1,2,…,n以一定的隶属度隶属于某一类,也就是说,所有的样本都分别以不同的隶属度隶属于某一类。因此,每一类就认为是样本集合X上的一个模糊子集,于是每一种这样的分类结果所对应的分类矩阵,就是一个模糊矩阵R。[1]该分类矩阵满足下列三个条件:(1)xij∈[0,1],即分类矩阵元素在0和1之间取值;c(2)∑rij=1,即每一列中分别属于各类的隶属度之和为1,对一个样本而言,它对各i=1类的隶属度之

4、和为1;n(3)∑rij>0,即每一行的元素之和大于0,这保证了每一类都必须有样本,即总有j=1一些样本不同程度的隶属于各类。3、数据规格化聚类分析输入的是一组未分类记录,并且这些记录应分成几类事先也不知道,通过分析数据库中的记录数据,根据一定的分类规则,合理地划分记录集合,确定每个记录所在类别。它所采用的分类规则是由聚类分析工具决定的。采用不同的聚类方法,对于相同的记录集合可能有不同的划分结果。由于在一般情况下,所分不同类事物之间的界限不是分明的,用传统的分类方法具有一定的局限性,而用模糊聚类方法确定分类样品的亲疏关系,从而得到更为合理的分类。由于特性指标的量纲和

5、数量级都不相同,致使对各特性指标的分类缺乏一个统一尺度,为消除影响,需要对个各指标值实行数据规格化,从而使每一指标值统一于[2]某种共同的数值特性范围。应用相似系数法、距离法、最大最小法标定被分类对象的模糊相似关系矩阵。相似关[3]系矩阵反映了样本与样本之间的相似关系。假设应用最大最小法:m∑(xik∧xjk)k=1rij=m∑(xik∨xjk)k=1为取大运算,如:=0.9;为取小运算,如:=0.8。建立模糊相似矩阵的ASP代码:<%FunctionmMatrix(a,b)dimmultiplyMatrix(),s,s1redimmultiplyMatrix(UB

6、OUND(a),UBOUND(a,2))fori=0toUBOUND(a)forj=0toUBOUND(a,2)s=0s1=0if(i=j)thenmultiplyMatrix(i,j)=1fork=1toUBOUND(a,2)s1=s1+min(a(i,k),a(j,k))s=s+max(a(i,k),a(j,k))nextmultiplyMatrix(i,j)=s1/snextnextmMatrix=multiplyMatrixEndFunctionFunctionmin(a,b)dimtif(a>=b)thent=belset=amin=tEndFunctio

7、nFunctionmax(a,b)dimtif(a>=b)thent=aelset=bmax=tEndFunctionSubDisplayMatrix(multiplyMatrix,title)response.write"Matrix("&title&"):
"fori=0toUBOUND(multiplyMatrix)forj=0toUBOUND(multiplyMatrix,2)response.writemultiplyMatrix(i,j)&""nextresponse.write"
"nextEndSubdima()redima(10,1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。