91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

pso_lssvm回歸預測matlab代碼pso_lssvm回歸預測matlab代碼

資源截圖

代碼片段和文件信息


%%==================清空環境=============

clc
clear

%%導入訓練數據和測試數據
load?data1.mat

%其中train_data?test_data分別為訓練集和測試集
%train_result?test_result為訓練結果和測試結果

%%數據歸一化

%%歸一化方法1(利用libsvm工具箱函數歸一化)
[train_xtest_x]=scaleForSVM(train_datatest_data01)
[train_ytest_ypstrain1]=scaleForSVM(train_resulttest_result01)


%%歸一化方法2(利用svm自帶mapminmax函數歸一化)
%[train_data?pstrain0]?=?mapminmax(train‘01);
%[test_data]?=?mapminmax(‘apply‘test‘pstrain0);
%[train_resultpstrain1]?=?mapminmax(train_out01);
%[test_result]?=?mapminmax(‘apply‘test_outpstrain1);

%train_data?=?train_data‘
%train_result=train_result‘
%test_data?=?test_data‘


%%?參數初始化

%粒子群算法中的兩個參數
c1?=?1.5;?%?c1?belongs?to?[02]?c1:初始為1.5pso參數局部搜索能力
c2?=?1.5;?%?c2?belongs?to?[02]?c2:初始為1.7pso參數全局搜索能力

maxgen=300;?%?進化次數?
sizepop=30;?%?種群規模

popcmax=10^(3);?%?popcmax:初始為1000SVM?參數c的變化的最大值.
popcmin=10^(-1);?%?popcmin:初始為0.1SVM?參數c的變化的最小值.
popgmax=10^(2);?%?popgmax:初始為1000SVM?參數g的變化的最大值
popgmin=10^(-1);?%?popgmin:初始為0.01SVM?參數c的變化的最小值.
k?=?0.5;?%?k?belongs?to?[0.11.0];
Vcmax?=?k*popcmax;%參數?c?迭代速度最大值
Vcmin?=?-Vcmax?;
Vgmax?=?k*popgmax;%參數?g?迭代速度最大值
Vgmin?=?-Vgmax?;?

eps?=?10^(-7);

%%定義lssvm相關參數

type?=?‘function?estimation‘;?
kernel?=?‘RBF_kernel‘;
proprecess=‘original‘

%%?產生初始粒子和速度
for?i=1:sizepop

%?隨機產生種群
pop(i1)?=?(popcmax-popcmin)*rand(11)+popcmin?;?%?初始種群
pop(i2)?=?(popgmax-popgmin)*rand(11)+popgmin;
V(i1)=Vcmax*rands(11);?%?初始化速度
V(i2)=Vgmax*rands(11);

%?計算初始適應度
gam?=?pop(i1)
sig2?=?pop(i2)
model=initlssvm(train_xtrain_ytypegamsig2kernelproprecess)
model=trainlssvm(model)?%?訓練svm模型
%求出訓練集和測試集的預測值
[ptrainztmodel]=simlssvm(modeltrain_x);

%預測數據反歸一化
%?train_predict=mapminmax(‘reverse‘train_predict_ypstrain1)%訓練集預測值

%計算均方差
trainmse=sum((ptrain-train_y).^2)/length(train_y)

fitness(i)=trainmse%以訓練集的預測值計算的均方差為適應度值
end

%?找極值和極值點
[global_fitness?bestindex]=min(fitness)?%?全局極值
local_fitness=fitness?%?個體極值初始化?

global_x=pop(bestindex:)?%?全局極值點
local_x=pop?%?個體極值點初始化

%?每一代種群的平均適應度
avgfitness_gen?=?zeros(1maxgen);

tic

%%?迭代尋優
for?i=1:maxgen

for?j=1:sizepop

%速度更新
wV?=?1;?%?wV?best?belongs?to?[0.81.2]為速率更新公式中速度前面的彈性系數
V(j:)?=?wV*V(j:)?+?c1*rand*(local_x(j:)?-?pop(j:))?+?c2*rand*(global_x?-?pop(j:));
if?V(j1)?>?Vcmax?%以下幾個不等式是為了限定速度在最大最小之間
V(j1)?=?Vcmax;
end
if?V(j1)?V(j1)?=?Vcmin;
end
if?V(j2)?>?Vgmax
V(j2)?=

評論

共有 條評論