K均值聚类分析.docx

上传人:b****1 文档编号:13413770 上传时间:2023-06-14 格式:DOCX 页数:8 大小:99.94KB
下载 相关 举报
K均值聚类分析.docx_第1页
第1页 / 共8页
K均值聚类分析.docx_第2页
第2页 / 共8页
K均值聚类分析.docx_第3页
第3页 / 共8页
K均值聚类分析.docx_第4页
第4页 / 共8页
K均值聚类分析.docx_第5页
第5页 / 共8页
K均值聚类分析.docx_第6页
第6页 / 共8页
K均值聚类分析.docx_第7页
第7页 / 共8页
K均值聚类分析.docx_第8页
第8页 / 共8页
亲,该文档总共8页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

K均值聚类分析.docx

《K均值聚类分析.docx》由会员分享,可在线阅读,更多相关《K均值聚类分析.docx(8页珍藏版)》请在冰点文库上搜索。

K均值聚类分析.docx

K均值聚类分析

K-均值聚类分析

1案例题目:

选取一组点(三维或二维),在空间内绘制出来,之后根据K均值聚类,把这组点分为n类。

此例中选取的三维空间内的点由均值分别为(0,0,0),(4,4,4),(-4,4,-4),协方差分别为

的150个由mvnrnd函数随机生成。

2原理运用与解析:

2.1聚类分析的基本思想

聚类分析是根据“物以类聚”的道理,对样本或指标进行分类的一种多元统计分析方法,它们讨论的对象是大量的样本,要求能合理地按各自的特性进行合理的分类。

对于所选定的属性或特征,每组内的模式都是相似的,而与其他组的模式差别大。

一类主要方法是根据各个待分类模式的属性或特征相似程度进行分类,相似的归为一类,由此将待分类的模式集分成若干个互不重叠的子集,另一类主要方法是定义适当的准则函数运用有关的数学工具进行分类。

由于在分类中不需要用训练样本进行学习和训练,故此类方法称为无监督分类。

聚类的目的是使得不同类别的个体之间的差别尽可能的大,而同类别的个体之间的差别尽可能的小。

聚类又被称为非监督分类,因为和分类学习相比,分类学习的对象或例子有类别标记,而要聚类的例子没有标记,需要由聚类分析算法来自动确定,即把所有样本作为未知样本进行聚类。

因此,分类问题和聚类问题根本不同点为:

在分类问题中,知道训练样本例的分类属性值,而在聚类问题中,需要在训练样例中找到这个分类属性值。

聚类分析的基本思想是认为研究的样本或变量之间存在着程度不同的相似性(亲疏关系)。

研究样本或变量的亲疏程度的数量指标有两种:

一种叫相似系数,性质越接近的样本或变量,它们的相似系数越接近1或-1,而彼此无关的变量或样本它们的相似系数越接近0,相似的为一类,不相似的为不同类。

另一种叫距离,它是将每一个样本看做p维空间的一个点,并用某种度量测量点与点之间的距离,距离较近的归为一类,距离较远的点应属于不同的类。

2.2动态聚类法思想

动态聚类方法、亦称逐步聚类法.一类聚类法.属于大样本聚类法。

具体作法是:

先粗略地进行预分类,然后再逐步调整,直到把类分得比较合理为止。

这种分类方法较之系统聚类法,具有计算量较小、占用计算机存贮单元少、方法简单等优点,所以更适用于大样本的聚类分析,是一种普遍被采用的方法。

这种方法具有以下三个要素:

(1)选定某种距离度量作为样本间的相似性度量;

(2)确定某种可以评价聚类结果质量的准则函数;

(3)给定某个初始分类,然后用迭代算法找出使得准则函数取极值的最好聚类结果。

动态聚类法在计算迭代过程中,类心会随着迭代次数进行修正和改变。

动态聚类法的基本步骤:

(1)选取初始聚类中心及有关参数,进行初始聚类。

(2)计算模式和聚类的距离,调整模式的类别。

