国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

回歸預(yù)測 | MATLAB實現(xiàn)基于QPSO-LSTM、PSO-LSTM、LSTM多輸入單輸出回歸預(yù)測

這篇具有很好參考價值的文章主要介紹了回歸預(yù)測 | MATLAB實現(xiàn)基于QPSO-LSTM、PSO-LSTM、LSTM多輸入單輸出回歸預(yù)測。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

回歸預(yù)測 | MATLAB實現(xiàn)基于QPSO-LSTM、PSO-LSTM、LSTM多輸入單輸出回歸預(yù)測

效果一覽

回歸預(yù)測 | MATLAB實現(xiàn)基于QPSO-LSTM、PSO-LSTM、LSTM多輸入單輸出回歸預(yù)測
回歸預(yù)測 | MATLAB實現(xiàn)基于QPSO-LSTM、PSO-LSTM、LSTM多輸入單輸出回歸預(yù)測
回歸預(yù)測 | MATLAB實現(xiàn)基于QPSO-LSTM、PSO-LSTM、LSTM多輸入單輸出回歸預(yù)測
回歸預(yù)測 | MATLAB實現(xiàn)基于QPSO-LSTM、PSO-LSTM、LSTM多輸入單輸出回歸預(yù)測
回歸預(yù)測 | MATLAB實現(xiàn)基于QPSO-LSTM、PSO-LSTM、LSTM多輸入單輸出回歸預(yù)測
回歸預(yù)測 | MATLAB實現(xiàn)基于QPSO-LSTM、PSO-LSTM、LSTM多輸入單輸出回歸預(yù)測
回歸預(yù)測 | MATLAB實現(xiàn)基于QPSO-LSTM、PSO-LSTM、LSTM多輸入單輸出回歸預(yù)測
回歸預(yù)測 | MATLAB實現(xiàn)基于QPSO-LSTM、PSO-LSTM、LSTM多輸入單輸出回歸預(yù)測
回歸預(yù)測 | MATLAB實現(xiàn)基于QPSO-LSTM、PSO-LSTM、LSTM多輸入單輸出回歸預(yù)測

回歸預(yù)測 | MATLAB實現(xiàn)基于QPSO-LSTM、PSO-LSTM、LSTM多輸入單輸出回歸預(yù)測
回歸預(yù)測 | MATLAB實現(xiàn)基于QPSO-LSTM、PSO-LSTM、LSTM多輸入單輸出回歸預(yù)測

基本描述

1.Matlab實現(xiàn)QPSO-LSTM、PSO-LSTM和LSTM神經(jīng)網(wǎng)絡(luò)時間序列預(yù)測;
2.輸入數(shù)據(jù)為多輸入單輸出數(shù)據(jù);
3.運行環(huán)境Matlab2020及以上,依次運行Main1LSTMNN、Main2PSOLSTMNN、Main3QPSOLSTMNN、Main4CDM即可,其余為函數(shù)文件無需運行,所有程序放在一個文件夾,data為數(shù)據(jù)集,輸入多個特征,輸出單個變量;
LSTM(長短時記憶模型)與粒子群算法優(yōu)化后的LSTM(PSOLSTM)以及量子粒子群算法優(yōu)化后的LSTM(QPSOLSTM)對比實驗,可用于風(fēng)電、光伏等負荷預(yù)測,數(shù)據(jù)為多輸入單輸出預(yù)測,最后一列輸出,PSO、QPSO優(yōu)化超參數(shù)為隱含層1節(jié)點數(shù)、隱含層2節(jié)點數(shù)、最大迭代次數(shù)和學(xué)習(xí)率。
4.命令窗口輸出MAE、MAPE、RMSE和R2。

模型描述

LSTM (Long Short-Term Memory)是一種適用于序列數(shù)據(jù)分析的循環(huán)神經(jīng)網(wǎng)絡(luò) (RNN) 架構(gòu),它可以捕捉數(shù)據(jù)中的時間依賴關(guān)系和模式。LSTM模型包含三個關(guān)鍵的門控單元:輸入門、遺忘門和輸出門,它們可以控制信息的流動,從而有效地處理時間序列數(shù)據(jù)。LSTM模型通常需要手動選擇和調(diào)整許多超參數(shù),如LSTM層數(shù)、隱藏單元數(shù)等,以最大化模型的性能。
PSO-LSTM和QPSO-LSTM是LSTM的變體,它們使用粒子群優(yōu)化 (PSO) 和量子粒子群優(yōu)化 (QPSO) 算法來優(yōu)化LSTM模型的超參數(shù)。這些算法可以自動搜索并找到最佳的超參數(shù)組合,以最大化LSTM模型的性能。
PSO算法是一種元啟發(fā)式算法,它通過模擬鳥群捕食的行為來搜索最優(yōu)解。在PSO-LSTM中,每個粒子表示一組超參數(shù),如LSTM層數(shù)、隱藏單元數(shù)等。粒子的位置表示該組超參數(shù)的取值,速度表示在搜索過程中改變該組超參數(shù)的步長。通過計算每個粒子的適應(yīng)度(即模型的性能),PSO算法可以自動搜索并找到最佳的超參數(shù)組合,以最大化LSTM模型的性能。
QPSO算法是一種基于量子力學(xué)原理的優(yōu)化算法,它可以更好地處理高維優(yōu)化問題和局部最優(yōu)解。在QPSO-LSTM中,每個粒子表示一組超參數(shù),如LSTM層數(shù)、隱藏單元數(shù)等。與PSO算法不同的是,QPSO算法使用概率幅度和相位來代替位置和速度,從而更好地利用粒子的量子特性。通過計算每個粒子的適應(yīng)度(即模型的性能),QPSO算法可以自動搜索并找到最佳的超參數(shù)組合,以最大化LSTM模型的性能。
總的來說,LSTM模型通過使用門控單元和長短時記憶單元來處理時間序列數(shù)據(jù)。PSO-LSTM和QPSO-LSTM則使用粒子群算法來搜索最佳的超參數(shù)組合,以最大化LSTM模型的性能。這些算法可以自動搜索并找到最佳的超參數(shù)組合,從而提高LSTM模型在時間序列預(yù)測任務(wù)中的性能。

