粒子群优化算法解决聚类集成问题?

学习 时间:2026-04-02 12:26:12 阅读:9096
粒子群优化算法解决聚类集成问题?我用了kmeans等聚类方法对iris进行聚类,得到不同聚类分类号,其中一个算法得到的结果是Columns 1 through 161 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1Columns 17 through 321 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1Columns 33 through 481 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1Columns 49 through 641 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2Columns 65 through 802 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2Columns 81 through 962 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2Columns 97 through 1122 2 1 2 3 2 3 2 3 3 2 2 2 3 2 2Columns 113 through 1283 2 2 3 2 3 3 2 3 2 3 2 3 3 2 2Columns 129 through 1442 3 3 3 2 2 2 3 3 2 2 3 3 3 2 3Columns 145 through 1503 3 2 2 3 2不同算法得到的结果都是类似这种,假如现在有20*150维的类标号矩阵,我的想法是把这个矩阵当成是PSO的初始种群,利用基本的PSO算法实验了一下,速度随机取值,学习因子c1=1.49445; c2=1.49445;maxgen=300; %迭代次数,其中适应度函数取类标号与数据集标准分类号的正确率,然后利用算法迭代寻优,在实验过程中,迭代起不了任何作用,我怀疑是参数设置出了问题,再追加50分我想在这20*150维矩阵中找到最优或者通过PSO算法粒子与速度更新得到最优的类标号,使得分类正确率高于 kmeans等算法得到的结果(也就是20*150的结果)

最佳回答

英俊的花瓣

开心的老师

2026-04-02 12:26:12

kmeans 给出的是150个样本的聚类后所属类别。你的样本是150*20的,也就是说,样本个数150,维数20。用粒子群做聚类的方法是,采用粒子群迭代的方法优化得到N个最优位置,这N个位置对应N个聚类的中心,本题N=3。 然后通过计算每个样本与N个中心间之间的距离,取距离最短的聚类中心,认为样本跟此聚类中心是一类的,这样每个样本就被归为了N类。针对你的问题,首先说参数没问题(也可以把c1=c2=2)检查你的聚类过程,是否把20当做了训练样本(这个虽然低级,但是初学的特别容易犯),你要初始化的是3个中心位置,每个位置20维,总共60。 即初始化一个60维的种群。如果1检查无误的话可能就是你的程序问题了,对照网上的粒子群算法的公式检查下程序吧。 再问: 你好,谢谢你的答案,对聚类集成了解吗?我在用PSO算法的时候,前几天确实不是你这么做的,我把20*150个类标号组成的聚类作为粒子的初始种群,没有涉及到聚类中心,昨天觉得这种方法不可行,试用聚类中心解决问题,但是在粒子的适应度函数方面,也想选用最近距离,现在正在实验中,方便加qq吗?464419229 验证问题 张广江

最新回答共有2条回答

  • 刻苦的红牛
    回复
    2026-04-02 12:26:12

    kmeans 给出的是150个样本的聚类后所属类别。你的样本是150*20的,也就是说,样本个数150,维数20。用粒子群做聚类的方法是,采用粒子群迭代的方法优化得到N个最优位置,这N个位置对应N个聚类的中心,本题N=3。 然后通过计算每个样本与N个中心间之间的距离,取距离最短的聚类中心,认为样本跟此聚类中心是一类的,这样每个样本就被归为了N类。针对你的问题,首先说参数没问题(也可以把c1=c2=2)检查你的聚类过程,是否把20当做了训练样本(这个虽然低级,但是初学的特别容易犯),你要初始化的是3个中心位置,每个位置20维,总共60。 即初始化一个60维的种群。如果1检查无误的话可能就是你的程序问题了,对照网上的粒子群算法的公式检查下程序吧。 再问: 你好,谢谢你的答案,对聚类集成了解吗?我在用PSO算法的时候,前几天确实不是你这么做的,我把20*150个类标号组成的聚类作为粒子的初始种群,没有涉及到聚类中心,昨天觉得这种方法不可行,试用聚类中心解决问题,但是在粒子的适应度函数方面,也想选用最近距离,现在正在实验中,方便加qq吗?464419229 验证问题 张广江

上一篇 写秋天的古诗,(要完整的,不是诗句)

下一篇 There ? a test tomorrow.A.is going to have B.are going to be