您的位置:首页 > 其它

矩阵求导方法&最小二乘最优解求解过程

2017-11-21 11:20 1371 查看
一、 矩阵求导方法

1. 对于映射f:ℜm∗n↦ℜ,即将m∗n的矩阵A映射为实数
20000
f(A),则函数f关于A的偏导为:

∇Af(A)=⎡⎣⎢⎢⎢⎢⎢∂f∂A11⋮∂f∂Am1⋯⋱⋯∂f∂A1n⋮∂f∂Amn⎤⎦⎥⎥⎥⎥⎥

2. tr trace operator

对于n∗n的方阵A,则Tr(A)为A矩阵的对角线元素之和,即:

tr(A)=∑i=1nAii

实数的trace等于实数本身,即tr(a)=a,a∈ℜ

3.使用tr对矩阵求偏导,公式如下:

∇Atr(AB)=BT∇ATf(A)=(∇Af(A))T∇Atr(ABATC)=CAB+CTABT

二、使用基于tr矩阵求导公式计算最小二乘的最优解

1. 最小二乘问题

最小二乘问题没有约束条件,目标函数是若干项的平方和,每一项都具有aTiX−bi的形式,,具体如下:

minimizef0(X)=∑i=1k(aTiX−bi)2

其中A∈ℜk×n,aTi是矩阵A的行向量,其中向量X∈ℜn为优化变量。设B=[b1,b2,…,bk]T,则:

∇Xf(X)=∇X(AX−B)T(AX−B)=∇X(XTAT−BT)(AX−B)=∇X(XTATAX−XTATB−BTAX−BTB)

因为括号中为实数,则可变换为:

∇Xf(X)=∇X(XTATAX−XTATB−BTAX−BTB)=∇X(tr(XTATAX)−2tr(BTAX))=∇Xtr(XTATAX)−2∇Xtr(BTAX)=∇Xtr(XTATAX)−2ATB

而∇Atr(ABATC)=CAB+CTABT,假设B=ATA,c=I得∇Xtr(XTATAX)=ATAX+ATAX=2ATAX,则:

∇Xf(X)=∇X(XTATAX−XTATB−BTAX−BTB)=∇X(tr(XTATAX)−2tr(BTAX))=∇Xtr(XTATAX)−2∇Xtr(BTAX)=∇Xtr(XTATAX)−2ATB=2ATAX−2ATB

目标函数(成本)为

minimizef0(X)

则使∇Xf(X)=0即可得最优解,则2ATAX−2ATB=0

得:ATAX=ATB

则:X=(ATA)−1ATB
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