当前位置: 首页 > 知识库问答 >
问题:

权重,如何以矩阵形式书写?

孙永思
2023-03-14

在具有sigmoid激活函数的神经网络的反向传播中,

权重更新规则由以下公式给出:

NewWeight = OldWeight - alpha * D * A

其中alpha是学习速率,A是前一层的激活,

D = (Y - Y')Y'(1-Y') ;D = Error Minimization, delta

其中,Y=给定值,Y'由输出层在神经网络中计算

在我的例子中,Y是4x1=[0.3,0.2,0.4,0.1],Y的一个实例是4x1=[0.2,0.1,0.1,0.2]

如何计算D=(Y-Y’’Y’(1-Y’)

(Y-Y’)=4x1和Y’=4x1,和1

还是元素乘法?

共有1个答案

乌甫
2023-03-14

这确实是元素乘法。您需要将每个输出误差(Y-Y’)乘以相应输出(w.r.t.权重)的导数,即sigmoid激活的Y’(1-Y’)。可以将其视为一个“纠正的错误信号”。所以,D*A是一个向量外积,它将给出一个与权重大小相同的矩阵。

 类似资料:
  • 我正在尝试使用Keras中的全连接层架构进行二分类,在Keras中称为密集类。 这是我创建的神经网络架构的设计: 因此,我有一个170002000的输入矩阵,其中17K个样本具有2k个特征。 我只保留了一个包含32个单位或神经元的隐藏层。 我的输出层是一个带有乙状结肠激活函数的单神经元。 现在,当我尝试检查第一个隐藏层的权重时,我希望它的大小是(2000,32),其中每行代表每个输入,每列代表该层

  • 我一直试图得到一个条形图,每个条形图上都有值标签。我找遍了,但还是找不到。我的df如下所示。 到目前为止,我的代码是

  • 问题内容: 如何以矩阵框格式打印出简单的int [] [],就像我们在其中手写矩阵的格式那样。简单的循环运行显然无效。如果有帮助,我正在尝试在linux ssh终端中编译此代码。 问题答案: 产生:

  • 着色器语言中通过关键字mat2、mat3、mat4分别声明一个2x2矩阵、3x3矩阵、4x4矩阵,通过内置函数mat2()、mat3()、mat4()分别创建一个2x2矩阵、3x3矩阵、4x4矩阵。 关键字 数据类型 mat2 2x2矩阵,4个元素 mat3 3x3矩阵,9个元素 mat4 4x4矩阵,16个元素 声明变量 关键子mat4声明一个4x4矩阵 mat4 matrix4; 构造函数赋

  • 我正在处理三维(x,y,time)NetCDF文件,其中包含一年中每小时的PM10浓度估计值。我的目标是提取几个坐标的每小时估计值——所以这将是365天*24小时=8760个估计值/年/坐标——然后平均到每日(365)估计值。 我的脚本(见下文)在2013年运行良好,但2012年的输出有很多NAs。我注意到的区别是2012年的lon/lat文件以矩阵形式存储。。。 对于2013年的文件,lon是“