粒子群优化算法解决聚类集成问题?我用了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
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/16 09:17:59
粒子群优化算法解决聚类集成问题?我用了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
粒子群优化算法解决聚类集成问题?
我用了kmeans等聚类方法对iris进行聚类,得到不同聚类分类号,其中一个算法得到的结果是
Columns 1 through 16
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Columns 17 through 32
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Columns 33 through 48
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Columns 49 through 64
1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2
Columns 65 through 80
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
Columns 81 through 96
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
Columns 97 through 112
2 2 1 2 3 2 3 2 3 3 2 2 2 3 2 2
Columns 113 through 128
3 2 2 3 2 3 3 2 3 2 3 2 3 3 2 2
Columns 129 through 144
2 3 3 3 2 2 2 3 3 2 2 3 3 3 2 3
Columns 145 through 150
3 3 2 2 3 2
不同算法得到的结果都是类似这种,假如现在有20*150维的类标号矩阵,我的想法是把这个矩阵当成是PSO的初始种群,利用基本的PSO算法实验了一下,速度随机取值,学习因子c1=1.49445; c2=1.49445;maxgen=300; %迭代次数,其中适应度函数取类标号与数据集标准分类号的正确率,然后利用算法迭代寻优,在实验过程中,迭代起不了任何作用,我怀疑是参数设置出了问题,再追加50分
我想在这20*150维矩阵中找到最优或者通过PSO算法粒子与速度更新得到最优的类标号,使得分类正确率高于 kmeans等算法得到的结果(也就是20*150的结果)
粒子群优化算法解决聚类集成问题?我用了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
kmeans 给出的是150个样本的聚类后所属类别.
你的样本是150*20的,也就是说,样本个数150,维数20.
用粒子群做聚类的方法是,采用粒子群迭代的方法优化得到N个最优位置,这N个位置对应N个聚类的中心,本题N=3. 然后通过计算每个样本与N个中心间之间的距离,取距离最短的聚类中心,认为样本跟此聚类中心是一类的,这样每个样本就被归为了N类.
针对你的问题,首先说参数没问题(也可以把c1=c2=2)
检查你的聚类过程,是否把20当做了训练样本(这个虽然低级,但是初学的特别容易犯),你要初始化的是3个中心位置,每个位置20维,总共60. 即初始化一个60维的种群.
如果1检查无误的话可能就是你的程序问题了,对照网上的粒子群算法的公式检查下程序吧.