程序設(shè)計

  • 完整程序和數(shù)據(jù)下載:私信博主。
for i=1:PopNum%隨機初始化速度,隨機初始化位置
    for j=1:dim
        if j==dim% % 隱含層節(jié)點與訓(xùn)練次數(shù)是整數(shù) 學(xué)習(xí)率是浮點型
            pop(i,j)=(xmax(j)-xmin(j))*rand+xmin(j);
        else
            pop(i,j)=round((xmax(j)-xmin(j))*rand+xmin(j));  %
        end
    end
end

% calculate the fitness_value of Pop
pbest = pop;
gbest = zeros(1,dim);
data1 = zeros(Maxstep,PopNum,dim);
data2 = zeros(Maxstep,PopNum);
for i = 1:PopNum
    fit(i) = fitness(pop(i,:),p_train,t_train,p_test,t_test);
    f_pbest(i) = fit(i);
end
g = min(find(f_pbest == min(f_pbest(1:PopNum))));
gbest = pbest(g,:);
f_gbest = f_pbest(g);

%-------- in the loop -------------
for step = 1:Maxstep
    
    mbest =sum(pbest(:))/PopNum;
    % linear weigh factor
    b = 1-step/Maxstep*0.5;
    data1(step,:,:) = pop;
    data2(step,:) = fit;
    for i = 1:PopNum
        a = rand(1,dim);
        u = rand(1,dim);
        p = a.*pbest(i,:)+(1-a).*gbest;
        pop(i,:) = p + b*abs(mbest-pop(i,:)).*...
            log(1./u).*(1-2*(u >= 0.5));
        % boundary detection
        
        for j=1:dim
            if j ==dim
                if pop(i,j)>xmax(j) | pop(i,j)<xmin(j)
                    pop(i,j)=(xmax(j)-xmin(j))*rand+xmin(j);  %
                end
            else
                pop(i,j)=round(pop(i,j));
                if pop(i,j)>xmax(j) | pop(i,j)<xmin(j)
                    pop(i,j)=round((xmax(j)-xmin(j))*rand+xmin(j));  %
                end
            end
        end
        
        
        fit(i) = fitness(pop(i,:),p_train,t_train,p_test,t_test);
        if fit(i) < f_pbest(i)
            pbest(i,:) = pop(i,:);
            f_pbest(i) = fit(i);
        end
        if f_pbest(i) < f_gbest
            gbest = pbest(i,:);
            f_gbest = f_pbest(i);
        end
    end
    trace(step)=f_gbest;
    step,f_gbest,gbest
    result(step,:)=gbest;
end
or i=1:N%隨機初始化速度,隨機初始化位置
    for j=1:D
        if j==D% % 隱含層節(jié)點與訓(xùn)練次數(shù)是整數(shù) 學(xué)習(xí)率是浮點型
            x(i,j)=(xmax(j)-xmin(j))*rand+xmin(j);
        else
            x(i,j)=round((xmax(j)-xmin(j))*rand+xmin(j));  %
        end
    end
    
    v(i,:)=rand(1,D);
end

%------先計算各個粒子的適應(yīng)度,并初始化Pi和Pg----------------------
for i=1:N
    p(i)=fitness(x(i,:),p_train,t_train,p_test,t_test);
    y(i,:)=x(i,:);
    
end
[fg,index]=min(p);
pg = x(index,:);             %Pg為全局最優(yōu)

%------進入主要循環(huán),按照公式依次迭代------------

for t=1:M
    
    for i=1:N
        v(i,:)=w*v(i,:)+c1*rand*(y(i,:)-x(i,:))+c2*rand*(pg-x(i,:));
        x(i,:)=x(i,:)+v(i,:);
        
        
        for j=1:D
            if j ~=D
                x(i,j)=round(x(i,j));
            end
            if x(i,j)>xmax(j) | x(i,j)<xmin(j)
                if j==D
                    x(i,j)=(xmax(j)-xmin(j))*rand+xmin(j);  %
                else
                    x(i,j)=round((xmax(j)-xmin(j))*rand+xmin(j));  %
                end
            end
        end
        temp=fitness(x(i,:),p_train,t_train,p_test,t_test);
        if temp<p(i)
            p(i)=temp;
            y(i,:)=x(i,:);
        end
        
        if p(i)<fg
            pg=y(i,:);
            fg=p(i);
        end
    end
    trace(t)=fg;
    result(t,:)=pg;

參考資料

[1] https://blog.csdn.net/kjm13182345320/article/details/127596777?spm=1001.2014.3001.5501
[2] https://download.csdn.net/download/kjm13182345320/86830096?spm=1001.2014.3001.5501文章來源地址http://www.zghlxwxcb.cn/news/detail-494403.html

到了這里,關(guān)于回歸預(yù)測 | MATLAB實現(xiàn)基于QPSO-LSTM、PSO-LSTM、LSTM多輸入單輸出回歸預(yù)測的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包