多輸入多輸出 | Matlab實現WOA-CNN鯨魚算法優化卷積神經網絡多輸入多輸出預測

多輸入多輸出 | Matlab實現WOA-CNN鯨魚算法優化卷積神經網絡多輸入多輸出預測

目錄

    • 多輸入多輸出 | Matlab實現WOA-CNN鯨魚算法優化卷積神經網絡多輸入多輸出預測
      • 預測效果
      • 基本介紹
      • 模型背景
      • 程序設計
      • 參考資料

預測效果

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

基本介紹

Matlab實現WOA-CNN鯨魚算法優化卷積神經網絡多輸入多輸出預測(完整源碼和數據)
1.data為數據集,輸入10個特征,輸出3個變量。
2.main.m為程序主文件,其他為函數文件無需運行。
3.命令窗口輸出MBE、MAE、RMSE、R^2和MAPE,可在下載區獲取數據和程序內容。
4.優化參數為學習率、批處理樣本大小和、正則化參數。
注意程序和數據放在一個文件夾,運行環境為Matlab2018及以上。

模型背景

卷積神經網絡是1989 年由紐約大學Lecun 提出的一種專門用來處理具有類似網格結構的數據的神經網絡,例如時間序列數據和圖像數據等。卷積神經網絡可以看作是傳統神經網絡的改進,都采用了層級網絡結構。其本質是一種從輸入到輸出的映射,能夠學習大量的映射關系。CNN 網絡主要由輸入層、卷積層、池化層和輸出層構成,其中輸入層主要是對原始數據進行預處理,包括去均值、歸一化。卷積計算層有兩個重要的操作: 局部關聯和窗口滑動。池化層位于兩個卷積層中間,用于壓縮數據,減小過擬合。全連接層在CNN 網絡的尾部,將池化層的輸出數據進行拼接。CNN 網絡最主要的優勢在于權值共享的特殊結構,降低了網絡的復雜性,對高維數據的處理無壓力。同時CNN 也避免了傳統神經網絡反向傳播梯度損失過快的缺點。

程序設計

  • 完整源碼和數據獲取方式:私信博主回復Matlab實現WOA-CNN鯨魚算法優化卷積神經網絡多輸入多輸出預測
%%  數據平鋪
%   將數據平鋪成1維數據只是一種處理方式
%   也可以平鋪成2維數據,以及3維數據,需要修改對應模型結構
%   但是應該始終和輸入層數據結構保持一致
p_train =  double(reshape(P_train, 10, 1, 1, M));
p_test  =  double(reshape(P_test , 10, 1, 1, N));
t_train =  double(T_train)';
t_test  =  double(T_test )';
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%%  構造網絡結構
layers = [imageInputLayer([10, 1, 1])     % 輸入層 輸入數據規模[10, 1, 1]convolution2dLayer([3, 1], 16)  % 卷積核大小 3*1 生成16張特征圖batchNormalizationLayer         % 批歸一化層reluLayer                       % Relu激活層convolution2dLayer([3, 1], 32)  % 卷積核大小 3*1 生成32張特征圖batchNormalizationLayer         % 批歸一化層reluLayer                       % Relu激活層dropoutLayer(0.2)               % Dropout層fullyConnectedLayer(3)          % 全連接層regressionLayer];               % 回歸層%%  參數設置
options = trainingOptions('adam', ...      % ADAM 梯度下降算法'MiniBatchSize', 30, ...               % 批大小,每次訓練樣本個數30'MaxEpochs', 100, ...                  % 最大訓練次數 100'InitialLearnRate', 1e-2, ...          % 初始學習率為0.01'LearnRateSchedule', 'piecewise', ...  % 學習率下降'LearnRateDropFactor', 0.5, ...        % 學習率下降因子'LearnRateDropPeriod', 50, ...         % 經過100次訓練后 學習率為 0.01 * 0.5'Shuffle', 'every-epoch', ...          % 每次訓練打亂數據集'Plots', 'training-progress', ...      % 畫出曲線'Verbose', false);

