求矩阵不靠边元素之和_矩阵求导的Trace Trick

定义

对于标量函数对于矩阵的导数,可以记做:

首先对于标量函数对于标量的微分,可以写作:

然后推广到标量函数对于向量的微分,可以理解为每一个向量的分量对于标量微分的贡献之和。

观察上面的式子,向量微分的左边是函数对于向量的偏微分的转置,从而转化为了向量的内积形式。因此,推广到矩阵

:

上式中,

表示的是矩阵的trace,迹,含义是矩阵主对角线元素之和,之所以映入矩阵的trace是因为它能带来运算的简化,将矩阵运算转换为标量计算。和向量内积相似,上面的矩阵转置乘矩阵的形式是矩阵的内积,而矩阵的内积刚好就是矩阵的trace。证明如下:

对于大小相同的矩阵

,大小为m*n。所以
能得到矩阵
,因此矩阵
的trace为:

又考虑到

,代入得:

于是在等式右边得到了矩阵内积的定义,因此矩阵

的内积为
的trace。

因此,在实际运算中,我们只需要先展开函数的微分,然后在式子右边凑出

,最后将前面的余项转换为转置即为标量函数对矩阵的求导结果。

规则

首先给出矩阵微分的规则:

  • ,加减运算可以直接提出来
  • 矩阵乘法的微分,注意每个分量中的矩阵顺序不能改变,这是由矩阵乘法不可交换的性质决定的。
  • 转置可以提出来
  • trace同上

证明:

因此,

的伴随矩阵

为矩阵的Hadamard积,即逐元素积 -
这里是将作用于标量的函数拆出,通过对应矩阵生成函数矩阵,然后将其与矩阵的微分
乘起来。

接下来给出trace的一些性质:

  • 标量转换
  • 转置trace一样
  • 线性拆分
  • 满足交换律
  • ,这里三个矩阵
    的大小相同。证明略。

举例

1

,其中:

求微分:

由于

无关,所以一三项消去,得到:

由于

为标量,所以引入trace:

通过交换律:

由:

得到:

2

,其中:

求微分:

消去

,得到:

等式右边引入trace运算,同时通过trace的线性分解性质得到:

又由于trace中转置不变性,将第一项内的矩阵乘积转置后得到

项,为:

由于trace的线性,最后将两个项合并得到:

所以:

3 线性回归的最小二乘法求导

由定义得:

上式中,

为偏置量,可以看作向量,也可以看作标量,只需要将向量的每个分量赋同一个值。
是向量,表示数据的值,
是每个数据及其各个feature的矩阵,最后
是衡量每个数据点点
个feature对于最后结果
的贡献程度的向量。损失函数自然是使用最小二乘法优化,最后
的零点即为最优的
。这个损失函数是L2范数也就是向量的内积,因此可以看作为两个向量的转置与自身的乘积:

第一项首先将转置提出来

接着去除微分项中不含

的部分:

接着引入trace:

得到:

由于:

代入得:

所以

另上面的结果为0,得到:

化简得到:

如果不考虑偏置,

为:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值