矩阵函数
普通函数
f(x) = x + 2
要点:不要将F(x) 当成是 Fx
F是函数,或是多个函数,多个函数就可以写成矩阵的形式:
而X可能是向量,也可能是矩阵
F(X),就是每个函数,都要作用到每个X,每个X的各个元素,都要,若 fm*n ,那么输出也是m*n的矩阵
例如:
例如:
x = (x1,x2,x3)T
求导
求微分
(注意:矩阵微分,可以用矩阵求迹来表达)
(注意,这种方式应该是没有的,瞎搞)
只有一下两种方式
分母是行,分子是列(1)
分母是列,分子是行(2)
分母是单个函数,分子是矩阵
求导
求微分:
(注意:矩阵微分,可以用矩阵求迹来表达。为了写得更加好看一点)
分子是矩阵,分母也是矩阵
先将X转化为向量
也将F转化为向量
那么,可以利用(1)来求导
形状: pq x mn
求微分:
(注意,例如 df11(X) , 按照上面 f'(x) = ∂f(X)/∂Xmxn 的例子来算)
求导法则1
求导法则2
求导法则3
参考:矩阵求导公式的数学推导(矩阵求导——基础篇) - 知乎 (zhihu.com)
求导快捷式
这个有点意思
求到最后,整理一下,可得。结论:直接按【分母是行,分子是列】方式求
矩阵的迹
参考:矩阵求导公式的数学推导(矩阵求导——进阶篇) - 知乎 (zhihu.com)
(一)
(方阵才有迹)
(二)
(三)
(四)
,
(五)
微分法则1
微分法则2
微分法则3
最终,使用求矩阵求微分,可以更加直观的求导
例如:
F1x1 , Xmxn
tr()中,左边其实就是导数 ∂f(X) /∂XTmxn , 对X转置求导
d(fx) = tr( ∂f(X) /∂XT * dX )
先了解一个性质:
d(AXB) = Ad(X) B
Apxm , Bnxq, Xmxn , A、B为常数矩阵
由微分法则二得:d(AXB) = d(A)XB + Ad(X)B + AXd(B)
由于AB是常数矩阵,所以:dA = 0pxm , dB = 0nxq
证毕。
Xmxn 可以代入矩阵函数 ,
矩阵函数的结果是矩阵,例如:F(X) = XTX
普通函数,就例如:f(X) = x1*x1 + 2x2 + 3x3
使用矩阵微分求导
对于形如:f(X) = x1*x1 + 2x2 + 3x3
1. tr(f(X)) = f(X)
2. df(X) = tr(df(X)),因为 df(x) = a +b +c , tra(a+b+c) = a+b+c