基于遗传算法(粒子群算法、人工鱼群算法等)的投影寻踪模型
MATLAB源代码
投影寻踪是一种处理多因素复杂问题的统计方法,其基本思路是将高维数据向低维空间进行投影,通过低维投影数据的散布结构来研究高维数据特征,可用于聚类、分类、综合评价、预测等。投影寻踪模型最终可归结为一个非线性连续函数优化模型,可以采用遗传算法、粒子群算法、人工鱼群算法或人工免疫克隆优化算法等进行求解,得到最优的投影向量。
%% 第一步:仿真参数设置
clc
clear
close all
load data1.txt
D=data1;%导入D矩阵
[n,p]=size(D);
K=300;%迭代次数
N=100;%种群规模
Pm=0.3;%变异概率
LB=-ones(1,p);%决策变量的下界
UB=ones(1,p);%决策变量的上界
Alpha=0.1;%窗口半径系数,典型取值0.1b
%% 调用遗传算法
[BESTX,BESTY,ALLX,ALL Y]=GAUCP(K,N,Pm,LB,UB,D,Alpha);
% GreenSim团队——专业级算法设计&代写程序
% 欢迎访问GreenSim团队主页→http://www.doczj.com/doc/e3f7992a7375a417866f8fcd.html/greensim
%% 整理输出结果
Best_a=(BESTX{K})';%方向向量
d=zeros(n,p);
Djmax=max(D);
Djmin=min(D);
for i=1:n
d(i,:)=(D(i,:)-Djmin)./(Djmax-Djmin);
end
Z=zeros(n,1);
for i=1:n
Z(i)=abs(sum(Best_a.*d(i,:)));
end
Z=abs(Z);
figure%投影散布图
plot(abs(Z),'bd','LineWidth',1,'MarkerEdgeColor','k','MarkerFaceColor','b','MarkerSize',5);