m基于神经网络的气候预测matlab仿真,气候数据采用的BoM气候数据,神经网络为matlab编程实现不使用工具箱函数

简介: m基于神经网络的气候预测matlab仿真,气候数据采用的BoM气候数据,神经网络为matlab编程实现不使用工具箱函数

1.算法描述

    人工神经网络(Artificial Neural Networks,简写为ANNs)也简称为神经网络(NNs)或称作连接模型(Connection Model),它是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。

    生物神经网络主要是指人脑的神经网络,它是人工神经网络的技术原型。人脑是人类思维的物质基础,思维的功能定位在大脑皮层,后者含有大约10^11个神经元,每个神经元又通过神经突触与大约103个其它神经元相连,形成一个高度复杂高度灵活的动态网络。作为一门学科,生物神经网络主要研究人脑神经网络的结构、功能及其工作机制,意在探索人脑思维和智能活动的规律。

   人工神经网络是生物神经网络在某种简化意义下的技术复现,作为一门学科,它的主要任务是根据生物神经网络的原理和实际应用的需要建造实用的人工神经网络模型,设计相应的学习算法,模拟人脑的某种智能活动,然后在技术上实现出来用以解决实际问题。因此,生物神经网络主要研究智能的机理;人工神经网络主要研究智能机理的实现,两者相辅相成。

image.png

   神经网络的输入层的每一个节点代表的是一个对象的其中的一个特征,这个些特征可以用一个矩阵x表示,因为这是我们人类看的懂的东西,所以要转换成计算机看的懂的东西。使用函数进行计算,w是权重,b是偏置。神经网络 

   y=w1x+b1

   其中输如层有3个节点是一个1x3的矩阵,对应的隐藏是一个1x4的矩阵,则要乘以w1是一个3x4的矩阵,b是一个1x4的矩阵。
   其中神经网络还需要一个激活函数,常用的有的sigmoid,relu,tanh,因为神经网络对应的是一个线性化的函数,我们有的时候要解决非线性化的问题,所以引入激活函数,解决线性模型不能解决的问题。

func_data_process.m

这个函数,主要功能就是识别数据中的数据,然后分别统计出每年的数据,每个月的数据以及每天的数据。

func_NN_prediction.m

这个函数,是利用训练得到的神经网络进行预测的函数,其主要功能就是将测试数据输入,输出预测数据。

func_NN_train.m

这个函数,是神经网络训练函数,通过对测试数据集和目标测试集进行训练,得到一个神经网络,其中所涉及的非线性函数为:

image.png

main_func.m

这个函数就是对数据处理,神经网络训练,神经网络测试三个主要函数进行调用,实

NN_parameter_define.m

 神经网络的一些参数定义;

2.仿真效果预览
matlab2022a仿真结果如下:

image.png
image.png
image.png
image.png
image.png
image.png

3.MATLAB核心程序

NN_parameter_define;
 
%网络训练
%循环开始,进化网络
for Iter=1:Iteration_times
    Iter
    %对输入的每个数据进行处理
    for k=1:length(Data_IN)    
        In = Data_IN(k);
        %输出层结算
        for i=1:Num_node_IN
            for j=1:Num_node_HIDE
                %定义非线性函数
                u(i,j) = exp(-(In(i)-nodec(j,i))^2/nodeb(j,i));
            end
        end
        W    = u(1,:); 
        Ws   = sum(W);
        for i=1:Num_node_HIDE
            HIDE_data(i) = Iter_b(i) + Iter_b2(i) * In;
        end
        HIDE_W  = HIDE_data*W';
        %网络预测计算
        OUT(k)  = HIDE_W/Ws;
        ERR(k)  = Data_OUT(k)-OUT(k); 
        P_point = zeros(Num_node_HIDE,1);
        P_point = COFF_1 * ERR(k) * W ./ Ws;
        P_point = P_point';
 
        B_point = zeros(Num_node_HIDE,Num_node_IN);
        for i=1:Num_node_HIDE
            for j=1:Num_node_IN
                B_point(i,j) =     COFF_1 * ERR(k) * ( HIDE_data(i) * Ws - HIDE_W ) * ( In(j) - nodec(i,j) )^2 * W(i) / (nodeb(i,j)^2 * Ws^2);
            end
        end  
 
        B_point = zeros(Num_node_HIDE,Num_node_IN);
        for i=1:Num_node_HIDE
            for j=1:Num_node_IN
                C_point(i,j) = 2 * COFF_1 * ERR(k) * ( HIDE_data(i) * Ws - HIDE_W ) * ( In(j) - nodec(i,j) )   * W(i) / (nodeb(i,j) * Ws^2);
            end
        end
