Y = [ y(ij) ]
dY / dx = [ dy(ji) / dx ]
求导后,Y变转置了。
dy / dX = [ Dy/Dx(ij) ]
求导后,不需要转置。
//重要结论
y = U'XV = ΣΣu(i)x(ij)v(j)于是 dy/dX = [u(i)v(j)] = UV'
y = U'X'XU 则 dy/dX =2XUU'
y = (XU-V)'(XU-V) 则 dy/dX =d(U'X'XU - 2V'XU + V'V)/dX = 2XUU' - 2VU' + 0 = 2(XU-V)U'
y = f(x1, x2, ..., xn)
dy / dX = [ Dy / Dx(1), Dy / Dx(2), ..., Dy / Dx(n) ] <列向量>
求导后,还是列向量
- 行向量Y对列向量X求导:
1M 向量对 N1 向量求导为 N*M 矩阵
// 重要结论
dX <行向量> / dX <列向量> = I <单位阵>
d(AX) <列向量> / dX <行向量> = A <T>
- 列向量Y对行向量X求导:
转成上一种方式计算
M1 向量对 1N 向量求导为 M*N 矩阵
dY <列向量> / dX <行向量> = ( dY <行向量> / dX <列向量> ) <T>
d( UV ) / dX = ( dU / dX ) V + U ( dV / dX )
d( UV ) / dX = ( dU / dX ) V + ( dV / dX ) U
// 最后一项根据矩阵相乘规则
// 重要结论
d( X'A ) / dX = ( dX' / dX ) A + ( dA / dX ) X' = IA + 0X' = A
d( AX ) / dX' = ( d(X'A') / dX )' = ( A' ) ' = A
d( X'AX ) / dX = ( dX' / dX ) AX + ( d(AX)' / dX ) X = AX + A'X
- 矩阵Y对列向量X求导:
将Y对X的每一个分量求偏导,构成一个超向量。
注意该向量的每一个元素都是一个矩阵。
将X拆开分步计算,然后排在一起形成超矩阵