数学建模-神经网络模型

article/2025/10/10 9:47:28

神经网络简介

人工神经网络是在现代神经科学的基础上提出和发展起来的,旨在反映人脑结构及功能的一种抽象数学模型。自1943 年美国心理学家W. McCulloch 和数学家W. Pitts 提出形式神经元的抽象数学模型—MP 模型以来,人工神经网络理论技术经过了50 多年曲折的发展。特别是20 世纪80 年代,人工神经网络的研究取得了重大进展,有关的理论和方法已经发展成一门界于物理学、数学、计算机科学和神经生物学之间的交叉学科。它在模式识别,图像处理,智能控制,组合优化,金融预测与管理,通信,机器人以及专家系统等领域得到广泛的应用,提出了40 多种神经网络模型,其中比较著名的有感知机,Hopfield 网络,Boltzman 机,自适应共振理论及反向传播网络(BP)等。在这里我们仅讨论最基本的网络模型及其学习算法。

人工神经元模型

下图表示出了作为人工神经网络(artificial neural network,以下简称NN)的基本单元的神经元模型,它有三个基本要素:

 

(i)一组连接(对应于生物神经元的突触),连接强度由各连接上的权值表示,权值为正表示激活,为负表示抑制。
(ii)一个求和单元,用于求取各输入信号的加权和(线性组合)。
(iii)一个非线性激活函数,起非线性映射作用并将神经元输出幅度限制在一定范围内(一般限制在(0,1)或(−1,1)之间)。

此外还有一个阈值\theta _{k} (或偏置 b_{k} = −\theta _{k} )。

若把输入的维数增加一维,则可把阈值 \theta _{k}(或偏置 b_{k} = −\theta _{k} )包括进去

Matlab 中的激活(传递)函数如下表所示:

函数名功 能
purelin线性传递函数
hardlim硬限幅传递函数
hardlims对称硬限幅传递函数
satlin饱和线性传递函数
satlins对称饱和线性传递函数
logsig对数S 形传递函数
tansig正切S 形传递函数
radbas径向基传递函数
compet竞争层传递函数

网络结构及工作方式


除单元特性外,网络的拓扑结构也是NN 的一个重要特性。从连接方式看NN 主要有两种。

  • 前馈型网络

各神经元接受前一层的输入,并输出给下一层,没有反馈。结点分为两类,即输入单元和计算单元,每一计算单元可有任意个输入,但只有一个输出(它可耦合到任意多个其它结点作为其输入)。通常前馈网络可分为不同的层,第i层的输入只与第i −1层输出相连,输入和输出结点与外界相连,而其它中间层则称为隐层。

  • 反馈型网络

所有结点都是计算单元,同时也可接受输入,并向外界输出。NN 的工作过程主要分为两个阶段:第一个阶段是学习期,此时各计算单元状态不变,各连线上的权值可通过学习来修改;第二阶段是工作期,此时各连接权固定,计算单元状态变化,以达到某种稳定状态。从作用效果看,前馈网络主要是函数映射,可用于模式识别和函数逼近。

反馈网络按对能量函数的极小点的利用来分类有两种:

第一类是能量函数的所有极小点都起作用,这一类主要用作各种联想存储器;

第二类只利用全局极小点,它主要用于求解最优化问题。

蠓虫分类问题与多层前馈网络

蠓虫分类问题

蠓虫分类问题可概括叙述如下:生物学家试图对两种蠓虫(Af 与Apf)进行鉴别,依据的资料是触角和翅膀的长度,已经测得了9 支Af 和6 支Apf 的数据如下:
Af: (1.24,1.27),(1.36,1.74),(1.38,1.64),(1.38,1.82),(1.38,1.90),(1.40,1.70),(1.48,1.82),(1.54,1.82),(1.56,2.08).
Apf: (1.14,1.82),(1.18,1.96),(1.20,1.86),(1.26,2.00),(1.28,2.00),(1.30,1.96).
现在的问题是:
(i)根据如上资料,如何制定一种方法,正确地区分两类蠓虫。
(ii)对触角和翼长分别为(1.24,1.80),(1.28,1.84)与(1.40,2.04)的3 个标本,用所得的方法加以识别。
(iii)设Af 是宝贵的传粉益虫,Apf 是某疾病的载体,是否应该修改分类方法。
如上的问题是有代表性的,它的特点是要求依据已知资料(9 支Af 的数据和6 支Apf 的数据)制定一种分类方法,类别是已经给定的(Af 或Apf)。今后,我们将9 支Af 及6 支Apf 的数据集合称之为学习样本。

多层前馈网络

为解决上 述问题,考虑一个其结构如下图所示的人工神经网络,

