網(wǎng)站建站網(wǎng)站299266co提升關鍵詞
分類預測 | Matlab實現(xiàn)SSA-CNN-SVM麻雀算法優(yōu)化卷積支持向量機分類預測
目錄
- 分類預測 | Matlab實現(xiàn)SSA-CNN-SVM麻雀算法優(yōu)化卷積支持向量機分類預測
- 分類效果
- 基本描述
- 程序設計
- 參考資料
分類效果
基本描述
1.Matlab實現(xiàn)SSA-CNN-SVM麻雀算法優(yōu)化卷積支持向量機分類預測(完整源碼和數(shù)據(jù))
2.優(yōu)化參數(shù)為:學習率,批量處理大小,正則化參數(shù)。
3.圖很多,包括分類效果圖,混淆矩陣圖。
4.附贈案例數(shù)據(jù)可直接運行main一鍵出圖~
注意程序和數(shù)據(jù)放在一個文件夾,運行環(huán)境為Matlab2020及以上。
5.代碼特點:參數(shù)化編程、參數(shù)可方便更改、代碼編程思路清晰、注釋明細。
6.輸入多個特征,分四類。
程序設計
- 完整程序和數(shù)據(jù)獲取方式私信博主回復:Matlab實現(xiàn)SSA-CNN-SVM麻雀算法優(yōu)化卷積支持向量機分類預測
%% 優(yōu)化算法參數(shù)設置
SearchAgents_no = 8; % 數(shù)量
Max_iteration = 5; % 最大迭代次數(shù)%% 建立模型
lgraph = layerGraph(); % 建立空白網(wǎng)絡結構
tempLayers = [sequenceInputLayer([num_dim, 1, 1], "Name", "sequence") % 建立輸入層,輸入數(shù)據(jù)結構為[num_dim, 1, 1]sequenceFoldingLayer("Name", "seqfold")]; % 建立序列折疊層
lgraph = addLayers(lgraph, tempLayers); % 將上述網(wǎng)絡結構加入空白結構中
tempLayers = [convolution2dLayer([3, 1], 16, "Name", "conv_1", "Padding", "same") % 建立卷積層,卷積核大小[3, 1],16個特征圖reluLayer("Name", "relu_1") % Relu 激活層lgraph = addLayers(lgraph, tempLayers); % 將上述網(wǎng)絡結構加入空白結構中tempLayers = [sequenceUnfoldingLayer("Name", "sequnfold") softmaxLayer("Name", "softmax") % softmax激活層classificationLayer("Name", "classification")]; % 分類層
lgraph = addLayers(lgraph, tempLayers); % 將上述網(wǎng)絡結構加入空白結構中
lgraph = connectLayers(lgraph, "seqfold/out", "conv_1"); % 折疊層輸出 連接 卷積層輸入
lgraph = connectLayers(lgraph, "seqfold/miniBatchSize", "sequnfold/miniBatchSize"); % 折疊層輸出連接反折疊層輸入
lgraph = connectLayers(lgraph, "relu_2", "sequnfold/in"); % 激活層輸出 連接 反折疊層輸入%% 參數(shù)設置
options = trainingOptions('adam', ... % Adam 梯度下降算法'MaxEpochs', 500,... % 最大訓練次數(shù) 'InitialLearnRate', best_lr,... % 初始學習率為0.001'L2Regularization', best_l2,... % L2正則化參數(shù)'LearnRateSchedule', 'piecewise',... % 學習率下降'LearnRateDropFactor', 0.1,... % 學習率下降因子 0.1'LearnRateDropPeriod', 400,... % 經(jīng)過訓練后 學習率為 0.001*0.1'Shuffle', 'every-epoch',... % 每次訓練打亂數(shù)據(jù)集'ValidationPatience', Inf,... % 關閉驗證'Plots', 'training-progress',... % 畫出曲線'Verbose', false);%% 訓練
net = trainNetwork(p_train, t_train, lgraph, options);
參考資料
[1] https://blog.csdn.net/kjm13182345320/article/details/129036772?spm=1001.2014.3001.5502
[2] https://blog.csdn.net/kjm13182345320/article/details/128690229