深入分析:矩阵梯度类实例研究

写在前面

本文主要用于围绕矩阵类求梯度等问题进行证明与分析,由于笔者的数理基础浅薄,下面的证明过程若存在错误,欢迎评论指正。

分子布局和分母布局是什么?

分子布局表示求导的结果维度以分子为主,如向量y关于标量x求导,结果的维度和y的维度是一致的,如果y为列向量,那么结果为列向量。
分母布局表示求到的结果维度以分母为主,如向量y关于标量x求导,y为行向量,那么结果为列向量;如标量y对矩阵X求导,按分母布局则求导结果的维度和X一致为m×n,安分子布局则求导结果的维度为n×m。分子布局和分母布局之间相差一个转置。

上述问题适合于标量对向量或矩阵,向量或矩阵对标量求导等情况。在向量对向量求导中,以列向量对列向量求导为例,m维列向量yn维列向量x求导,其可以表示为mn个标量对标量的求导,求导结果一般排列为一个矩阵。如果为分子布局,矩阵的第一个维度以分子为准,结果是m×n矩阵;如果为分母布局,矩阵的第一个维度以分母为准,分别如下所示:

按分子布局的向量对向量求导的结果矩阵,我们一般叫做雅克比 (Jacobian)矩阵。
按分母布局的向量对向量求导的结果矩阵,我们一般叫做梯度矩阵。

矩阵微分和梯度的关系是什么?

矩阵梯度的通用方法:先将矩阵写成微分形式,df=tr(GdX),然后得到f=GT
矩阵微分求解得到的算子可称为偏导算子,梯度矩阵通常是偏导算子的转置。

案例1

minU12R(YUV)F2+λ12USUF2+λ32UTF2.

在上式中,主要目的为更新U,其中V,Z,W,b固定,T=ψ(X)W+1bT=KA+1bT

首先对第一项求导,可以得到以下过程:

minU12R(YUVT)F2U=R(UVTY)V

1、将第一项展开可以得到如下形式:

12tr{RT(YUVT)T(R(YUCT))}=12tr{RT(YTVUT)(R(YUVT))}=12tr{RTYTRY2RTVUTRY+RTVUTRY+RTVUTRUVT}

2、上式中第一项为与U无关项,可以忽略,下面对后面2项分别求导即可:

2.1 下面使用了tr(AB)=tr(BA)的性质

12tr(2(RY)(RTVd(UT)))+12[tr((RUVT)RTVd(UT)+tr((RTVUTRT)d(U)VT]

2.2 下面使用了tr(A(BC))=tr((ABT)C)的性质

12tr(2((RY)R)(Vd(UT)))+12[tr(((RUVT)R)Vd(UT))+tr((RTVUT)d(U)VT)]

2.3 下面这项规定不一定通用,原文给出的R为指示矩阵,{rij}=1,11的哈达玛内积必然为1,因此有RR=R

12tr(2)(RV)Vd(UT)+12[tr((RUVT)Vd(UT))+tr(VT(RTVUT)d(U))]

2.4 将最后一项利用tr(A)=tr(AT)性质,那么2.3中式子可以更新为:

(RY)V+12×[(RUVT)V+(RUVT)V]

2.5 进一步简化可以得到其关于U的偏导为R(UVTY)V

posted @   信海  阅读(165)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界
点击右上角即可分享
微信分享提示