图中最下面单元,即由•所示的一层称为输入层,用以输入已知测量值。在我们的例子中,它只需包括两个单元,一个用以输入触角长度,一个用以输入翅膀长度。中间一层称为处理层或隐单元层,单元个数适当选取,对于它的选取方法,有一些文献进行了讨论,但通过试验来决定,或许是最好的途径。在我们的例子中,取三个就足够了。最上面一层称为输出层,在我们的例子中只包含二个单元,用以输出与每一组输入数据相对应的分类信息.任何一个中间层单元接受所有输入单元传来的信号,并把处理后的结果传向每一个输出单元,供输出层再次加工,同层的神经元彼此不相联接,输入与输出单元之间也没有直接联接。这样,除了神经元的形式定义外,我们又给出了网络结构。有些文献将这样的网络称为两层前传网络,称为两层的理由是,只有中间层及输出层的单元才对信号进行处理;输入层的单元对输入数据没有任何加工,故不计算在层数之内

下面利用上文所叙述的网络结构及方法,对蠓虫分类问题求解。编写 Matlab 程序如下:

clear
p1=[1.24,1.27;1.36,1.74;1.38,1.64;1.38,1.82;1.38,1.90;
1.40,1.70;1.48,1.82;1.54,1.82;1.56,2.08];
p2=[1.14,1.82;1.18,1.96;1.20,1.86;1.26,2.00
1.28,2.00;1.30,1.96];
p=[p1;p2]';
pr=minmax(p);
goal=[ones(1,9),zeros(1,6);zeros(1,9),ones(1,6)];
plot(p1(:,1),p1(:,2),'h',p2(:,1),p2(:,2),'o')
net=newff(pr,[3,2],{'logsig','logsig'});
net.trainParam.show = 10;
net.trainParam.lr = 0.05;
net.trainParam.goal = 1e-10;
net.trainParam.epochs = 50000;
net = train(net,p,goal);
x=[1.24 1.80;1.28 1.84;1.40 2.04]';
y0=sim(net,p)
y=sim(net,x)

BP神经网络的应用场景

  • 模式识别

  模式识别通常是指对表征事物或现象的各种形式的(数值的、文字的和逻辑关系的)信息进行处理和分析,以便确定他们属于哪种类别。

  • 函数逼近

  对于一些表达式过于复杂的函数,或者是难以表达的函数,我们可以利用神经网络来无限逼近他们,对他们进行模拟。

  • 预测

  先利用一些已知的数据对网络进行训练,然后再利用这个训练好的网络来对新来的数据进行预测。相比于传统的方法来说,神经网络提高了准确度,并且只需要较少的数据。

  • 数据压缩

  数字图像压缩实际上是以较少的比特数有损或者无损的来表示原来像素矩阵的一种图像处理技术,实际上就是减少图像数据中的时间冗余,空间冗余,频谱冗余等等作为目的,从而同过减少上述的一种或者多种冗余的信息而达到更加高效的存储与传输数据.图像的压缩系统其实无论采用什么样的具体的架构或者技术方法,基本的过程都是一致的,主要还是可以概述为编码,量化,解码这三个部分。从理论上讲,编解码问题其实就可以归结为映射与优化的问题,从神经网络的方面来看无非就是实现了从输入到输出的一个非线性的映射关系,并且衡量性能的标准可以从并行处理能力是否高效,容错率是否合适,以及是否具有鲁棒性.分析图像压缩的基本原理其实和上述的BP神经网络的原理一样。所以我们可以利用BP神经网络来解决图像压缩问题。


http://chatgpt.dhexx.cn/article/204i6kQ0.shtml

相关文章

数学建模--预测类模型

目录 一、中短期预测 1、灰色预测法 ①适用范围 ②模型实现 2、回归分析 ①适用范围 ②模型实现 3、时间序列分析 ①自适应滤波法 ②指数平滑法 ③移动平均法 4、微分方程 二、长期预测 1、神经网络预测 2、logistic模型 ①模型介绍 ②模型分析及代码 一、中短…

数学建模 -- 预测模型

参考清风老师的数学建模,用于复习!!! NO1.灰色预测 一.灰色系统 灰色预测是对既含有已知信息又含有不确定信息的系统进行预测,就是对在一定范围内变化的、与时间有关的灰色过程进行预测。 灰色预测对原始数据进行生成…

数学建模——评价模型

