神经网络公式推导

2023-05-16

1.规定

  • y i j y_{ij} yij为第 i i i层网络第 j j j个神经元的输出.
  • t i t_i ti为输出层第 i i i个输出.
  • n i n_i ni为第 i i i层网络的神经元数量.
  • 激活函数 σ ( x ) = S i g m o d ( x ) = 1 1 + e − x \sigma(x)=Sigmod(x)=\frac{1}{1+e^{-x}} σ(x)=Sigmod(x)=1+ex1,因此 ∂ σ ( x ) ∂ x = σ ( x ) [ 1 − σ ( x ) ] \frac{\partial \sigma(x)}{\partial x}=\sigma(x)[1-\sigma(x)] xσ(x)=σ(x)[1σ(x)].
  • E E E代表误差,即 E = ∑ i = 1 2 ( y 3 i − t i ) 2 E=\sum_{i=1}^{2}(y_{3i}-t_i)^{2} E=i=12(y3iti)2.
  • ∇ i j k \nabla_{ijk} ijk为第 i i i层网络第 j j j个神经元,它对上一层网络的第 k k k个神经元的 ω \omega ω的梯度值.

2.公式推导

现在以 11 → 21 → 31 11\rarr 21 \rarr 31 112131该过程为例,同时导出通项公式。

n e t i j net_{ij} netij

n e t 21 = ∑ i = 1 2 ( ω 21 i y 1 i ) net_{21}=\sum_{i=1}^{2}(\omega_{21i}y_{1i}) net21=i=12(ω21iy1i).

n e t 31 = ∑ i = 1 3 ( ω 31 i y 2 i ) net_{31}=\sum_{i=1}^{3}(\omega_{31i}y_{2i}) net31=i=13(ω31iy2i).

因此通项公式为: n e t i j = ∑ k = 1 n i − 1 ( ω i j k y i − 1 , k ) net_{ij}=\sum_{k=1}^{n_{i-1}}(\omega_{ijk}y_{i-1,k}) netij=k=1ni1(ωijkyi1,k), y i j = σ ( n e t i j ) y_{ij}=\sigma(net_{ij}) yij=σ(netij).

3. y i j y_{ij} yij

y 21 = σ ( n e t 21 ) y_{21}=\sigma(net_{21}) y21=σ(net21).

y 31 = σ ( n e t 31 ) y_{31}=\sigma(net_{31}) y31=σ(net31).

因此通项公式为: y i j = σ ( n e t i j ) y_{ij}=\sigma(net_{ij}) yij=σ(netij).

4.误差 E E E

E = ∑ i = 1 2 ( y 3 i − t i ) 2 E=\sum_{i=1}^{2}(y_{3i}-t_{i})^2 E=i=12(y3iti)2.

5. ∇ 3 i j \nabla_{3ij} 3ij(输出层各 ω \omega ω的梯度值)

∂ E ∂ n e t 31 = E ∂ y 31 ⋅ ∂ y 31 ∂ n e t 31 = 2 ( y 31 − t 1 ) y 31 ( 1 − y 31 ) \frac{\partial E}{\partial net_{31}}=\frac{E}{\partial y_{31}}\cdot \frac{\partial y_{31}}{\partial {net_{31}}}=2(y_{31}-t_1)y_{31}(1-y_{31}) net31E=y31Enet31y31=2(y31t1)y31(1y31).

∴ E ∂ n e t 3 i = 2 ( y 3 i − t i ) y 3 i ( 1 − y 3 i ) \therefore \frac{E}{\partial net_{3i}}=2(y_{3i}-t_i)y_{3i}(1-y_{3i}) net3iE=2(y3iti)y3i(1y3i).

∇ 311 = ∂ E ∂ n e t 31 ⋅ ∂ n e t 31 ∂ ω 311 = ∂ E ∂ n e t 31 ⋅ y 21 \nabla_{311}=\frac{\partial E}{\partial net_{31}} \cdot \frac{\partial net_{31}}{\partial \omega_{311}}=\frac{\partial E}{\partial net_{31}}\cdot y_{21} 311=net31Eω311net31=net31Ey21.

