24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2103  |  回复: 16

cyq101600

铁杆木虫 (初入文坛)

[交流] 【求助】矩阵导数【已解决】已有12人参与

请问有人研究过矩阵求导问题吗?现在遇到一个矩阵导数不知如何解决:
F(X)=X-1aaT X-1,其中X是矩阵,a是列向量,(-1)表示矩阵的逆,T为矩阵转置,要F(X)对矩阵X求导。(矩阵对矩阵求导)

看了一些资料,发现矩阵求导有不同的定义方式,有常规的定义为分别对矩阵的每个元素求导平铺生成超级矩阵,如http://muchong.com/bbs/viewthread.php?tid=1450822中所讨论的。然而,根据Magnus的讨论,这种常规的定义方法没有意义,主张把矩阵先按列排成一个列向量,然后类似Jacobian对向量进行求导(详见http://en.wikipedia.org/wiki/Talk:Matrix_calculus上的讨论)。不知如何是好!

[ Last edited by cyq101600 on 2010-6-12 at 16:29 ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   关注TA 给TA发消息 送TA红花 TA的回帖

小雨萌萌

铜虫 (文坛精英)

优秀版主



cyq101600(金币+1):谢谢参与
看你怎么定义矩阵的范数,求导数和范数有关系
2楼2010-06-08 08:48:51
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

cyq101600

铁杆木虫 (初入文坛)

引用回帖:
Originally posted by 小雨萌萌 at 2010-06-08 08:48:51:
看你怎么定义矩阵的范数,求导数和范数有关系

谢谢参与!我想求导是和范数定义有关,但通常矩阵并没有定义什么范数下。
一个最常见的例子,F(X)=aTXb,通常给出的结果是DF(X)=abT。
但是按照Magnus主张的向量求导,结果是DF(X)=kron(aT,bT),结果都不一样。尤其在矩阵函数求导中常规的算法链式法则和乘法法则都可能不成立了,也就是Magnus指出的问题,不知道该采用哪种算法
3楼2010-06-08 09:42:39
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

onesupeng

金虫 (职业作家)


cyq101600(金币+1):谢谢参与
小雨萌萌:呵呵,和本贴中给出的链接资源大部分重复了。谢谢分享 2010-06-08 10:02:59
转载一个,共同学习。很久前看得矩阵运算忘记光了,身边又没有书

1. 矩阵Y对标量x求导:

   相当于每个元素求导数后转置一下,注意M×N矩阵求导后变成N×M了

   Y = [y(ij)] --> dY/dx = [dy(ji)/dx]



2. 标量y对列向量X求导:

   注意与上面不同,这次括号内是求偏导,不转置,对N×1向量求导后还是N×1向量

   y = f(x1,x2,..,xn) --> dy/dX = (Dy/Dx1,Dy/Dx2,..,Dy/Dxn)'



3. 行向量Y'对列向量X求导:

   注意1×M向量对N×1向量求导后是N×M矩阵。

   将Y的每一列对X求偏导,将各列构成一个矩阵。

   重要结论:

   dX'/dX = I

   d(AX)'/dX = A'



4. 列向量Y对行向量X’求导:

   转化为行向量Y’对列向量X的导数,然后转置。

   注意M×1向量对1×N向量求导结果为M×N矩阵。

   dY/dX' = (dY'/dX)'



5. 向量积对列向量X求导运算法则:

   注意与标量求导有点不同。

   d(UV')/dX = (dU/dX)V' + U(dV'/dX)

   d(U'V)/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



6. 矩阵Y对列向量X求导:

   将Y对X的每一个分量求偏导,构成一个超向量。

   注意该向量的每一个元素都是一个矩阵。



7. 矩阵积对列向量求导法则:

   d(uV)/dX = (du/dX)V + u(dV/dX)

   d(UV)/dX = (dU/dX)V + U(dV/dX)

   重要结论:

   d(X'A)/dX = (dX'/dX)A + X'(dA/dX) = IA + X'0 = A



8. 标量y对矩阵X的导数:

   类似标量y对列向量X的导数,

   把y对每个X的元素求偏导,不用转置。

   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'



9. 矩阵Y对矩阵X的导数:

   将Y的每个元素对X求导,然后排在一起形成超级矩阵。
长期招收博士生,参见http://fsl-unsw.com
4楼2010-06-08 09:53:31
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

cyq101600

铁杆木虫 (初入文坛)

矩阵求导很多地方有可能会遇到,给大家提供一个链接,https://ccrma.stanford.edu/~dattorro/matrixcalc.pdf 这里面的附录(Table)总结了各种求导的公式。但是要提醒的是,这里的求导都是按照平铺矩阵块这种思路的,有可能遇到乘法法则不成立的问题,这也是本贴求助的问题。另一种就是Magnus的定义,向量算法。但是不知道该用哪种定义算法。
5楼2010-06-08 11:11:11
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

Pchief

铁杆木虫 (正式写手)

★ ★ ★
cyq101600(金币+1):谢谢参与
cyq101600(金币+1):make sense 2010-06-08 13:36:45
javeey(金币+2):谢谢参与交流 2010-06-08 19:28:28
楼主看看我这个如何?这个是从非线性泛函分析里拿来的东东

6楼2010-06-08 12:03:02
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

nzhth

至尊木虫 (文坛精英)


cyq101600(金币+1):谢谢参与
矩阵求导的定义得确定。
7楼2010-06-08 12:30:59
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

cyq101600

铁杆木虫 (初入文坛)

引用回帖:
Originally posted by Pchief at 2010-06-08 12:03:02:
楼主看看我这个如何?这个是从非线性泛函分析里拿来的东东


8楼2010-06-08 13:28:16
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

saladin983

铁杆木虫 (正式写手)

★ ★ ★
cyq101600(金币+1):谢谢参与
cyq101600(金币+1): 2010-06-08 17:12:20
javeey(金币+2):谢谢参与讨论 2010-06-08 19:38:20
引用回帖:
Originally posted by cyq101600 at 2010-06-08 03:42:39:

谢谢参与!我想求导是和范数定义有关,但通常矩阵并没有定义什么范数下。
一个最常见的例子,F(X)=aTXb,通常给出的结果是DF(X)=abT。
但是按照Magnus主张的向量求导,结果是DF(X)=kron(aT,bT),结果都不一样 ...

这个例子是个普通的单值函数,处理起来倒不是很麻烦。我算了个2×2的例子,Kronecker积构造的导数结果是一致的。不过我觉得用这个做定义就太不直观了,单纯用于计算可能还行。

Fréchet导数拿来定义看起来比较靠谱,不过里面的A是否要直接构造一个3维的矩阵呢?

还有个想法,就是如果关于矩阵的函数也是矩阵作为函数值的,直接用函数对矩阵元素的偏导数构造导数,类似于从向量值函数导出Jacobian矩阵。问题在于得到的可能就是个三维的矩阵,验证运算法则就是很费劲的事情了。

只能说这个导数太BT了。
9楼2010-06-08 16:15:38
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

cyq101600

铁杆木虫 (初入文坛)

引用回帖:
Originally posted by saladin983 at 2010-06-08 16:15:38:


这个例子是个普通的单值函数,处理起来倒不是很麻烦。我算了个2×2的例子,Kronecker积构造的导数结果是一致的。不过我觉得用这个做定义就太不直观了,单纯用于计算可能还行。

Fréchet导数拿来定义看起来 ...

是的,矩阵导数定义本身就存在很多争议,计算法则也不一。
10楼2010-06-08 17:14:20
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 cyq101600 的主题更新
信息提示
请填处理意见