有哪些常用的文本聚类算法聚类算法

K-means算法
是硬,是典型的基于原型的聚类方法的代表,它是数据点到原型的某种距离作为优化的目标函数,利用函数求极值的方法得到迭代运算的调整规则。K-means算法以作为相似度测度,它是求对应某一初始聚类中心向量V最优分类,使得评价指标J最小。算法采用准则函数作为聚类准则函数。
该算法是典型的基于聚类的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。该算法认为簇是由距离考级的对象组成,因此得到紧凑并且独立的簇作为最终的目标。
算法过程:
(1)从N个文档随机K个文档作为质心
(2)对剩余的每个文档测量其到每个质心的距离,并把它归到最近的质心的类
(3)重新计算已经得到的各个类的质心
(4)迭代2-3步直到新的质心与原质心相等或者小于指定阈值偏差,算法结束
%第一类数据
mu1=[0 0 0];
S1=[0.3 0 0;0 0.35 0;0 0 0.3];
data1=mvnrnd(mu1,S1,100);
%产生高斯分布数据
%%第二类数据
mu2=[1.25 1.25 1.25];
S2=[0.3 0 0;0 0.35 0;0 0 0.3];
data2=mvnrnd(mu2,S2,100);
%第三个类数据
mu3=[-1.25 1.25 -1.25];
S3=[0.3 0 0;0 0.35 0;0 0 0.3];
data3=mvnrnd(mu3,S3,100);
plot3(data1(:,1),data1(:,2),data1(:,3),'+');
plot3(data2(:,1),data2(:,2),data2(:,3),'r+');
plot3(data3(:,1),data3(:,2),data3(:,3),'g+');
%三类数据合成一个不带标号的数据类
data=[data1;data2;data3];
%这里的data是不带标号的
%k-means聚类
[u, re]=KMeans(data,3);
%最后产生带标号的数据,标号在所有数据的最后,意思就是数据再加一维度
[m, n]=size(re);
%最后显示聚类后的数据
if re(i,4)==1
plot3(re(i,1),re(i,2),re(i,3),'ro');
elseif re(i,4)==2
plot3(re(i,1),re(i,2),re(i,3),'go');
plot3(re(i,1),re(i,2),re(i,3),'bo');
plot(u(:,1),u(:,2),'kx','MarkerSize',14,'LineWidth',4)
KMean.m 函数
%N是数据一共分多少类
%data是输入的不带分类标号的数据
%u是每一类的中心
%re是返回的带分类标号的数据
function [u, re]=KMeans(data,N)
[m, n]=size(data);
%m是数据个数,n是数据维数
ma=zeros(n);
%每一维最大的数
mi=zeros(n);
%每一维最小的数
u=zeros(N,n);
%随机初始化,最终迭代到每一类的中心位置
ma(i)=max(data(:,i));
%每一维最大的数
mi(i)=min(data(:,i));
%每一维最小的数
u(j,i)=ma(i)+(mi(i)-ma(i))*rand();
%随机初始化,不过还是在每一维[min max]中初始化好些
%上一次求得的中心位置
tmp{i}=[];
% 公式一中的x(i)-uj,为公式一实现做准备
tmp{i}=[tmp{i};data(j,:)-u(i,:)];
quan=zeros(m,N);
%公式一的实现
c=[c norm(tmp{j}(i,:))];
[~, index]=min(c);
quan(i,index)=norm(tmp{index}(i,:));
%公式二的实现
u(i,j)=sum(quan(:,i).*data(:,j))/sum(quan(:,i));
if norm(pre_u-u)&0.1
%不断迭代直到位置不再变化
tmp=[tmp norm(data(i,:)-u(j,:))];
[~, index]=min(tmp);
re=[data(i,:) index];
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:452次
排名:千里之外常用聚类算法比较分析_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
常用聚类算法比较分析
上传于||文档简介
&&关​于​聚​类​分​析​的​文​章
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
你可能喜欢常用聚类算法比较_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
常用聚类算法比较
上传于||文档简介
&&比​较​几​种​常​用​的​聚​类​算​法
阅读已结束,如果下载本文需要使用2下载券
想免费下载本文?
你可能喜欢常用聚类算法的比较_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
常用聚类算法的比较
上传于||文档简介
&&常​用​聚​类​算​法​的​比​较
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
下载文档到电脑,查找使用更方便
还剩1页未读,继续阅读
你可能喜欢常用的聚类方法有哪几种?
1.k-mean聚类分析 适用于样本聚类;2.分层聚类 适用于对变量聚类;3.两步聚类 适用于分类变量和连续变量聚类;4.基于密度的聚类算法;5.基于网络的聚类;6.机器学习中的聚类算法;前3种,可用spss简单操作实现;
为您推荐:
其他类似问题
扫描下载二维码}

我要回帖

更多关于 文本聚类算法有哪些 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信