原来推导过,但是好像没有推导清楚,看了别人博文,感觉其推导有误,重新推导一下(以MNIST手写数字图片数据尺寸为例),练练脑力!
1. Softmax回归计算公式
1)线性加权
Oj=∑i=1784Wij∗Xij=1,...,10
2)softmax计算概率
yj=exp(Oj)∑10k=1exp(Ok)j=1,...,10
3)交叉熵
L(y)=−∑j=110y^jlogyj
4)偏导数
∂L∂Wij=∂L∂Oj∂Oj∂Wij=∂L∂OjXi
∂L∂Oj=−∑k=110∂L∂yk∂yk∂Oj=−∑k=110y^k1yk∂yk∂Oj
∂yk∂Oj=exp(Ok)∂Ok∂Oj∑10m=1exp(Om)−exp(Ok)exp(Oj)[∑10m=1exp(Om)]2
∂yk∂Oj=yk∂Ok∂Oj∑10m=1exp(Om)−exp(Oj)∑10m=1exp(Om)=yk∂Ok∂Oj−ykyj
∂L∂Oj=∑k=110y^k∂Ok∂Oj−⟮∑k=110y^k⟯yj=y^j−yj
偏导数的矩阵表达形式为:
∂L∂W=(Y^−Y)TX
其中:
Y^ 的维度为 1×10
X 的维度为
∂L∂W 的维度为 10×784