在反向传播中使用 sigmoid 函数计算误差

2023-11-26

我有一个关于反向传播的简单问题。我正在看以下内容:

http://www4.rgu.ac.uk/files/chapter3%20-%20bp.pdf

在这篇论文中,它说计算神经元的误差为

Error = 输出(i) * (1 - 输出(i)) *(目标(i)-输出(i))

我把方程中我不明白的部分用粗体字标出。论文中称,输出(i) * (1 - 输出(i))由于 sigmoid 函数,需要术语 - 但我仍然不明白为什么这是必要的。

使用会有什么问题

Error = abs(Output(i) - Target(i))

?

误差函数是否与神经元激活/传递函数无关?


您需要这个的原因是您正在计算误差函数的导数关于神经元的输入。

当你通过链式法则求导数时,你需要乘以神经元激活函数的导数(恰好是一个 sigmoid)

这是重要的数学。

通过链式法则计算神经元输入误差的导数:

E = -(target - output)^2

dE/dinput = dE/doutput * doutput/dinput

计算 doutput/dinput:

output = sigmoid (input)

doutput/dinput = output * (1 - output)    (derivative of sigmoid function)

所以:

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

在反向传播中使用 sigmoid 函数计算误差 的相关文章

  • Keras模型拟合多项式

    我从四次多项式生成了一些数据 并希望在 Keras 中创建一个回归模型来拟合该多项式 问题是拟合后的预测似乎基本上是线性的 由于这是我第一次使用神经网络 我认为我犯了一个非常微不足道且愚蠢的错误 这是我的代码 model Sequentia
  • 张量流:简单 LSTM 网络的共享变量错误

    我正在尝试构建一个最简单的 LSTM 网络 只是想让它预测序列中的下一个值np input data import tensorflow as tf from tensorflow python ops import rnn cell im
  • Tensorflow Inception 多 GPU 训练损失未求和?

    我正在尝试检查多个 GPU 在一台机器上 的 Tensorflow 初始代码 我很困惑 因为据我所知 我们从不同的塔 又名 GPU 中得到了多次损失 但是loss评估的变量似乎只是最后一个塔的变量 而不是所有塔的损失之和 for step
  • Q-learning 和价值迭代有什么区别?

    Q learning 与强化学习中的值迭代有何不同 我知道 Q learning 是无模型的 训练样本是过渡 s a s r 但是 既然我们知道 Q 学习中的转换和每个转换的奖励 那么它与基于模型的学习不一样吗 在基于模型的学习中 我们知道
  • R中的神经网络包出现大错误

    我正在尝试弄清楚如何使神经网络包发挥作用 我用我创建的数据及其结果 大约 50 行数据和三列 第四列是我想要的结果 它是通过简单的数学执行 如对其他三列求和 得出的 进行了一些测试 到目前为止一切顺利 然后我决定将这个包应用到真实数据上 我
  • 如何用 Java 或 C# 等语言实现统一算法?

    我正在读我拿到的人工智能教科书 我已经解决了我的部分的最后一个作业问题 以您选择的任何语言实施第 69 页概述的统一算法 在第 69 页 您有以下统一算法的伪代码 function unify E1 E2 begin case both E
  • 如何修复:AttributeError:模块“neat”没有属性“config”

    我正在浏览使用发现的 NEAT 神经网络 API 玩 flappybird 的 AI 的指南 当我运行从 Github 下载的代码时 出现错误 Traceback most recent call last File test py lin
  • Keras 获取中间层的输出

    what my model looks like defining the model archictecture model Sequential 1st conv layer model add Conv2D 32 5 5 activa
  • 如何在 Caffe 的网络中出现多次损失?

    如果我在网络中定义多个损失层 从这些末端到网络的开头是否会发生多个反向传播 我的意思是 他们真的是这样工作的吗 假设我有这样的事情 Layer1 Layer2 Layer n Layer cls1 bottom layer n top cl
  • 支持向量机或人工神经网络进行文本处理? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 对于某些文本处理项目 我们需要在支持向量机和快速人工神经网络之间做出选择 它包括上下文拼写纠正 然后将文本标记为某些短语及其同义词 哪种方
  • 为神经网络打乱两个 numpy 数组

    我有两个 numpy 数组用于输入数据 X 和输出数据 y X np array 2 3 sample 1 x 16 4 dtype float sample 2 x y np array 1 0 sample 1 y 0 1 dtype
  • 在监督分类中,使用partial_fit() 的MLP 比使用fit() 的表现更差

    我正在使用的学习数据集是灰度图像flatten让每个像素代表一个单独的样本 第二张图像在训练后将被逐像素分类Multilayer perceptron MLP 前一个分类器 我遇到的问题是MLP当它一次接收到所有训练数据集时表现更好 fit
  • 神经网络不能立即重现?

    通过使用反向传播导数 弹性 的前馈神经网络中的随机权重初始化 误差图上的初始位置位于某个随机谷的顶部 该随机谷可能是也可能不是局部最小值 可以使用方法来克服局部最小值 但假设这些方法没有被使用 或者在给定的地形上不能很好地工作 那么神经网络
  • 神经网络中的时间序列提前预测(N点提前预测)大规模迭代训练

    N 90 使用神经网络进行提前预测 我试图预测提前 3 分钟 即提前 180 点 因为我将时间序列数据压缩为每 2 个点的平均值为 1 所以我必须预测 N 90 超前预测 我的时间序列数据以秒为单位给出 值在 30 90 之间 它们通常从
  • 如何手动计算分类交叉熵?

    当我手动计算二元交叉熵时 我应用 sigmoid 来获取概率 然后使用交叉熵公式并平均结果 logits tf constant 1 1 0 1 2 labels tf constant 0 0 1 1 1 probs tf nn sigm
  • 多个对象以某种方式相互干扰[原始版本]

    我有一个神经网络 NN 当应用于单个数据集时 它可以完美地工作 但是 如果我想在一组数据上运行神经网络 然后创建一个新的神经网络实例以在不同的数据集 甚至再次同一组数据 上运行 那么新实例将产生完全错误的预测 例如 对 XOR 模式进行训练
  • Mobilenet 与 SSD [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案
  • Keras model.summary() 结果 - 了解参数数量

    我有一个简单的神经网络模型 用于使用 Keras Theano 后端 从用 python 编写的 28x28px 图像中检测手写数字 model0 Sequential number of epochs to train for nb ep
  • 如何将体积补丁存储到 HDF5 中?

    我有一个尺寸的体积数据256x128x256 由于内存有限 我无法将整个数据直接输入到 CAFFE 因此 我会随机选择n sample补丁50x50x50从体积数据中提取并将其存储到 HDF5 中 我成功地从原始数据及其标签中随机提取了补丁
  • 如何防止我的程序陷入局部最大值(前馈人工神经网络和遗传算法)

    我正在开发一个前馈人工神经网络 ffann 它将以简单计算的形式获取输入并返回结果 充当袖珍计算器 结果不会很准确 人工网络使用遗传算法对权重进行训练 目前我的程序陷入局部最大值 正确答案为 5 6 误差范围为 1 30 正确答案 10 误

随机推荐

  • 使用 Fluent nHibernate 和 Ninject 实现多租户。每个租户一个数据库

    我正在构建一个多租户 Web 应用程序 出于安全考虑 我们需要为每个租户拥有一个数据库实例 所以我有一个用于身份验证的 MainDB 和许多用于应用程序数据的 ClientDB 我正在使用 Asp net MVC 与 Ninject 和 F
  • 使用 PDFBox 添加页码

    如何向使用 PDFBox 生成的文档中的页面添加页码 谁能告诉我如何在合并不同的 PDF 后向文档添加页码 我正在使用 Java 中的 PDFBox 库 这是我的代码 它运行良好 但我需要添加页码 PDFMergerUtility ut n
  • iOS StoreKit - 何时调用 - (void)restoreCompletedTransactions?

    我的应用程序中有很多一次性购买的 IAP 用户可以购买它们 我的问题是 我正在与 Flurry 集成来跟踪实际购买情况 而不是仅仅恢复购买情况 但我的SKPaymentTransaction s transactionState总是回来作为
  • AttributeError:“列表”对象没有属性“点击” - Selenium Webdriver

    我正在尝试使用 python 在 Selenium webdriver 中使用 click 命令 但我收到以下错误 有人能帮我吗 Traceback most recent call last File C Users vikram wor
  • 在android中创建自定义工具栏

    我正在尝试在 android 中创建一个自定义扩展工具栏 并在工具栏中编辑文本 我想要实现的布局看起来像这样 我编写的实现代码是这样的
  • 无法获取当前线程的事务同步会话

    我在从 xml 转换为 Java Config 的 Spring4 Hibernate4 项目中遇到以下异常 org hibernate HibernateException Could not obtain transaction syn
  • threading.local() 是在 Google AppEngine 中存储单个请求的变量的安全方法吗?

    我有一个 google appengine 应用程序 我只想为该请求设置一个全局变量 我可以这样做吗 在request vars py中 request vars py global vars threading local 在另一个 py
  • 在 Fortran 中打开二进制文件:状态、表单、访问

    我使用 Fortran 已有多年 但文件 I O 对我来说仍然很模糊 我的理解status form access recl是有限的 因为我在研究生院需要某些用例 我知道 Fortran 二进制文件在文件顶部有描述文件大小的额外信息 但这对
  • 无法使用response.sendRedirect进行重定向

    我在 google 上搜索了好几个小时 了解如何在 jsp 或 servlet 中进行重定向 然而 当我尝试应用它时 它不起作用 我在jsp页面内的代码 我从调试中知道 regexp 有效 并且如果有任何时候 articleId 不是数字
  • Android 布局参数仅更改宽度和高度

    我知道如何使用设置视图的宽度和高度LayoutParams通过执行以下操作 android view ViewGroup LayoutParams params button getLayoutParams params width hei
  • 可以运行的最大 Swing 工作线程数是多少

    可以运行的 Swing Worker 线程数是否有上限 或者是内存支持的上限 这也可以在某处配置吗 A SwingWorker本身不是线程 而是将在线程中执行的任务 通常 您会使用ExecutorService执行实例SwingWorker
  • C# 将一个列表拆分为多个列表

    我有一个发送到队列的字符串列表 我需要拆分列表 以便最终得到一个列表列表 其中每个列表包含最大 用户定义 数量的字符串 例如 如果我有一个包含以下 A B C D E F G H I 的列表 并且列表的最大大小为 4 我希望最终得到一个列表
  • 如何在Windows上安装tesserocr?

    我下载了 tesseract OCR 的可执行文件并安装了它 另一方面 我还从以下位置下载了 leptonica 的 zip 文件 http www leptonica com download html 它包括两个目录 即lib and
  • 在Python中应用时变过滤器

    我正在尝试使用 Python 将具有时变截止频率的带通滤波器应用于信号 我当前使用的例程将信号划分为等长的时间段 然后对于每个段 我应用具有特定时间参数的滤波器 然后将信号合并在一起 这些参数基于预先存在的估计 我似乎遇到的问题是 应用过滤
  • MySQL:连续月份的记录计数

    我已经四处寻找这个 但所有类似的问题和答案都不同 无法工作 我有一个包含以下字段的表 人 事 purdate 当一个人购买每一件新东西时 就会输入一个新记录 我想计算一个人连续几个月购买了任何东西 thing01 或 thing02 没关系
  • 在 R 中复制矩阵的行

    假设我有一个矩阵m和一个正整数向量v 我想做的是得到一个新的矩阵m new和每一行m say m i 被复制v i 次在m new 例如 m matrix 1 6 nrow 3 1 2 1 1 4 2 2 5 3 3 6 v c 3 1 2
  • 为什么 GCC 不在编译时评估 constexpr?

    举个例子 class something public static constexpr int seconds int hour int min int sec return hour 3600 min 60 sec then print
  • JFreeChart - 将图表线的 SeriesStroke 从实线更改为单线虚线

    此处接受的答案 JFreechart Java 如何绘制部分虚线和部分实线的线 帮助我开始改变图表上的系列划线 在单步执行我的代码并观察更改后 我发现我的系列笔画实际上在应该的时候 在某个日期 dashedAfter 之后 更改为 dash
  • 陷入 Azure OAuth2 令牌请求中的两个错误之间

    我正在为 OWIN 和 Azure Active Directory 实现 OAuth2 提供程序 FWIW 目前 OpenId Connect 选项不符合这项工作的要求 我获得一个身份验证代码 并使用 auth code 状态返回到我的回
  • 在反向传播中使用 sigmoid 函数计算误差

    我有一个关于反向传播的简单问题 我正在看以下内容 http www4 rgu ac uk files chapter3 20 20bp pdf 在这篇论文中 它说计算神经元的误差为 Error 输出 i 1 输出 i 目标 i 输出 i 我