数学建模——人工神经网络模型

news2025/3/2 2:10:20

一、人工神经网络简介

1、神经网络起源与应用

   1943年心理学家McCulloch和数学家Pitts提出神经元生物数学模型(M-P模型),后来人工神经网络(Artifical Neural Network,ANN)是在生物神经网络(Biological Neural Network,BNN)基础上发展起来的,是对人脑的某种抽象、简化和模拟,是模拟人的智能的一种途径。

    神经元是神经网络的基本处理单元,一个简化的神经元是多输入、单输出的非线性元件,大量的神经元互联而成的神经网络(非线性元件),在人工智能和机器自学习、自组织、联想以及容错方面具有强大的能力。

2、人工神经元的工作原理

大脑的神经细胞由细胞体(soma)、一些树突(dendrite)和一根可以很长的轴突(Axon)组成,树突由细胞体的各个方向长出,本身可有分支,是用来接受信号的,轴突也有许多分支,通过分支末梢(terminal)和其它细胞的树突接触,形成突触,把产生的信号传送给其它细胞,如图(1)所示。

                                                 图(1) McCulloch-Pitts网络

大脑的神经元细胞只有两种状态:兴奋和压抑。神经细胞把所有从树突上突触进来的信号进行相加,如果全部信号超过某个阈值,就会激发细胞进入兴奋状态,就会有信号通过轴突发送信号给其它细胞。如果信号没有超过阈值,细胞就不会兴奋。

模拟大脑的人工神经网络是采用神经元组成的,神经元是人工神经网络的基本处理单元,它一般是一个多输入/多输出的非线性元件。神经元输出受到输入信号和内部其它因素的影响,所以人工神经元的建模中,常常还有一个额外的输入信号,称为偏差(bais),有时也称为阀值或限值。

人工神经网络模拟生物神经元的一阶特性,人工神经元有n个输入,即输入为X=(x1,x2,…,xn),连接权为W=(w1,w2,…,wn)T,神经元输出为采用向量的形式,即Net=X·W-θ.

3、神经网络结构

三层前馈神经网络的构造由三层排列,分别是输入层、隐含层(中间层)和输出层。每一层的神经元接受来自前一层神经元的输出作为输入,后面层对前面的层没有反馈。感知器网络和BP网络均属前馈网络。

                                                 三层前向神经网络结构

4、神经网络常用激励函数

激励函数,又称激活函数或传递函数,通常有三种

(1)阀值型

这里函数一般用在简单的分类模型中。

(2)线性型

f(x)=x        一般只用在输入神经元和输出神经元。

(3)S型

常用于隐含层,第一个为logsig()函数,第二个为logtan()函数。都是光滑函数,且第一个函数满足

二、常见神经网络理论

1、BP神经网络

BP(Back propagation)神经网络,又称前向反馈神经网络,主要是网络训练中,调整权值和阀值的训练算法时反向传播算法(即BP学习算法),也是神经网络的精华和完美的内容。     BP神经网络是一种有三层或三层以上的神经网络,概括输入层、中间层(隐含层)和输出层,上下层之间全连接,同层之间神经元无连接。

 当一对学习样本提供给输入层神经元后,神经元的激活值(该层神经元的输出值)从输入层经过各隐含层神经元向输出层传播,在输出层获得网络的输入响应,然后按照减少网络输出与实际样本样本之间误差的反向,从输出层反向经过隐含层回到输入层,从而逐步修正连接权值,这种算法称为“误差反向传播算法”,即BP算法。随着这种误差逆向传播修正的反复进行,网络对输入模式相应的正确率不断上升,BP算法的核心是“负梯度下降”理论,即BP神经网络的误差调整总是沿着误差下降最快的方向进行。

为了更好地理解BP神经网络,我们来看一个简单的例子:假设我们要训练一个网络来判断一张图片中的数字是1还是0。

首先,我们将每个像素点作为输入层的一个神经元,并将它们与隐藏层的每个神经元连接起来。隐藏层可以有多个神经元,影响网络的复杂度和表示能力。

然后,我们将隐藏层的每个神经元与输出层的两个神经元(代表数字1和0)相连。

在训练过程中,我们将输入一张图片,网络将对其进行前向传播,即通过网络计算出预测结果。然后,我们将预测结果与实际标签进行比较,并计算出损失函数(通常使用交叉熵损失)来衡量预测的错误程度。

