机器学习中对矩阵的迹(trace)求导的一些操作

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/asasasaababab/article/details/80262969

  机器学习中经常涉及到一些优化工作,优化时又涉及矩阵、向量的Frobenius 范数(Frobenius-Norm),这个F范数又可以转化成矩阵自乘求迹trace的形式,然后对trace求导。这块没学过矩阵论的话,有时候经常会感觉到困惑。所以这里找到一篇文章,有助于理解这块的内容。同时我也在一些地方留了笔记,更有助于理解。

Errata:
抱歉在F-Norm那块留的墨迹有错误,当时我想算一下Linear Regression求导,所以在那块写了一点墨迹,但是写的有误,这里重新写一下:
YY是n维列向量,θ\theta是n维列向量,XX是mxn维矩阵:

在这里插入图片描述
这里写图片描述
这里写图片描述
其实这里最重要的就是那个(4)和(5)式,搞定了这个,其实就明白所有trace的求导操作都是可以怎么弄了。只要把trace转化为求和式,就转化为我们熟悉的求导了。
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

其实总的来看,线性的情况下用的比较多的是(9)、(11)、
(17),这个搞定,很多线性情况都可以解决了。
这里再写一下:
(9):
tr(AXB)X=(BA)T=ATBT\frac{\partial{tr(AXB)}}{\partial{X}} = (BA)^{T}=A^TB^T
(11):
tr(AXTB)X=BA\frac{\partial{tr(AX^TB)}}{\partial{X}} = BA

展开阅读全文

没有更多推荐了,返回首页