相关文章
|
1天前
|
机器学习/深度学习 算法
基于改进遗传优化的BP神经网络金融序列预测算法matlab仿真
本项目基于改进遗传优化的BP神经网络进行金融序列预测,使用MATLAB2022A实现。通过对比BP神经网络、遗传优化BP神经网络及改进遗传优化BP神经网络,展示了三者的误差和预测曲线差异。核心程序结合遗传算法(GA)与BP神经网络,利用GA优化BP网络的初始权重和阈值,提高预测精度。GA通过选择、交叉、变异操作迭代优化,防止局部收敛,增强模型对金融市场复杂性和不确定性的适应能力。
101 80
|
26天前
|
机器学习/深度学习 算法 Serverless
基于WOA-SVM的乳腺癌数据分类识别算法matlab仿真,对比BP神经网络和SVM
本项目利用鲸鱼优化算法(WOA)优化支持向量机(SVM)参数,针对乳腺癌早期诊断问题,通过MATLAB 2022a实现。核心代码包括参数初始化、目标函数计算、位置更新等步骤,并附有详细中文注释及操作视频。实验结果显示,WOA-SVM在提高分类精度和泛化能力方面表现出色,为乳腺癌的早期诊断提供了有效的技术支持。
|
15天前
|
机器学习/深度学习 算法 Python
基于BP神经网络的金融序列预测matlab仿真
本项目基于BP神经网络实现金融序列预测,使用MATLAB2022A版本进行开发与测试。通过构建多层前馈神经网络模型,利用历史金融数据训练模型,实现对未来金融时间序列如股票价格、汇率等的预测,并展示了预测误差及训练曲线。
|
6月前
|
机器学习/深度学习 PyTorch 算法框架/工具
【从零开始学习深度学习】26.卷积神经网络之AlexNet模型介绍及其Pytorch实现【含完整代码】
【从零开始学习深度学习】26.卷积神经网络之AlexNet模型介绍及其Pytorch实现【含完整代码】
|
6月前
|
机器学习/深度学习 PyTorch 算法框架/工具
【从零开始学习深度学习】28.卷积神经网络之NiN模型介绍及其Pytorch实现【含完整代码】
【从零开始学习深度学习】28.卷积神经网络之NiN模型介绍及其Pytorch实现【含完整代码】
|
4月前
|
机器学习/深度学习 PyTorch 算法框架/工具
PyTorch代码实现神经网络
这段代码示例展示了如何在PyTorch中构建一个基础的卷积神经网络(CNN)。该网络包括两个卷积层,分别用于提取图像特征,每个卷积层后跟一个池化层以降低空间维度;之后是三个全连接层,用于分类输出。此结构适用于图像识别任务,并可根据具体应用调整参数与层数。
|
4月前
|
机器学习/深度学习 数据可视化 Python
如何可视化神经网络的神经元节点之间的连接?附有Python预处理代码
该博客展示了如何通过Python预处理神经网络权重矩阵并将其导出为表格,然后使用Chiplot网站来可视化神经网络的神经元节点之间的连接。
63 0
如何可视化神经网络的神经元节点之间的连接?附有Python预处理代码
|
4月前
|
机器学习/深度学习 Linux TensorFlow
【Tensorflow+keras】用代码给神经网络结构绘图
文章提供了使用TensorFlow和Keras来绘制神经网络结构图的方法,并给出了具体的代码示例。
66 0
|
4月前
|
机器学习/深度学习 自然语言处理 TensorFlow
|
5月前
|
机器学习/深度学习 编解码 数据可视化
图神经网络版本的Kolmogorov Arnold(KAN)代码实现和效果对比
目前我们看到有很多使用KAN替代MLP的实验,但是目前来说对于图神经网络来说还没有类似的实验,今天我们就来使用KAN创建一个图神经网络Graph Kolmogorov Arnold(GKAN),来测试下KAN是否可以在图神经网络方面有所作为。
208 0