因此通项公式为: ∇ 3 i j = ∂ E ∂ n e t 3 i ⋅ ∂ n e t 3 i ∂ ω 3 i j = 2 ( y 3 i − t i ) y 3 i ( 1 − y 3 i ) y 2 i \nabla_{3ij}=\frac{\partial E}{\partial net_{3i}}\cdot \frac{\partial net_{3i}}{\partial \omega_{3ij}}=2(y_{3i}-t_{i})y_{3i}(1-y_{3i})y_{2i} 3ij=net3iEω3ijnet3i=2(y3iti)y3i(1y3i)y2i.

6. ∇ 2 i j \nabla_{2ij} 2ij(隐藏层各 ω \omega ω的梯度值)

∇ 211 = ∂ E ∂ ω 211 = ∂ E ∂ n e t 31 ⋅ ∂ n e t 31 ∂ y 21 ⋅ ∂ y 21 ∂ n e t 21 ⋅ ∂ n e t 21 ∂ ω 211 + ∂ E ∂ n e t 32 ⋅ ∂ n e t 32 ∂ y 21 ⋅ ∂ y 21 ∂ n e t 21 ⋅ ∂ n e t 21 ∂ ω 211 = [ ∑ i = 1 2 ( ∂ E ∂ n e t 3 i ⋅ ∂ n e t 3 i ∂ y 2 i ) ] ⋅ ∂ y 21 ∂ n e t 21 ⋅ ∂ n e t 21 ∂ ω 211 = [ ∑ i = 1 2 ( ∂ E ∂ n e t 3 i ⋅ ω 3 i 1 ) ] ⋅ y 21 ( 1 − y 21 ) ω 21 \nabla_{211}=\frac{\partial E}{\partial \omega_{211}}=\frac{\partial E}{\partial net_{31}}\cdot \frac{\partial net_{31}}{\partial y_{21}}\cdot \frac{\partial y_{21}}{\partial net_{21}}\cdot \frac{\partial{net_{21}}}{\partial \omega_{211}}\\+\frac{\partial E}{\partial net_{32}}\cdot \frac{\partial net_{32}}{\partial y_{21}}\cdot \frac{\partial y_{21}}{\partial net_{21}}\cdot \frac{\partial{net_{21}}}{\partial \omega_{211}}\\=[\sum_{i=1}^{2}(\frac{\partial E}{\partial net_{3i}}\cdot \frac{\partial net_{3i}}{\partial y_{2i}})]\cdot \frac{\partial y_{21}}{\partial net_{21}} \cdot \frac{\partial net_{21}}{\partial \omega_{211}}\\=[\sum_{i=1}^{2}(\frac{\partial E}{\partial net_{3i}}\cdot \omega_{3i1})]\cdot y_{21}(1-y_{21})\omega_{21} 211=ω211E=net31Ey21net31net21y21ω211net21+net32Ey21net32net21y21ω211net21=[i=12(net3iEy2inet3i)]net21y21ω211net21=[i=12(net3iEω3i1)]y21(1y21)ω21

因此通项公式为: ∇ 2 i j = ∂ E ∂ ω 2 i j = [ ∑ k = 1 2 ( ∂ E ∂ n e t 3 k ) ⋅ ω 3 k i ] ⋅ y 2 i ( 1 − 2 i ) ω 2 i j \nabla_{2ij}=\frac{\partial E}{\partial \omega_{2ij}}=[\sum_{k=1}^{2}(\frac{\partial E}{\partial net_{3k}})\cdot \omega_{3ki}]\cdot y_{2i}(1-2_i)\omega_{2ij} 2ij=ω2ijE=[k=12(net3kE)ω3ki]y2i(12i)ω2ij.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

