neural-network - 神经网络 - 锻炼
问题描述
我目前正在为自己学习神经网络的概念,并且正在使用来自 http://neuralnetworksanddeeplearning.com/chap1.html的非常好的 pdf
做的练习也很少,但是有一个练习我真的看不懂,至少一步
任务:有一种方法可以通过在上面的三层网络中添加一个额外的层来确定数字的按位表示。额外层将前一层的输出转换为二进制表示,如下图所示。为新的输出层找到一组权重和偏差。假设前 3 层神经元使得第三层(即旧输出层)中正确输出的激活度至少为 0.99,而错误输出的激活度小于 0.01。
我理解为什么矩阵必须具有这种形状,但我真的很难理解用户计算的步骤
0.99 + 3*0.01
4*0.01
我真的不明白这两个步骤。如果有人能帮助我理解这个计算,我会很高兴
非常感谢您的帮助
解决方案
前一层的输出是 10x1(x)。权重矩阵为 4x10。新的输出层将是 4x1。首先有两个假设:
x 仅在一行中为 1。xT = [1 0 0 0 0 0 0 0 0 0]。如果您将此向量与矩阵 W 相乘,您的输出将是 yT=[0 0 0 0],因为 x 中只有 1。乘以 W 后将是 W 的第 0 列的 1 倍,它们是零。
第二个假设是,如果 x 不再是 1,xT=[0.99 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01] 而不是一个 x 会怎样。如果您将 x 与 W 的第一行相乘,结果是 0.05(我相信这里是错字)。当 xT=[0.01 0.99 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01] 与第一行 W 相乘后,结果为 1.03。因为:
0.01*0 + 0.99*1 + 0.01*0 + 0.01*1 + 0.01*0 + 0.01*1 + 0.01*0 + 0.01*1 + 0.01*0 + 0.01*1 = 1.03
所以我相信有一个错字,因为作者可能假设 W 的第一行有 4 个,这是不正确的,因为有 5 个。因为如果第一行有 4 个,那么在 x 的第一行 0.99 的实际结果将是 0.04,在 x 的第二行 0.99 的实际结果将是 1.02。
推荐阅读
- ansible - Ansible unarchive 模块在访问分解的文件时失败,出现意外错误:[Errno 2] 没有这样的文件或目录:
- excel - ReDim 保留 3D VBA
- html - 带有 3 段的半圆和文本 CSS
- asp.net-core - .Net Core 5 API 不断返回相同的 IP
- linux - WSL2 Ubuntu 20.04 没有 Docker 容器的输出
- python - 我怎样才能在这个嘶嘶声问题中停止重叠?
- python - 使用 OPENPYXL 写入现有 xlsm 文件时出错-> xml.etree.ElementTree.ParseError: mismatched tag: line 42, column 8
- c# - 一旦物体旋转超过c#中的给定点,如何反射物体?
- java - 当我将这两个整数相除时,为什么会得到 0.0?
- wordpress - 有没有办法将在 Pods 插件中创建的自定义字段拉入 Elementor 帖子小部件