您的位置:首页 > 其它

数学基础——矩阵向量求导

2016-11-16 01:45 519 查看

数学基础—矩阵向量求导

brycezou@163.com

1、基本求导法则

用青色表示矩阵,用紫红色表示向量,用黑色表示标量

y=⎛⎝⎜⎜⎜⎜y1y2⋮ym⎞⎠⎟⎟⎟⎟ x=⎛⎝⎜⎜⎜⎜x1x2⋮xn⎞⎠⎟⎟⎟⎟

1)向量 y 对标量 x 求导

∂y∂x=(∂y1∂x∂y2∂x⋯∂ym∂x)

2)标量 y 对向量 x 求导

∂y∂x=⎛⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜∂y∂x1∂y∂x2⋮∂y∂xn ⎞⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟

3)向量 y 对向量 x 求导

∂y∂x=⎛⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜∂y1∂x1∂y1∂x2⋮∂y1∂xn ∂y2∂x1∂y2∂x2⋮∂y2∂xn ⋯⋯⋱⋯ ∂ym∂x1∂ym∂x2⋮∂ym∂xn ⎞⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟

4)标量 y 对矩阵 X 求导

∂y∂X=⎛⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜∂y∂x11∂y∂x21⋮∂y∂xm1 ∂y∂x12∂y∂x22⋮∂y∂xm2 ⋯⋯⋱⋯ ∂y∂x1n∂y∂x2n⋮∂y∂xmn ⎞⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟

5)矩阵 Y 对标量 x 求导

∂Y∂x=⎛⎝⎜⎜⎜⎜⎜⎜⎜⎜∂y11∂x∂y12∂x⋮∂y1n∂x∂y21∂x∂y22∂x⋮∂y2n∂x⋯⋯⋱⋯∂ym1∂x∂ym2∂x⋮∂ymn∂x⎞⎠⎟⎟⎟⎟⎟⎟⎟⎟

直观上看,对标量求导,结果的形式都要进行转置;而标量对向量和矩阵求导则位置保持不变。

2、定义求导法

令矩阵

A=⎛⎝⎜⎜⎜⎜a11a21⋮am1a12a22⋮am2⋯⋯⋱⋯a1na2n⋮amn⎞⎠⎟⎟⎟⎟ y=Ax

因为

yi=(Ax)i=ai1x1+ai2x2+ai3x3+⋯+ainxn

所以

∂y∂x=⎛⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜∂y1∂x1∂y1∂x2⋮∂y1∂xn ∂y2∂x1∂y2∂x2⋮∂y2∂xn ⋯⋯⋱⋯ ∂ym∂x1∂ym∂x2⋮∂ym∂xn ⎞⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟=⎛⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜∂(Ax)1∂x1∂(Ax)1∂x2⋮∂(Ax)1∂xn ∂(Ax)2∂x1∂(Ax)2∂x2⋮∂(Ax)2∂xn ⋯⋯⋱⋯ ∂(Ax)m∂x1∂(Ax)m∂x2⋮∂(Ax)m∂xn ⎞⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟=⎛⎝⎜⎜⎜⎜a11a12⋮a1na21a22⋮a2n⋯⋯⋱⋯am1am2⋮amn⎞⎠⎟⎟⎟⎟=AT

3、维度分析法

令 A∈ℝm×n, u∈ℝn×1,x∈ℝp×1,且 A 与 x 无关,求 ∂Au∂x。

分析:因为 Au∈ℝm×1,所以 ∂Au∂x∈ℝp×m。又因为结果中必然包含 A∈ℝm×n,且与 ∂u∂x∈ℝp×n 有关,所以通过矩阵维度比较容易得出

∂Au∂x=∂u∂xAT

下面综合运用维度分析法练习求导

∂xTAy∂x,A∈ℝm×n,x∈ℝm×1,y∈ℝn×1

由非精确的乘积法则可得

[∂xTAy∂x]m×1=∂(xTA)y∂x=>[∂xTA∂x]m×n[y]n×1+[xTA]1×n[∂y∂x]m×n

通过等式两边的维度比较可得

[∂xTAy∂x]m×1=[A]m×n[y]n×1+[∂y∂x]m×n[ATx]n×1=Ay+∂y∂xATx

令 y=x 可得常用的公式

∂xTAx∂x=(A+AT) x

主要参考资料 http://xuehy.github.io/2014/04/18/2014-04-18-matrixcalc/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  机器学习