神经网络公式推导 的相关文章

  • 卸载流氓透明APP,帮老人清理手机弹窗广告

    症状 xff1a 只要解锁手机 xff0c 就时不时弹出广告视频 xff0c 声音还开到最大 xff0c 无法关闭 尤其是 xff0c 每点开一个app xff0c 都会弹出广告视频 xff0c 接打电话也不例外 xff0c 导致无法正常通
  • 无法翻译此网页的解决办法 - GoogleTranslateIpCheck

    2022年9月末 xff0c 网页翻译工具谷歌翻译停止了中国区服务 GitHub 地址 xff1a https github com Ponderfly GoogleTranslateIpCheck 我用的是win10系统 xff0c 所以
  • 树莓派4B(aarch64,arm64)bullseye安装Qt5、GStreamer

    简介 本文描述树莓派 4B Raspberry Pi OS xff08 64位 xff09 完成启动后 xff0c 进行的第一个编译安装任务 xff1a Qt5 43 GStreamer xff0c 同时也是OpenCV编译安装前的准备工作
  • 51单片机:蜂鸣器

    小白向单片机笔记二 xff1a 蜂鸣器 前言一 蜂鸣器原理二 蜂鸣器原理图1 蜂鸣器代码2 代码解释1 为什么蜂鸣器响 xff0c 和LED6闪烁中有两个delay 函数 xff1f 2 为什么BEEP 61 1是关闭LED6 而i 61
  • 多目标跟踪算法中之图匹配——匈牙利算法和KM算法详解

    目录 一 匈牙利算法1 算法背景及思想2 最大匹配3 最优匹配 完美匹配4 增广路径5 代码实现6 匈牙利算法总结6 1 深度优先6 2 广度优先 二 KM算法思想及局限性代码示例1 定义KM方法类2 定义权重数值 xff0c 执行主函数
  • linux/mm/memory.c/int share_page(unsigned long address)

    share page tries to find a process that could share a page with the current one Address is the address of the wanted pag
  • sumo教程 Hello World

    sumo教程 Hello World 注意事项 确保安装的sumo版本至少为1 4 0 以便能够使用本教程中显示的所有功能 要求 sumo gui和netedit的版本大于等于1 4 0 介绍 这个教程服务于第一次使用sumo的人员 我们准
  • 教程——OSMWebWizard

    教程 OSMWebWizard 有关事宜 osm web wizard提供一种最简单的方式开始sumo 基于一种openstreetmap的摘抄 你可以配置随机流量需求和可视化一种场景在sumo gui 这个教程可以指导你一步步从选择地图类
  • sumo-绕圈行驶

    绕圈行驶 在本教程中 xff0c 我们将使用 netedit 构建一个简单的圆形网络 xff0c 并使用重路由器使车辆绕圈行驶 所有定义文件都可以在 lt SUMO HOME gt docs tutorial circles 目录中找到 本
  • 教程——sumolympics

    SUMOlympics 本教程针对不同的交通模式设置了比赛 xff08 集体 100 米冲刺 xff09 您将学习如何在 netedit 中创建特殊车道和 xff08 非常简单的 xff09 红绿灯 xff0c 使用不同的车辆类别来定义车辆
  • sumo 教程——高速公路

    本教程涵盖了在多车道高速公路上创建异构流以及修改和保存视图设置的非常基本的元素 修建高速公路 编辑几何点 打开 netedit 创建一个虚构的高速公路 我们一开始就保持这个非常简单 xff0c 并考虑一个没有入口或出口的路段 按e进入边创建
  • sumo教程——Manhattan

    介绍 本教程介绍了如何在 SUMO 中构建曼哈顿移动模型 在这个模型中 xff0c 固定数量的车辆在曼哈顿电网网络上随机行驶 所有文件也可以在 lt SUMO HOME gt docs tutorial manhattan 目录中找到 创建
  • 基于51单片机的双通道DHT11温湿度显示器(LCD1602)

    基于STC89C51单片机的双通道DHT11实时温湿度显示系统 xff08 LCD1602 xff09 前言题目要求实现的功能思路介绍 代码部分注意事项驱动部分LCD1602驱动按键驱动 主要模块初始化DHT11驱动中断服务程序显示函数主函
  • 【21-7-25笔记】SR(Segment Routing)详解

    第一卷 第一章 简介 1 11 SRv6 SRv6 将SR框架应用到IPv6数据平面 SRv6对IPv6的价值至关重要 xff0c 将极大地影响未来的IP基础设施部署 xff0c 无论是在数据中心 xff0c 大规模汇聚网络 xff0c 还
  • javascript编写学生,查询学校学生

    lt DOCTYPE html gt lt head gt lt head gt lt style gt table width 400px height 400px border 1px solid red div float left
  • A-Frame基础用法

    简介 x1f170 Frame 是一个用来构建虚拟现实 xff08 VR xff09 应用的网页开发框架 由WebVR的发起人Mozilla VR 团队所开发 xff0c 是当下用来开发WebVR内容主流技术方案 WebVR是一个完全开源的
  • 双色球小程序(关于对数组的使用)

    span class token keyword package span 双色球 span class token punctuation span span class token keyword import span java sp
  • IDEA: 遇到问题Error during artifact deployment. See server log for details,解决

    目录 一 jar 包有有些没能识别 xff0c tomcat没有配置好 xff01 二 这个一般代码错了 xff1a 三 使用更低一点版本的Tomcat 在学习JavaWeb的时候 xff0c 遇到一个著名的报错 xff1a Error d
  • VNC死机的处理方法

    目录 1 打开MobaXterm并登录 2 连续输入以下命令 xff1a 1 打开MobaXterm并登录 2 连续输入以下命令 xff1a conda deactivate 回车 vncserver kill 3 回车 vncserver
  • js异步操作

    一 异步操作概述 单线程模型 单线程模型指的是 xff0c JavaScript 只在一个线程上运行 也就是说 xff0c JavaScript 同时只能执行一个任务 xff0c 其他任务都必须在后面排队等待 程序里面所有的任务 xff0c

