矩阵的迹的定义:一个 n×n 的矩阵 A 的迹是指 A 的主对角线上各元素的总和,记作 tr(A) 。即
tr(A)=n∑i=1aii
定理1:
tr(AB)=tr(BA)
证明:
tr(AB)=n∑i=1(AB)ii=n∑i=1m∑j=1AijBji=m∑j=1n∑i=1BjiAij=m∑j=1(BA)jj=tr(BA)
定理2:
tr(ABC)=tr(CAB)=tr(BCA)
证明:
把 AB 或者 BC 当作整体, 由定理 1 可以知道成立
定理3:
∂tr(AB)∂A=∂tr(BA)∂A=BT
其中 A 是 m×n 的矩阵, B 是 n×m 的矩阵
证明:
tr(AB)=tr⎛⎜
⎜
⎜
⎜
⎜⎝a11a12⋯a1na21a22⋯a2n⋮⋮⋱⋮am1am2⋯amn⎞⎟
⎟
⎟
⎟
⎟⎠⎛⎜
⎜
⎜
⎜
⎜⎝b11b12⋯b1mb21b22⋯b2m⋮⋮⋱⋮bn1bn2⋯bnm⎞⎟
⎟
⎟
⎟
⎟⎠
只考虑对角线上的元素, 那么有
tr(AB)=n∑i=1a1ibi1+n∑i=1a2ibi2+…+n∑i=1amibim=m∑i=1n∑j=1aijbji
∂tr(AB)∂aij=bji⇒∂tr(AB)∂A=BT
定理4:
∂tr(ATB)∂A=∂tr(BAT)∂A=B
证明:
证明步骤跟定理 3 一样, 很容易, 不再赘述。
定理5:
tr(A)=tr(AT)
证明:
略。
定理6:
如果 a∈R , 那么有 tr(a)=a
证明:
当作 1×1 的矩阵处理即可。
定理7:
∂tr(ABATC)∂A=CAB+CTABT
证明: 分步求导, 得到如下表达式
∂tr(ABATC)∂A=∂tr(ABATC)∂A+∂tr(ATCAB)∂A(分步求导,定理1)=(BATC)T+CAB(定理1、定理4)=CAB+CTABT
例子:
tr(A)=∑ni=1aiitr(ABC)=tr(BCA)=tr(CAB)tr(AB)=tr(BA)∂tr(AB)∂A=∂tr(BA)∂A=BTtr(A)=tr(AT)∂tr(ATBA)∂A=BA+BTA∂tr(AXBXCT)∂X=ATCXTBT+BTXTATC∂tr(ABAT)∂A=AB+ABT∂tr(AXBX)∂X=ATXTBT+BTXTAT∂tr(AXBXT)∂X=AXB+ATXBT∂tr(ATB)∂A=∂tr(BAT)∂A=B∂tr(ATXBT)∂X=∂tr(AXTB)∂X=AB
向量的L2范数求导
回归中最为基础的方法, 最小二乘法.
JLS(θ)=12∥A→x−→b∥2
向量的范数定义
→x=[x1,⋯,xn]T∥→x∥p=(∑mi=1|xi|p)1p,p<+∞
L2 范数具体为
∥→x∥2=(|x1|2+⋯+|xm|2)12=√→xT→x
矩阵求导
采用列向量形式定义的偏导算子称为列向量偏导算子,习惯称为梯度算子, n×1 列向量偏导算子即梯度算子记作 ∇x ,定义为
∇x=∂∂x=[∂∂x1,⋯,∂∂xm]T
如果 →x 是一个 n×1 的列向量,那么
∂yx∂x=yT∂(xTAx)∂x=(A+AT)x
通过以上准备, 我们下面进行求解
∴JLS(θ)=12∥Ax−→b∥2=12(Ax−b)T(Ax−b)=12(xTAT−bT)(Ax−b)=12(xTATAx−2bTAx+bTb)
需要注意的 b,x 都是列向量, 那么 bTAx 是个标量, 标量的转置等于自身, bTAx=xTATb
对 →x 求导得:
J′LS(θ)=ATAx−ATb=AT(Ax−b)
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 推荐几款开源且免费的 .NET MAUI 组件库
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· Trae初体验