分類預測 | MATLAB實現GAPSO-BP遺傳算法組合粒子群算法優化BP神經網絡多輸入分類預測
目錄
- 分類預測 | MATLAB實現GAPSO-BP遺傳算法組合粒子群算法優化BP神經網絡多輸入分類預測
- 預測效果
- 基本介紹
- 模型描述
- 程序設計
- 參考資料
預測效果
基本介紹
1.分類預測 | MATLAB實現GAPSO-BP遺傳算法組合粒子群算法優化BP神經網絡多輸入分類預測,運行環境Matlab2018b及以上;
2.可視化展示分類準確率,可在下載區獲取數據和程序內容。
3.輸入15個特征,輸出4類標簽。
模型描述
遺傳算法在解決復雜的全局優化問題時表現較為優秀,但處理局部搜索問題則不如粒子群算法。而粒子群算法則更適用于高維度、多極值、連續問題的優化。因此,結合這兩種算法可以互補優勢,提高優化性能。
程序設計
- 完整程序和數據獲取方式1:同等價值程序兌換;
- 完整程序和數據獲取方式2:私信博主回復 GAPSO-BP遺傳算法組合粒子群算法優化BP神經網絡多輸入分類預測獲取。
%% 劃分訓練集和測試集
P_train = res(1: num_train_s, 1: f_)';
T_train = res(1: num_train_s, f_ + 1: end)';
M = size(P_train, 2);P_test = res(num_train_s + 1: end, 1: f_)';
T_test = res(num_train_s + 1: end, f_ + 1: end)';
N = size(P_test, 2);%% 數據歸一化
[p_train, ps_input] = mapminmax(P_train, 0, 1);
p_test = mapminmax('apply', P_test, ps_input);[t_train, ps_output] = mapminmax(T_train, 0, 1);
t_test = mapminmax('apply', T_test, ps_output);
%% 個體極值和群體極值
[fitnesszbest, bestindex] = min(fitness);
zbest = pop(bestindex, :); % 全局最佳
gbest = pop; % 個體最佳
fitnessgbest = fitness; % 個體最佳適應度值
BestFit = fitnesszbest; % 全局最佳適應度值%% 迭代尋優
for i = 1 : maxgenfor j = 1 : sizepop% 速度更新V(j, :) = V(j, :) + c1 * rand * (gbest(j, :) - pop(j, :)) + c2 * rand * (zbest - pop(j, :));V(j, (V(j, :) > Vmax)) = Vmax;V(j, (V(j, :) < Vmin)) = Vmin;% 種群更新pop(j, :) = pop(j, :) + 0.2 * V(j, :);pop(j, (pop(j, :) > popmax)) = popmax;pop(j, (pop(j, :) < popmin)) = popmin;% 自適應變異pos = unidrnd(numsum);if rand > 0.95pop(j, pos) = rands(1, 1);end% 適應度值fitness(j) = fun(pop(j, :), hiddennum, net, p_train, t_train);endfor j = 1 : sizepop% 個體最優更新if fitness(j) < fitnessgbest(j)gbest(j, :) = pop(j, :);fitnessgbest(j) = fitness(j);end% 群體最優更新 if fitness(j) < fitnesszbestzbest = pop(j, :);fitnesszbest = fitness(j);endendBestFit = [BestFit, fitnesszbest];
end
————————————————
版權聲明:本文為CSDN博主「機器學習之心」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/kjm13182345320/article/details/130462492
參考資料
[1] https://blog.csdn.net/kjm13182345320/article/details/129679476?spm=1001.2014.3001.5501
[2] https://blog.csdn.net/kjm13182345320/article/details/129659229?spm=1001.2014.3001.5501
[3] https://blog.csdn.net/kjm13182345320/article/details/129653829?spm=1001.2014.3001.5501