matlab实现神经网络

一、原理

人工神经网络是具有适应性的简单神经元组成的广泛并互连的网络,它的组织能够模拟生物神经系统对真实世界物体作出的交互式反应。人工神经网络具有自学习、自组织、较好的容错性和优良的非线性逼近能力

将神经网络的学习能力引入到模糊系统中,将模糊系统的模糊化处理、模糊推理、精确化计算通过分布式的神经网络来表示是实现模糊系统自组织、自学习的重要途径。在模糊神经网络中,神经网络的输入、输出节点用来模糊系统的输入、输出信号,神经网络的隐含节点用来表示隶属函数和模糊规则,利用神经网络的并行处理能力使得模糊系统的推理能力大大提高。

BP_ Adaboost模型:

Adaboost 算法的思想是合并多个“弱”分类器的输出以产生有效分类。其主要步骤为 :

(1)首先给出弱学习算法和样本空间(x, y) ,从样本空间中找出 m 组训练数据,每组训练数据的权重都是 1 /m。

(2)用弱学习算法迭代运算 T 次,每次运算后都按照分类结果更新训练数据权重分布,对于分类失败的训练个体赋予较大权重,下一次迭代运算时更加关注这些训练个体。弱分类器通过反复迭代得到一个分类函数序列 f1, ,f2 , … , fT ,每个分类函数赋予一个权重,分类结果越好的函数,其对应权重越大。

(3)T 次迭代之后,最终强分类函数 F 由弱分类函数加权得。BP_Adaboost模型即把BP 神经网络作为弱分类器,反复训练 BP 神经网络预测样本输出,通过Adaboost算法得到多个 BP 神经网络弱分类器组成的强分类器。

二、实验过程及结果

1.倒车仿真,利用ANFIS对模糊神经网络建模

将实测数据送入MATLAB工作空间:

图1 数据

调出编辑器anfisedit:

图2 anfisedit编辑器

将数据导入anfisedit:

图3 导入数据

建立模糊系统:

图4

图5

图6

图7 模糊规则

得到的模型结构如图:

图8 模型结构图

设置参数进行训练:

图9 训练

查看训练效果:

图10 训练效果

基本吻合

2. 神经网络公路运量预测

方法1,输入以下代码:

图11 代码实现

图12 神经网络训练

结果如下:

图13 客运量与货运量实际情况与网络训练的对照

可以从图中看出预测值与实际值基本吻合

图14 预测结果

从预测结果中可以看出,预测2010和2011的公路客运量分别是44142/万人和44184/万人;2010和2011的公路货运量分别是21295/万吨和21165/万吨。

第二种方法:

利用神经网络工具

图15 设置

得到的训练精度如下:

图16 训练精度

接下来将模型保存并利用它进行预测:

图17 预测结果

从结果中可以看出该模型预测2010和2011的公路客运量分别是32172/万人和30108/万人;2010和2011的公路货运量分别是14167/万吨和12934/万吨。

输入代码如下:

神经网络训练:

图18 神经网络训练

图19 神经网络训练误差

图20 训练精度

可以看出训练的结果是比较好的

公司同比销售样本数据共有50组,采用10个BP弱分类器组成的强分类器。其中,弱分类器分类误差率为1,强分类器分类误差为0,说明BP_Adaboost算法达到预期效果。

三、总结

本文通过matlab构建神经网络完成相应的三个实验,第一个实验中描述了自适应神经模糊系统的构造;第二个实验中描述了通过代码和神经网络工具箱两种方式去构造神经网络进行预测;在第三个实验中描述了BP_Adaboost模型,把BP神经网络作为弱分类器,反复训练BP神经网络预测样本输出,通过Adaboost算法得到多个BP神经网络弱分类器组成的强分类器。实验中绘制的各类曲线也可以更直观地去分析所构建地网络的优度。

相关推荐

  1. Matlab神经网络

    2024-03-28 04:50:05       57 阅读
  2. MATLAB实现LSTM和RBF神经网络对比

    2024-03-28 04:50:05       48 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-28 04:50:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-28 04:50:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-28 04:50:05       82 阅读
  4. Python语言-面向对象

    2024-03-28 04:50:05       91 阅读

热门阅读

  1. 关于分布式系统设计的个人看法和经验

    2024-03-28 04:50:05       38 阅读
  2. 大历史下的 pacing:程序员视角和大历史视角

    2024-03-28 04:50:05       48 阅读
  3. Linux的相关指令总结

    2024-03-28 04:50:05       40 阅读
  4. 前端下载超大文件的完整方案

    2024-03-28 04:50:05       39 阅读
  5. 题目 2850: 输出亲朋字符串

    2024-03-28 04:50:05       38 阅读