[Math] 矩阵求导规则

前言

机器学习许多算法推导的过程中都用到了矩阵求导的知识,这些知识多且杂,于是在网上找了一些资料研究了一下,现在将自己的总结分享给大家,希望帮助大家更好地理解机器学习的算法。

由于本人水平有限,文章里不正确的地方还望大家指出。

求导规则

行向量对列向量求导

yT=[y1,y2,...,yn] n 维行向量, x=[x1,x2,...,xn]T p 维列向量,则

yTx=y1x1...y1xp......ynx1...ynxp

矩阵对矩阵求导

Y=y11...ym1......y1n...ymn=yT1...yTm mn 矩阵, X=x11...xp1......x1q...xpq=[x1,...,xq] pq 矩阵,则

YX=yT1x1...yTmx1......yT1xq...yTmxq

例子

Y=[adbecf] , X=uvwxyz ,则有

YX=[a,b,c][u,v,w]T[d,e,f][u,v,w]T[a,b,c][x,y,z]T[d,e,f][x,y,z]T=auavawdudvdwbubvbweuevewcucvcwfufvfwaxayazdxdydzbxbybzexeyezcxcyczfxfyfz

总结

对于 Y 按行分,对于 X 按列分,依次求导。

求导结果按行分块为 yT1,...,YTm 依次对 X 求导。

求导结果按列分块为 Y 依次对 x1,...,xq 求导。

当矩阵为行向量,列向量,或者是元素时,以上的结论都成立。

你可能感兴趣的:(Math)