參考資料

[1] https://blog.csdn.net/kjm13182345320/category_11003178.html?spm=1001.2014.3001.5482
[2] https://blog.csdn.net/kjm13182345320/article/details/117378431
[3] https://blog.csdn.net/kjm13182345320/article/details/118253644

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/64790.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/64790.shtml
英文地址,請注明出處:http://en.pswp.cn/web/64790.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Leecode刷題C語言之切蛋糕的最小總共開銷②

執行結果:通過 執行用時和內存消耗如下: typedef struct {int *booked;int bookedSize; } MyCalendar;#define MAX_BOOK_SIZE 1001MyCalendar* myCalendarCreate() {MyCalendar *obj (MyCalendar *)malloc(sizeof(MyCalendar));obj->booked (int *)malloc(siz…

力扣-數據結構-10【算法學習day.81】

前言 ###我做這類文章一個重要的目的還是給正在學習的大家提供方向(例如想要掌握基礎用法,該刷哪些題?建議靈神的題單和代碼隨想錄)和記錄自己的學習過程,我的解析也不會做的非常詳細,只會提供思路和一些關…

Vue 全局事件總線:Vue 2 vs Vue 3 實現

🌟 前言 歡迎來到我的技術小宇宙!🌌 這里不僅是我記錄技術點滴的后花園,也是我分享學習心得和項目經驗的樂園。📚 無論你是技術小白還是資深大牛,這里總有一些內容能觸動你的好奇心。🔍 &#x…

基于Spring Boot的電影網站系統

一、技術架構 后端框架:Spring Boot,它提供了自動配置、簡化依賴管理、內嵌式容器等特性,使得開發者可以快速搭建起一個功能完備的Web應用。 前端技術:可能采用Vue.js、JS、jQuery、Ajax等技術,結合Element UI等組件庫…

DeepSpeed訓練得到checkpoint如何像Huggingface模型一樣評測evaluation?zero_to_fp32.py有什么用?怎么用?

DeepSpeed訓練得到checkpoint如何像Huggingface模型一樣評測evaluation? 具體步驟 首先看一個樣例: 這是我用open-instruct框架,使用DeepSpeed訓練1728個steps得到的一個checkpoint。請注意,下文我演示用的例子是基于step_1152&…

node.js之---子線程(child_process)模塊

為什么需要子線程(child_process)模塊 Worker Threads 的基本概念 如何使用 Worker Threads Worker Threads 的性能 Worker 線程的優勢和限制 進階用法:共享內存 為什么需要子線程(child_process)模塊 在 Node.js…

【深度學習基礎之多尺度特征提取】多尺度圖像增強(Multi-Scale Image Augmentation)是如何在深度學習網絡中提取多尺度特征的?附代碼