(3)计算各聚类的参数,删除,合并或分裂一些聚类。

(4)从初始聚类开始,运用迭代算法动态地改变模式的类别和聚类的中心,使准则函数取极值或设定的参数达到设计要求时停止。

2.3K-均值聚类算法的思想

K-均值算法是一种基于划分的聚类算法,它通过不断的迭代过程来进行聚类,当算

状态是一个非凸函数,非凸函数往往存在很多个局部极小值,只有一个是全局最小。

所以通过迭代计算,目标函数常常达到局部最小而难以得到全局最小。

聚类个数k的选定是很难估计的,很多时候我们事先并不知道给定的数据集应该分成多少类才合适。

关于K-均值聚类算法中聚类数据k值得确定,有些根据方差分析理论,应用混合F统计量来确定最佳分类树,并应用了模糊划分熵来验证最佳分类的准确性。

将类的质心(均值点)作为聚类中心进行新一轮聚类计算,将导致远离数据密集区的孤立点和噪声点会导致聚类中心偏离真正的数据密集区,所以K-均值算法对噪声点和孤立点非常敏感。

图1为未聚类前初始样本及中心,图2为聚类后的样本及中心。

图1未聚类前初始样本及中心

图1聚类后的样本及中心

 

4.程序:

clear;

clc;

TH=0.001;

N=20;

n=0;

th=1;

%第一类数据

mu1=[000];%均值

S1=[300;030;003];%协方差矩阵

X1=mvnrnd(mu1,S1,50);%产生多维正态随机数,mul为期望向量,s1为协方差矩阵,50为规模

%第一类数据

mu2=[444];%均值

S2=[000;030;003];%协方差矩阵

X2=mvnrnd(mu2,S2,50);

%第一类数据

mu3=[-44-4];%均值

S3=[300;030;003];%协方差矩阵

X3=mvnrnd(mu3,S3,50);

X=[X1;X2;X3];%三类数据合成一个不带标号的数据类

plot3(X(:

1),X(:

2),X(:

3),'+');%显示

holdon

gridon

title('初始聚类中心');

k=4;

[count,d]=size(X);

centers=X(round(rand(k,1)*count),:

);

id=zeros(count,1);

%会出聚类中心

plot3(centers(:

1),centers(:

2),centers(:

3),'kx',...

'MarkerSize',10,'LineWidth',2)

plot3(centers(:

1),centers(:

2),centers(:

3),'ko',...

'MarkerSize',10,'LineWidth',2)

dist=zeros(k,1);

newcenters=zeros(k,d);

while(nTH)

%whilen

forix=1:

count

forik=1:

k

dist(ik)=sum((X(ix,:

)-centers(ik,:

)).^2);

end

[~,tmp]=sort(dist);%离哪个类最近则属于那个类

id(ix)=tmp

(1);

end

th=0;

forik=1:

k

idtmp=find(id==ik);

iflength(idtmp)==0

return;

end

newcenters(ik,:

)=sum(X(idtmp,:

),1)./length(idtmp);

th=th+sum((newcenters(ik,:

)-centers(ik,:

)).^2);

end

centers=newcenters;

n=n+1;

end

figure

(2)

plot3(X(find(id==1),1),X(find(id==1),2),X(find(id==1),3),'r*'),holdon

plot3(X(find(id==2),1),X(find(id==2),2),X(find(id==2),3),'g*'),holdon

plot3(X(find(id==3),1),X(find(id==3),2),X(find(id==3),3),'b*'),holdon

plot3(X(find(id==4),1),X(find(id==4),2),X(find(id==4),3),'k*'),holdon

title('最终聚类中心');

plot3(centers(:

1),centers(:

2),centers(:

3),'kx',...

'MarkerSize',10,'LineWidth',2)

plot3(centers(:

1),centers(:

2),centers(:

3),'ko',...

'MarkerSize',10,'LineWidth',2)

gridon

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 党团工作 > 思想汇报心得体会

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2