文章目录 一.模糊综合评价模型1.基础知识2.一级模糊综合评价3.二级模糊综合评价 二.灰色关联分析模型1.灰色关联分析原理2.灰色关联分析步骤 三. Topsis(理想解法)1.理想解法原理2.Topsis法步骤 四.线性加权综合评价模型(不是很推荐用&#x…

数学建模(一)

个人不仅仅是一个ctfer,数学也是很强的呀。hhhh下面记录一些简单的 数学建模用到的python基础 知识点一:复合数据类型相关 append:每次往列表尾部增加一个元素。 extend:列表尾部添加多个数据 insert(索引位置,插入值) #这里是…

数学建模-数学规划模型

数学规划模型 一、概述 1.什么是数学规划? 运筹学的一个分支,用来研究在给定条件下(即约束条件),如何按照某一衡量指标(目标函数)来寻求计划、管理工作中的最优方案。 即求目标函数在一定约束条件下的极值问题 2.数学…

【数学建模】模型的评价、模型的推广与改进

6.1模型的评价 6.1.1模型的稳定性分析(灵敏度分析) https://mp.weixin.qq.com/s/EZr2HeqzDLHQygk4nO0iiA 讲的比较好,分为决策模型、动态模型、概率模型、线性回归、时间预测 建模过程会对问题做一些假设,需要考虑所得结果对每一条…

数学建模 —— 评价模型

文章目录 前言一、层次分析法(AHP)1.介绍2.算法流程3.局限性 二、优劣解距离法(Topsis法)1.介绍2.算法流程3.模型拓展 —— 带权重的Topsis1.使用层次分析法来确定权重取值2.基于熵权法对Topsis模型的修正熵权法的计算步骤 三、灰…

数学建模之优化模型详解

全文共8090个字,码字总结不易,老铁们来个三连:点赞、关注、评论作者:[左手の明天] 原创不易,转载请联系作者并注明出处 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转…

数学建模--评价类模型

目录 一、主观评价 1、层次分析法(AHP) ①应用场景 ②步骤 ③模型实现 ④代码实现 ⑤优缺点评价 2、模糊综合评价法(FCE) ①应用场景 ②步骤 ③模型实现 3、灰色关联分析法(GRA) ①应用场景 …

数学建模常用模型

第一讲:层次分析法 建模比赛中最基础的模型,主要用于解决评价类问题(例如:选择哪种方案最好,哪位运用动员或者员工的表现更优秀)。 评价类问题主要依据权重(重要性权重)来解决&…

数学建模常用模型简介其他模型大全汇总

一、预测与预报 1、灰色预测模型(必掌握) 解决预测类型题目。由于属于灰箱模型,一般比赛期间 不优先 使用。 满足两个条件可用: ①数据样本点个数少, 6-15 个 ②数据呈现指数或曲线的形式 2、微分方程预测&#xff08…

数学建模竞赛常考三大模型及十大算法【预测模型、优化模型、评价模型】

学习网址:数学建模竞赛常考三大模型及十大算法 目 录 三大模型 1、预测模型 2、优化模型 3、评价模型 数学建模的十大常用算法 三大模型 1、预测模型 预测模型:神经网络预测、灰色预测、拟合插值预测(线性回归)、时间序列…

数学建模常见模型

数学建模中比较常见的几种模型: (一)、预测与预报 1、灰色预测模型(必须掌握) 满足两个条件可用: ①数据样本点个数少,6-15个 ②数据呈现指数或曲线的形式 例如:可以通过极值点和稳定点来预测…

【数学建模】常用基本模型总结

1. 线性规划(Linear Programming) 运筹学的一个重要分支——数学规划。线性规划是在一组线性约束条件的限制下,求一线性目标函数最大或最小的问题。概念:可行解、最优解、可行域。Matlab中求解线性规划的命令为如下,x返回决策向量…

数学建模常用的四大模型

目录 1. 评价模型 2. 优化模型 3. 分类模型 4. 预测模型 本文主要介绍数学建模的四大模型分类,分别是评价模型、优化模型、分类模型、预测模型。 关注公众号:数模乐园,回复“买”,获得更多数模教程 1. 评价模型 评价模型可以…

数学建模--30+种常用算法模型

全国大学生数学建模竞赛中,常见的算法模型有以下30种: 1.线性规划模型:用于寻找最优解的数学模型。 线性规划(Linear Programming,简称 LP)是一种运筹学方法,用于在一定的约束条件下&#xff…

数学建模竞赛常考四大模型总结【预测模型、分类模型、优化模型、评价模型】

目录 1. 预测模型1.1 神经网络预测1.2 灰色预测1.3 拟合、插值预测(线性回归)1.4 时间序列预测1.5 马尔科夫链预测1.6 微分方程预测1.7 Logistic 回归(逻辑回归)1.8 线性回归总结应用场景: 2. 分类模型2.1 贝叶斯分类2…

百大android开源代码汇总

第一部分 个性化控件(View) 主要介绍那些不错个性化的View,包括ListView、ActionBar、Menu、ViewPager、Gallery、GridView、ImageView、ProgressBar、TextView、ScrollView、TimeView、TipView、FlipView、ColorPickView、GraphView、UI Style等等。 、其他 一、Li…

[Construct 2] 使用9-patch图片制作按钮

背景 Construct 2是一款实现了不需要写代码就可以制作HTML 5小游戏的工具,有免费授权也有收费授权(当然收费授权是买不起啦,跑)。本文将介绍如何使用9-patch图片制作动态的按钮。 准备 制作之前需要准备好: 1. 按钮…

Ubuntu 22.04 上配置 LunarVim 浏览linux kernel代码

概述 微软的Visual Studio Code 无疑是目前最流行的代码IDE, 最丰富的插件,最容易上手,但缺点也是有的,比如还是有许多操作需要鼠标来完成,特别是使用laptop看代码,使用鼠标是很不方便的一件事,查看远程机器上的代码总没有ssh再去vim编辑来得方便. 之前使用基于vim的IDE exvi…