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

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

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

机器学习中对矩阵的迹(trace)求导的一些操作_第1张图片
机器学习中对矩阵的迹(trace)求导的一些操作_第2张图片
机器学习中对矩阵的迹(trace)求导的一些操作_第3张图片
其实这里最重要的就是那个(4)和(5)式,搞定了这个,其实就明白所有trace的求导操作都是可以怎么弄了。只要把trace转化为求和式,就转化为我们熟悉的求导了。
机器学习中对矩阵的迹(trace)求导的一些操作_第4张图片
机器学习中对矩阵的迹(trace)求导的一些操作_第5张图片
机器学习中对矩阵的迹(trace)求导的一些操作_第6张图片
机器学习中对矩阵的迹(trace)求导的一些操作_第7张图片
机器学习中对矩阵的迹(trace)求导的一些操作_第8张图片

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

你可能感兴趣的:(学习笔记,机器学习,矩阵求导,Frobenius,Norm)