神经网络模型入门及蠓虫分类问题简单实战

  学习知识要实时简单回顾,我把学习的神经网络模型简单梳理一下,方便入门与复习。

神经网络模型

神经网络简介

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

人工神经元模型

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

  1. 一组连接(对应于生物神经元的突触),连接强度由各连接上的权值表示,权值为正表示激活,为负表示抑制。

  2. 一个求和单元,用于求取各输入信号的加权和(线性组合)

  3. 一个非线性激活函数,起非线性映射作用并将神经元输出幅度限制在一定范围内(一般限制在 1,0或 -1,1 之间
    此外还有一个阈值 θ k \theta_{k} θk
    以上作用可分别以数学式表达出来:
    u k = ∑ j = 1 p w i j x j , ν k = u k − θ k , y k = φ ( ν k ) u_k=\sum\limits_{j=1}^p w_{ij}x_j,\quad\nu_k=u_k-\theta_k,\quad y_k=\varphi(\nu_k) uk=j=1pwijxj,νk=ukθk,yk=φ(νk)
      式中 x 1 , x 2 , ⋯   , x p \text{}x_1,x_2,\cdots,x_p x1,x2,,xp为输入信号, w k 1 , w k 2 , ⋯   , w k p w_{k1},w_{k2},\cdots,w_{kp} wk1,wk2,,wkp为神经元之权值, u k u_{k} uk 为线性组合结果, θ t \theta_{t} θt 为阈值, φ ( ⋅ ) \varphi(\cdot) φ() 为激活函数, y k y_{k} yk 为神经元 k 的输出。
      若把输入的维数增加一维,则可把阈值 θ k \theta_{k} θk 包括进去。例如
    ν k = ∑ j = 0 p ν k j x j , y k = φ ( u k ) \nu_k=\sum\limits_{j=0}^p\nu_{kj}\mathbf x_j,y_k=\varphi\big(u_k\big) νk=j=0pνkjxj,yk=φ(uk)
      此处增加了一个新的连接,其输入为 x 0 = − 1 ( 或 + 1 ) x_0=-1(或+1) x0=1(+1) ,权值为 w k 0 = θ k ( 或 b k ) w_{_{k0}}=\theta_{_k}(或b_{_k}) wk0=θk(bk),如下图所示。
    在这里插入图片描述激活函数 φ (⋅)可以有以下几种:

  4. 阈值函数
    φ ( v ) = { 1 , v ≥ 0 0 , v < 0 \varphi(v)=\begin{cases}1,&v\geq0\\ 0,&v<0\end{cases} φ(v)={1,0,v0v<0
    即阶梯函数。这时相应的输出为
    y k = { 1 , v k ≥ 0 0 , v k < 0 y_k=\begin{cases}1,&v_k\geq0\\ 0,&v_k<0\end{cases} yk={1,0,vk0vk<0
    其中 ν k = ∑ j = 1 p ν k j x j − θ k \nu_{k}=\sum_{j=1}^{p}\nu_{k j}\mathbf{x}_{j}-\theta_{k} νk=j=1pνkjxjθk,常称此种神经元为 M − P模型。

  5. 分段线性函数
    φ ( v ) = { 1 , v ≥ 1 1 2 ( 1 + v ) , − 1 < v < 1 0 , v ≤ − 1 \varphi(v)=\begin{cases}1,&v\ge1\\\\ \dfrac12(1+v),&-1<v<1\\\\ 0,&v\le-1\end{cases} φ(v)= 1,21(1+v),0,v11<v<1v1
    它类似于一个放大系数为 1 的非线性放大器,当工作于线性区时它是一个线性组合器,放大系数趋于无穷大时变成一个阈值单元。

  6. sigmoid 函数
    最常用的函数形式为
    φ ( v ) = 1 1 + exp ⁡ ( − α v ) \varphi(v)=\dfrac{1}{1+\exp(-\alpha v)} φ(v)=1+exp(αv)1
    参数 α> 0可控制其斜率。另一种常用的是双曲正切函数.
    φ ( v ) = tanh ⁡ ( v 2 ) = 1 − exp ⁡ ( − v ) 1 + exp ⁡ ( − v ) \varphi(v)=\tanh\left(\dfrac{v}{2}\right)=\dfrac{1-\exp(-v)}{1+\exp(-v)} φ(v)=tanh(2v)=1+exp(v)1exp(v)
    Matlab 中的激活(传递)函数如下表所示:
    在这里插入图片描述
    在这里插入图片描述
      各个函数的定义及使用方法,可以参看 Matlab 的帮助(如在 Matlab 命令窗口运行help tansig,可以看到 tantig 的使用方法,及 tansig 的定义为 φ ( v ) = 2 1 + e − 2 v − 1 \varphi(v)=\frac{2}{1+e^{-2v}}-1 φ(v)=1+e2v21)

网络结构及工作方式

  除单元特性外,网络的拓扑结构也是 NN 的一个重要特性。从连接方式看 NN 主要有两种。
7. 前馈型网络
  各神经元接受前一层的输入,并输出给下一层,没有反馈。结点分为两类,即输入单元和计算单元,每一计算单元可有任意个输入,但只有一个输出(它可耦合到任意多个其它结点作为其输入)。通常前馈网络可分为不同的层,第 i 层的输入只与第 1−i 层输出相连,输入和输出结点与外界相连,而其它中间层则称为隐层。
8. 反馈型网络
  所有结点都是计算单元,同时也可接受输入,并向外界输出。
  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).
现在的问题是:

  1. 根据如上资料,如何制定一种方法,正确地区分两类蠓虫。
  2. 对触角和翼长分别为(1.24,1.80),(1.28,1.84)与(1.40,2.04)的 3 个标本,用所得
    到的方法加以识别。
  3. 设 Af 是宝贵的传粉益虫,Apf 是某疾病的载体,是否应该修改分类方法。如上的问题是有代表性的,它的特点是要求依据已知资料(9 支 Af 的数据和 6 支Apf 的数据)制定一种分类方法,类别是已经给定的(Af 或 Apf)。今后,我们将 9 支Af 及 6 支 Apf 的数据集合称之为学习样本。

求解

  为解决上述问题,考虑一个其结构如下图所示的人工神经网络 ,
在这里插入图片描述  激活函数由 φ ( v ) = 1 1 + exp ⁡ ( − α ν ) \varphi(v)=\dfrac{1}{1+\exp(-\alpha\nu)} φ(v)=1+exp(αν)1来决定。
  图中最下面单元,即由 • 所示的一层称为输入层,用以输入已知测量值。在我们的例子中,它只需包括两个单元,一个用以输入触角长度,一个用以输入翅膀长度。中间一层称为处理层或隐单元层,单元个数适当选取,对于它的选取方法,有一些文献进行了讨论,但通过试验来决定,或许是最好的途径。在我们的例子中,取三个就足够了。最上面一层称为输出层,在我们的例子中只包含二个单元,用以输出与每一组输入数据相对应的分类信息.任何一个中间层单元接受所有输入单元传来的信号,并把处理后的结果传向每一个输出单元,供输出层再次加工,同层的神经元彼此不相联接,输入与输出单元之间也没有直接联接。这样,除了神经元的形式定义外,我们又给出了网络结构。有些文献将这样的网络称为两层前传网络,称为两层的理由是,只有中间层及输出层的单元才对信号进行处理;输入层的单元对输入数据没有任何加工,故不计算在层数之内。
具体解法如下:

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)
编写不易,求个点赞!!!!!!!
“你是谁?”

“一个看帖子的人。”

“看帖子不点赞啊?”

“你点赞吗?”

“当然点了。”

“我也会点。”

“谁会把经验写在帖子里。”

“写在帖子里的那能叫经验贴?”

“上流!”
cheer!!!

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

第十四章 代理模式

文章目录 前言一、静态代理完整代码接口 ITeacherDao &#xff08;代理类和被代理类都需要实现这个接口&#xff09;被代理类 TeacherDao代理类 TeacherDaoProxy测试类 Client 二、JDK动态代理完整代码接口 ITeacher实现类TeacherDao代理工厂 ProxyFacyoryclient 测试 三、Cgli…

企业本地文档如何实现规范在线管理?

随着企业数字化生产方式的不断推进&#xff0c;网络办公和在线协作越来越普遍&#xff0c;企业内部可能出现大量的文件和文档&#xff0c;这些文档多存在于不同的设备和存储介质上&#xff0c;这给企业的信息管理带来了一定程度的困难。为了提高企业的知识管理效率&#xff0c;…

Go基础篇:类型系统

目录 前言✨一、什么是类型&#xff1f;二、类型特性1、静态类型检查2、类型推断 三、类型别名和自定义类型1、类型别名2、自定义类型3、类型别名和自定义类型的区别 四、类型底层结构1、类型元数据2、其他描述信息3、uncommontype 五、小结 前言✨ 前段时间忙着春招面试&#…

移动端事件

文章目录 移动端事件概述兼容性Touch触摸事件事件类型是否支持事件使用event对象touch对象阻止浏览器默认行为单指拖拽 Pointer指针事件事件类型是否支持事件使用event对象阻止浏览器默认行为单指拖拽 移动端事件 概述 移动端事件可分为&#xff1a; Touch触摸事件Pointer指…

【Bard】谷歌的人工智能工具—Bard初体验

文章目录 一、Bard介绍二、Bard体验1、加入Bard的候补名单2、登入Bard篇3、使用Bard篇&#xff08;1&#xff09;提供三种预选方式✨&#xff08;2&#xff09;创作生成各类文案&#xff08;3&#xff09;无生成图画能力&#xff08;4&#xff09;支持语音转文本输入✨&#xf…

实景区剧本杀系统开发

实景区剧本杀系统开发需要考虑以下几个方面&#xff1a; 场地选取&#xff1a;选择合适的场地&#xff0c;足够容纳游戏人数和游戏内容&#xff0c;同时需要考虑安全性和便利性。 剧情设定&#xff1a;根据场地和游戏类型设计剧情&#xff0c;包括人物角色、任务目标、…

SpringBoot日志文件

文章目录&#xff1a;一.日志的作用 二.日志的使用&#xff08;1&#xff09;系统默认日志输出 &#xff08;2&#xff09;自定义日志输出 三.日志级别的分类 &#xff08;1&#xff09;默认级别 &#xff08;2&#xff09;自定义级别 四.日志的持久化 &#xff08;1&…

又一次503 service unavailable处理

出现了&#xff1a;503 service unavailable 1&#xff09;查看系统日志 通过事件查看器&#xff0c;查看iis的日志,如下&#xff1a; 在错误信息中提示是 应用程序池提供服务的进程中出现错误。 其他警告也可通过日志目录查看 C:\inetpub\ 出现上述问题的可能是&#xf…

Node第三方包 【Request】

文章目录 &#x1f31f;前言&#x1f31f;Request&#x1f31f;安装与使用&#x1f31f;流&#xff08;stream&#xff09;操作&#x1f31f;Form表单&#x1f31f;application/x-www-form-urlencoded (URL编码的Form)&#x1f31f;multipart/form-data (Multipart Form 上传) …

http协议(一)/应用层

学习目标&#xff1a;⭐理解应用层的作用&#xff0c;理解协议&#xff0c;理解序列化和反序列化&#xff0c;并且实现网络版计算器⭐HTTP协议。⭐手写一个简单的http协议。 应用层 我们写的一个个解决实际问题, 满足我们日常需求的网络程序, 都是在应用层。 协议/序列化与反…

ChatGPT原理剖析

文章目录 ChatGPT常见误解1. 罐头回应2. 网络搜寻重组 ChatGPT真正做的事——文字接龙ChatGPT背后的关键技术——预训练&#xff08;Pre-train&#xff09;一般机器是怎样学习的&#xff1f; ChatGPT带来的研究问题1. 如何精准提出需求2. 如何更改错误3. 侦测AI生成的物件4. 不…

十、v-model的基本使用

一、v-model的基本使用 表单提交是开发中非常常见的功能&#xff0c;也是和用户交互的重要手段&#xff1a; 比如用户在登录、注册时需要提交账号密码&#xff1b;比如用户在检索、创建、更新信息时&#xff0c;需要提交一些数据&#xff1b; 这些都要求我们可以在代码逻辑中…

系统分析师《企业信息化战略与实施》高频知识点

企业信息化战略与实施---企业信息化与电子商务 业务流程重组&#xff08;Business Process Reengineering BPR&#xff09;是针对企业业务流程的基本问题进行反思&#xff0c;并对它进行彻底的重新设计&#xff0c;使业绩取得显著性提高。与目标管理、全面质量管理、战略管理等…

输入捕获实验

实验内容 用TIM5 的通道 1&#xff08;PA0&#xff09;来做输入捕获&#xff0c;捕获 PA0 上高电平的脉宽&#xff08;用 WK_UP 按键输入高电平&#xff09;&#xff0c;通过串口打印高电平脉宽时间。 输入捕获简介 输入捕获模式可以用来测量脉冲宽度或者测量频率。STM32 的…

快速搭建Electron+Vite3+Vue3+TypeScript5脚手架 (无需梯子,快速安装Electron)

一、介绍 &#x1f606; &#x1f601; &#x1f609; Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。 嵌入 Chromium 和 Node.js 到 二进制的 Electron 允许您保持一个 JavaScript 代码代码库并创建 在Windows上运行的跨平台应用 macOS和Linux——不需…

宝塔面板搭建自己的网站,并发布公网远程访问

文章目录 1. 环境安装2. 安装cpolar内网穿透3. 内网穿透4.固定http地址5. 配置二级子域名6.创建一个测试页面 宝塔面板简单几步搭建本地web站点&#xff0c;并做内网穿透&#xff0c;实现公网用户也可以正常远程访问&#xff0c;无需公网IP&#xff0c;无需设置路由器。 1. 环…

Volatile系列(一):Volatile测试案例一可见性

系列文章 Volatile测试案例一可见性 目录 前言 测试1 逻辑 代码 结果 测试2 逻辑 代码 结果 结论 原理探讨&#xff08;可见性&#xff09; 前言 多线程是 JAVA 并发编程的主要应用&#xff0c;并发环境能大幅提高应用性能&#xff0c;提高 CPU 使用率&#xff0c…

优雅的接口防刷处理方案

前言 本文为描述通过Interceptor以及Redis实现接口访问防刷Demo 这里会通过逐步找问题&#xff0c;逐步去完善的形式展示 原理 通过ip地址uri拼接用以作为访问者访问接口区分 通过在Interceptor中拦截请求&#xff0c;从Redis中统计用户访问接口次数从而达到接口防刷目的 …

不应使用Excel进行项目资源规划的 7 个原因

项目资源规划早期仅限于基本分配和调度。因此&#xff0c;企业使用自制工具或excel表来执行这一简单功能。然而&#xff0c;随着技术和业务流程的发展&#xff0c;资源规划变得复杂&#xff0c;并包括其他组成部分&#xff0c;如预测和容量规划&#xff0c;优化等。 由于传统…

掌握好这几款TikTok数据分析工具,让你轻松提高曝光率!

为什么别人在TikTok发的普普通通的视频却有那么高的流量、几天内疯狂涨粉&#xff0c;而自己想破脑袋装饰自己的视频&#xff0c;结果却不如人意。 其实原因很简单&#xff0c;TikTok不像国内的抖音只面向中华民族&#xff0c;而是覆盖了150多个国家和75种语言用户&#xff0c…
最新文章