接下来,反向传播算法将根据损失函数的梯度来调整每个连接的权重,以减小损失函数的值。这个过程会逐渐优化网络的预测能力,使得网络能够更准确地判断输入图片中的数字是1还是0。

通过不断迭代上述步骤,网络学习到的权重参数将使其在对新的图片进行数字分类时具有较好的准确性。

2、径向基网络 

 RBF(Radical Basis Function)神经网络。生物学中,中枢神经元的感受视野是指能影响某一神经元反应的视网膜或视野的区域。视网膜上的感受器(杆体细胞和锥体细胞)通过接受光并将它转换为神经输出信号,从而不同程度地激活众多神经节细胞、外膝状体细胞以及视觉皮层中的神经细胞。RBF神经网络是模拟视网膜的感受功能而产生的,其基本特征是:

(1)距离感受视野中心的越近,视神经元越兴奋,距离感受中心越远,视神经元响应越消极; (2)视神经元的激活区域呈现径向对称。

 综上所述,隐含层的视神经元的刺激函数常用高斯函数,即(i为隐含层第i神经元)

而输入和输出则采用线性激励函数。其中,x为输入样本,ci为感受视野中心,σ为宽度,exp( )为隐含层输出。

 RBF学习方法

  • 聚类方法  :  首选k聚类,即先用k—means方法确定网络数据的中心,然后根据各数据与中心的距离,确定隐含层神经元函数的宽度。
  • 梯度训练法  :根据能量函数使用负梯度训练原理自行调节各神经元的数据中心、宽度、权值。
  • 正交最小二乘(OLS)训练方法:依据能量的贡献,使各隐含层神经元的基函数之间趋于正交,从而使基函数之间没有信息冗余和性能相互嵌套。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1086857.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux信号 signal()编程

在Linux的进程间通信中可以用signal()函数进行信号与信息传递。 1.信号 信号的名字和编号: 每个信号都有一个名字和编号,这些名字都以“SIG”开头,例如“SIGIO ”、“SIGCHLD”等等。 信号定义在signal.h头文件中&am…

win10电脑插入耳机,右边耳机声音比左边小很多

最近使用笔记本看视频,发现插入耳机(插入式和头戴式)后,右边耳机声音比左边耳机声音小很多很多,几乎是一边很清晰,另一边什么都听不到。 将耳机插到别人电脑上测试耳机正常,那就是电脑的问题。试…

Sui主网升级至V1.11.2版本

Sui主网现已升级至V1.11.2版本,同时Sui协议升级至27版本。其他升级要点如下: 对于一些更高级别的交易,更改了一些gas费设置,使其gas费消耗的更快。这些更改不影响以前在网络上运行的任何交易,只是为了确保在开始大量使…

商城系统 前后端交互 报文安全性问题 方案设计

