vlambda博客
学习文章列表

聚类算法降维问题(补充篇)


是基于协方差或者相关性矩阵去算的投影向量,最后保留特征值较大的向量,也就是空间点到投影线的距离尽可能小,这和k聚类系列算法有几分类似,不管是协方差还是相关性,其实都取决于距离。那么在聚类算法中,同样的,聚类中心的目的也是尽可能的使得空间点到达的距离最短,spss软件中最后会得到具体的主成分指标,其实这些指标的由来,是基于空间点到投影直线的距离来的,也就是说对于某条投影直线,哪一个空间点到达的距离最短,那么该主要成分指标就是哪一个。



以为例,K-means、模糊聚类等同理,程序如下


data=[];cluster_n=18;%距离中心个数[center, U, obj_fcn] = fcm(data, cluster_n);%fcm函数,center返回聚类中心坐标,U各点与聚类中心的隶属度矩阵,obj_fcn目标变化值figure%目标函数变化值plot(obj_fcn)xlabel('iteration')ylabel('obj.fcn_value')[~,b]=max(U');%取与聚类中心最近的指标作为主要指标,b矩阵中的编号即依次对应主成分指标b=unique(b);%最后可以去下重



聚类中心初始是随机的,之后再更新中心位置,而主成分分析计算投影向量有特定公式计算,两个算法处理数据的角度不同。在处理高维数据时,可以多尝试一些方法,哪一个求出来的结果比较符合实际就用哪一个。


每个算法都有独特的思想,不一定某些领域胜于其他算法,但能在一些问题上给你带来灵感