【深度學習基礎之多尺度特征提取】多尺度圖像增強(Multi-Scale Image Augmentation)是如何在深度學習網絡中提取多尺度特征的?附代碼 【深度學習基礎之多尺度特征提取】多尺度圖像增強(Multi-Scale Image Augmentation&#xff0…

鴻蒙應用開發 - 如何去掉字符串中空格

鴻蒙應用開發 - 如何去掉字符串中空格 在鴻蒙應用開發中,如果你使用的是ArkTS(Ark TypeScript),可以通過JavaScript或TypeScript內置的字符串方法來去除字符串中的空格。以下是一些常用的方法: trim():去…

最新版Chrome瀏覽器加載ActiveX控件之CFCA安全輸入控件

背景 CFCA安全輸入控件用于保證用戶在瀏覽器、桌面客戶端、移動客戶端中輸入信息的安全性,防止運行在用戶系統上的病毒、木馬等惡意程序入侵竊取用戶輸入的敏感信息。確保用戶輸入、本地緩存、網絡傳輸整個流程中,輸入的敏感信息不被竊取。廣泛應用于銀行…

vSAN手動平衡磁盤

原創作者:運維工程師 謝晉 vSAN手動平衡磁盤 vSAN手動平衡磁盤 vSAN手動平衡磁盤 1、ssh登錄到VCSA,然后登錄到 Ruby vSphere 控制臺 (RVC) # rvc administratorvsphere.local10.10.0.202、切換到計算機命名空間 0 / 1 10.10.0.20/ > cd 1 /10.…

接口測試面試題

接口測試在軟件測試中占據重要位置,無論是功能測試還是性能測試,接口的穩定性至關重要。以下總結了一些常見的接口測試面試題,幫助你從容應對面試挑戰! 面試官常說:“接口測試是測試的重頭戲,了解接口的設計…

【前端,TypeScript】TypeScript速成(六):函數

函數 函數的定義 定義一個最簡單的加法函數: function add(a: number, b: number): number {return a b }(可以看到 JavaScript/TypeScript 的語法與 Golang 也非常的相似) 調用該函數: console.log(add(2, 3)) // out [LOG…

css的選擇器有哪些?優先級?

元素選擇器:選擇所有指定標簽類型的元素。 類選擇器:選擇具有指定類的所有元素,類名前有一個點 ID 選擇器:選擇具有指定 id 屬性的元素,ID 前有一個井號屬性選擇器:選擇具有指定屬性或屬性值的元素后代選…

Vue-Router之嵌套路由

在路由配置中,配置children import Vue from vue import VueRouter from vue-routerVue.use(VueRouter)const router new VueRouter({mode: history,base: import.meta.env.BASE_URL,routes: [{path: /,redirect: /home},{path: /home,name: home,component: () &…

Easy-Trans反向翻譯+Excel導入最佳實踐

1、概述 實現用戶excel上傳、解析、對于用戶輸入的中文翻譯為字典碼或者id,實現用戶輸入的參數校驗,最后入庫。如果用戶輸入的參數有問題,返回校驗結果給前端。 excel解析使用My-Excel組件,校驗使用hibernate-validator&#xff…

高效管理 Nginx 的利器:nginxWebUI 指南和 Docker 部署安裝過程

前言 Nginx WebUI 是一個為 Nginx 提供圖形化管理界面的工具。通過 WebUI,用戶可以輕松管理 Nginx 配置,而無需直接編輯配置文件,尤其適合新手用戶和頻繁修改配置的場景。 官網文檔:nginxWebUI - 文檔 本文將分享為什么選擇 ngin…

SpringCloud源碼-openFeign

LoadBalancer默認只有nacos服務發現器 openFeign與springcloud loadbalancer的結合點 openFeign通過spring cloud loadbalancer進行負載均衡,spring cloud loadbalancer通過discovery client獲取nacos的機器列表,然后底層進行負載均衡。

基于微信小程序的校園自助打印系統

博主介紹:java高級開發,從事互聯網行業六年,熟悉各種主流語言,精通java、python、php、爬蟲、web開發,已經做了多年的設計程序開發,開發過上千套設計程序,沒有什么華麗的語言,只有實…

從 ELK Stack 到簡單 — Elastic Cloud Serverless 上的 Elastic 可觀察性

作者:來自 Elastic Bahubali Shetti, Chris DiStasio 宣布 Elastic Cloud Serverless 上的 Elastic Observability 正式發布 — 一款完全托管的可觀察性解決方案。 隨著組織規模的擴大,一個能夠處理分布式云環境的復雜性并提供實時洞察的可觀察性解決方…

21.<基于Spring圖書管理系統②(圖書列表+刪除圖書+更改圖書)(非強制登錄版本完結)>

PS: 開閉原則 定義和背景 開閉原則(Open-Closed Principle, OCP),也稱為開放封閉原則,是面向對象設計中的一個基本原則。該原則強調軟件中的模塊、類或函數應該對擴展開放,對修改封閉。這意味著一個軟件實體…