随机推荐

  • 【写sql时遇到的bug:org.xml.sax.SAXParseException; lineNumber: 1; columnNumber】

    报错 xff1a org xml sax SAXParseException lineNumber 1 columnNumbe 修改后的代码片段 在使用 64 Select 注解编写sql的时候 xff0c 原先写的 gt 61 和 lt
  • @Scheduled 定时任务不执行

    一 排查代码中添加的定时任务步骤是否正确 启动类上加 64 EnableScheduling 注解定时任务类上加 64 Component定时方法上加 64 Scheduled span class token annotation pun
  • (09)Linux命令【mkdir命令】

    09 Linux命令 mkdir命令 1 1 目录 1 目录 2 Linux系统介绍 3 Linux 应用领域 4 Linux命令 mkdir命令 5 结语 1 2 Linux系统介绍 Linux 全称GNU Linux 是一种免费使用和自
  • 银河麒麟高级服务器操作系统V10上基于Docker、x11vnc-desktop打造基于容器的在线IDEA arm64开发环境方案

    前言 在线IDE目前表现比较好的有云效 xff0c 其功能主要还是以Web方式提供在线vscode集成开发环境 xff0c 启动编辑环境初步推断为内部启动一个专用语言的虚拟机或者容器 xff0c clone源码 优点是客户端只需要一个浏览器
  • FreeRTOS--中断管理

    异常是指任何打断处理器正常执行 xff0c 并且迫使处理器进入一个由有特权的特殊指令执 行的事件 内部事件 xff08 像处理器指令运行产生的事件 xff09 引起的异常称为同步异常 异步异常主要是指由于外部异常源产生的异常 xff0c 是
  • Centos8无法联网问题解决!

    大家好我是菜鸟阿贵 xff0c 今天装了一个centos8发现不能联网 xff0c 甚至在终端都不能ping通 xff0c 在网上找了半天 xff0c 好多博主都是无脑复制别人的 xff0c 自己估计都没有研究过 xff0c 什么修改配置啊
  • linux/fs/namei.c/permission()

    permission is used to check for read write execute permissions on a file I don 39 t know if we should look at just the e
  • 三相无刷直流电机的控制设计(一)基本硬件电路设计

    文章目录 前言 一 三相无刷电机简要介绍 1 1电机原理 2 2使用电机 二 硬件设计 1 驱动芯片选择 2 电路设计 2 1电机桥电路 2 2光耦隔离电路 2 2霍尔采集电路 总结 前言 三相无刷直流电机的控制 从零开始 本系列文章抓药基
  • numpy.maximum()函数和numpy.minimum()函数的使用

    参考链接 numpy maximum 参考链接 numpy minimum 这两个函数的功能大体分别是在两个多维数组中逐元素求最大值和最小值 实验1 numpy maximum 函数 Python span class token numb
  • ImageDraw.rectangle(xy, fill=None, outline=None, width=1)使用举例

    参考链接 ImageDraw rectangle xy fill 61 None outline 61 None width 61 1 ImageDraw rectangle 函数使用说明 在指定的图片上绘制矩形 通过xy可以指定矩形的位置
  • 爬取IP(快代理)

    python 爬IP 分析网页获取IP储存IP全部代码 分析网页 这次分析的是快代理 xff0c 就是这个 想要获取这上面的IP需要分析网页结构 打开开发者工具进行分析 发现所有IP组数据在tr节点中 xff0c 每个具体数据在td节点中
  • Hadoop安装及hdfs操作

    Hadoop安装及hdfs操作如下 先安装完成了centos7 xff0c 首先要对宿主机 xff08 windows xff09 和虚拟机 xff08 centos7 xff09 的网络进行测试 xff0c 保证虚拟机可以与宿主机互通 在
  • Process finished with exit code -1066598274 (0xC06D007E)解决办法

    转载的 xff0c 直接上解决方法 xff1a 1066598274 0xC06D007E 解决matplotlib版本冲突问题 Desny的博客 CSDN博客 process finished with exit code 1066598
  • 硬核!30张图深入理解计算机应用层,附上例题,秒解子网规划,IP分址!

    网络层 已同步微信公众号 xff1a 乐享Coding xff0c 欢迎各位的关注 xff01 主要功能 xff1a 实现主机与主机之间的通信 xff0c 也叫点对点 xff08 end to end xff09 通信 思维导图附上 实现网
  • 银河麒麟用x11vnc实现远程桌面

    1 安装x11vnc 插入x11vnc的命令 sudo apt span class token operator span get update sudo apt span class token operator span get in
  • 阿里云设置密钥对登录服务器

    背景 SSH密钥对通过加密算法生成一对密钥 xff0c 默认采用RSA 2048位的加密方式 优势 密钥对安全强度远高于常规用户口令 xff0c 可以杜绝暴力破解威胁 注意事项 配置完一定要重启服务器 xff0c 重启后就自动无法通过密码连
  • 选择排序、冒泡排序---伪代码

    选择和冒泡排序 选择排序 xff08 排序时 xff0c 相对顺序不变 xff09 span class token keyword for span span class token punctuation span i span cla
  • C#播放音乐

    今天在调试机器的时候 xff0c 要对一个双通道的信号发生器两路输出进行自动校准 每通道校准的时间大概是六七分钟 xff0c 关键是回环中测试的GPIB卡和频谱仪只有一个 xff0c 所以在换路测试时要手工转接信号发生器的输出口才能完成双路
  • Stratis 管理分层存储

    Stratis管理分层存储 介绍配置yum源 xff0c 安装软件包配置本地yum源安装软件包 启动stratisd服务创建池构建文件系统挂载扩容创建快照文件系统删除删除池 介绍 通过Stratis xff0c 便捷使用精简配置 xff0c
  • 神经网络公式推导

    1 规定 y i j y ij y i j 为第