神经网络中交叉熵误差的梯度

机器算法验证 分类 神经网络
2022-03-31 04:55:17

具有单个逻辑单元隐藏层的神经网络用于多类分类问题:

h=σ(W(1)x+b(1))y^=softmax(W(2)h+b(2))

并使用交叉熵误差进行训练:

C(y,y^)=iyilogy^i

我需要找到关于第一层参数的误差梯度,即最接近输入的层。输出目标是 one-hot 表示。y

得到了这个附加信息: where

Cz=yy^
z=W(2)h+b(2)

1个回答

使用链式法则,

CW1=CzzhhaaW1,
其中
a=W1x+b1.

Cz=yy^,

zh=W2,

ha=σ(a)(1σ(a)),

aW1=x,
所以
CW1=(yy^)W2σ(a)(1σ(a))x=(yy^)W2h(1h)x.

有关详细信息,您可以查看模式识别和机器学习第 5.3 节。