商城系统在功能定位上需要用户通过互联网访问并完成业务逻辑操作,因此,系统在交互安全性上做出额外设计,描述如下。 客户端(包含H5客户端以及Web端)与后台服务均通过Https协议进行交互; HTTPS (全称:Hyper…

弹性盒布局中的flex属性使用

先回顾一下弹性盒的使用,常用的属性有 flex-direction :元素主轴(即横向还是纵向), 可选值有:column 从上到下;column-reverse 从下到上;row 从左到右;row-reverse 从右到左; flex…

pytorch实现经典神经网络:VGG16模型之复现

可以参考https://blog.csdn.net/m0_37867091/article/details/107237671 分成 提取特征网络结构分类结构 模型代码: 此模型写了VGG的几种网络结构 一、官方权重 # official pretrain weights model_urls {vgg11: https://download.pytorch.org/models/vgg11-bb…

vue2.6 和 2.7对可选链的不同支持导致构建失败

有两个vue2项目,构建配置和依赖基本上都一样,但一个可以在 template 模板中使用可选链(?.),另一个使用就报错。 但是报错的那个项目,在另一个同事那又不报错。 已知 node14 之后就支持可选链了,我和同事用的是 node…

【TensorFlow2 之015】 在 TF 2.0 中实现 AlexNet

一、说明 在这篇文章中,我们将展示如何在 TensorFlow 2.0 中实现基本的卷积神经网络 \(AlexNet\)。AlexNet 架构由 Alex Krizhevsky 设计,并与 Ilya Sutskever 和 Geoffrey Hinton 一起发布。并获得Image Net2012竞赛中冠军。 教程概述: 理论…

Spring framework Day13:注解结合Java配置类

前言 前面我们管理 bean 都是在 xml 文件中去管理,本次我们将介绍如何在 Java 配置类中去管理 bean。 注解结合 Java 配置类是一种常见的 Spring 注入 Bean 的方式。通常情况下,开发人员会使用 Java Config 来定义应用程序的配置信息,而在 …

三维地下管线建模软件MagicPipe3D V3.1.3发布

经纬管网建模系统MagicPipe3D V3.1.3持续更新,内容如下: (1)新增管线流向配置,建模生成带流向箭头管道模型; (2)新增建模完成后可以直接载入3DTiles或obj模型功能; &a…

GoLang开发使用gin框架搭建web程序

目录 1.SDK安装 ​2.编辑器下载 3.编辑器准备 4.使用 4.1常见请求方式 1.SDK安装 保证装了Golang的sdk(官网下载windows.zip->解压,安装,配置bin的环境变量) 2.编辑器下载 Download GoLand: A Go IDE with extended support for JavaScript, Ty…

postman 密码rsa加密登录-1获取公钥

fiddler抓包看到:请求系统地址会自动跳转到sso接口,查看200状态的接口返回的html里存在一个encrypt的信息,咨询开发这个就是返回的公钥。 在postman的tests里对该返回进行处理,获取公钥并设为环境变量 //获取公钥 var pubKey re…

Rancher 使用指南

Rancher 使用指南 Rancher 是什么?Rancher 与 OpenShift / Kubesphere 主要区别对比RancherOpenShiftKubesphere 对比 Rancher 和 OpenShift Rancher 安装 Rancher 是什么? 企业级Kubernetes管理平台 Rancher 是供采用容器的团队使用的完整软件堆栈。它解决了管理多个Kuber…

RT-Thread 内核移植(学习)

内核移植 内核移植就是指将RT-Thread内核在不同的芯片架构、不同的板卡上运行起来,能够具备线程管理和调度,内存管理,线程间同步和通信、定时器管理等功能。 移植可分为CPU架构移植和BSP(Board support package,板级…

催交费通知单套打单纸设置说明

2.0系统打印催交费通知单设置尺寸操作展示如下,仅供参考。具体如下: 一、Win7系统 1.找到设备和打印机,选中对应打印机后点击上方打印服务器属性; 2.创建一个宽14cm,高14cm的表单; 二、win10系统 1.找到打印机,点管理,选择打印首选项;

Unity关键词语音识别

一、背景 最近使用unity开发语音交互内容的时候,遇到了这样的需求,就是需要使用语音关键字来唤醒应用程序,然后再和程序做交互,有点像智能音箱的意思。具体的技术方案方面,也找了一些第三方的服务,比如百度…

当涉及到API接口数据分析时,主要可以从以下几个方面展开

当涉及到API接口数据分析时,主要可以从以下几个方面展开: 请求分析:可以统计每个API接口的请求次数、请求成功率、失败率等基础指标。这些指标可以帮助你了解API接口的使用情况,比如哪个API接口被调用的次数最多,哪个…

2023年09月 C/C++(四级)真题解析#中国电子学会#全国青少年软件编程等级考试

C/C编程(1~8级)全部真题・点这里 Python编程(1~6级)全部真题・点这里 第1题:酒鬼 Santo刚刚与房东打赌赢得了一间在New Clondike 的大客厅。今天,他来到这个大客厅欣赏他的奖品。房东摆出了一行瓶子在酒吧上…

《向量数据库指南》——向量数据库与 ANN 算法库的区别

向量数据库与 ANN 算法库的区别 我们经常听到一个这样的错误观念——向量数据库只是在 ANN(approximate nearest neighbor,近似最近邻)算法上封装了一层。但这种说法大错特错。 向量数据库可以处理大规模数据,而 ANN 算法库只能处理小型的数据集 从本质上来看,以 Milvus 为…

Adobe Premiere Pro 和 After Effects 安装出错的解决路径

在有点年头的电脑上安装Premiere Pro 和 After Effects 遇到了前所未有的的麻烦,请了某宝上的小哥进行远程安装,两个软件倒是可以用了,但Win11系统无法正常关机,用了几天系统除了关机时会蓝屏几十秒,其他没有发现毛病&…