[机器学习] 矩阵求导最小二乘问题

原文请点击
关于最小二乘问题的求解,之前已有梯度下降法,还有比较快速的牛顿迭代。今天来介绍一种方法,是基于矩阵求导来计算的,它的计算方式更加简洁高效,不需要大量迭代,只需解一个正规方程组。

在开始之前,首先来认识一个概念和一些用到的定理。矩阵的迹定义如下:

一个 n*n 的矩阵的迹是指的主对角线上各元素的总和,记作 tr(A) t r ( A ) 。即

tr(A)=i=1naii t r ( A ) = ∑ i = 1 n a i i

定理1:
tr(AB)=tr(BA) t r ( A B ) = t r ( B A )

证明: tr(AB)=ni=1(AB)ii=ni=1mj=1AijBji=mj=1ni=1BjiAij=mj=1(BA)jj=tr(BA) t r ( A B ) = ∑ i = 1 n ( A B ) i i = ∑ i = 1 n ∑ j = 1 m A i j B j i = ∑ j = 1 m ∑ i = 1 n B j i A i j = ∑ j = 1 m ( B A ) j j = t r ( B A )

定理2:
tr(ABC)=tr(CAB)=tr(BCA) t r ( A B C ) = t r ( C A B ) = t r ( B C A )

证明:把AB或者BC当作整体,由定理1可知道成立

定理3:
tr(AB)A=tr(BA)A=BT ∂ t r ( A B ) A = ∂ t r ( B A ) A = B T , 其中A是 m*n的矩阵,B是n*m的矩阵。

证明:

tr(AB)=a11a21am1a12a22am2a1na2namn=b11b21bn1b12b22bb2b1mb2mbnm t r ( A B ) = [ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋱ ⋮ a m 1 a m 2 ⋯ a m n ] = [ b 11 b 12 ⋯ b 1 m b 21 b 22 ⋯ b 2 m ⋮ ⋮ ⋱ ⋮ b n 1 b b 2 ⋯ b n m ]

我们只考虑对角线上的元素,那么有

tr(AB)=ni=1a1ibi1+ni=1a2ibi2+...+ni=1amibim=mi=1nj=1aijbji t r ( A B ) = ∑ i = 1 n a 1 i b i 1 + ∑ i = 1 n a 2 i b i 2 + . . . + ∑ i = 1 n a m i b i m = ∑ i = 1 m ∑ j = 1 n a i j b j i

tr(AB)A=bji=BT ∂ t r ( A B ) ∂ A = b j i = B T

定理4:
tr(ATB)A=tr(BAT)A=B ∂ t r ( A T B ) ∂ A = ∂ t r ( B A T ) ∂ A = B

证明:
证明步骤和定理3一样, 很容易,不再赘述。

定理5:
tr(A)=tr(AT) t r ( A ) = t r ( A T )

定理6:
如果 a 是一个实数, 那么有 tr(a)=a t r ( a ) = a

定理7:
tr(ABATC)A=CAB+CTABT ∂ t r ( A B A T C ) ∂ A = C A B + C T A B T

证明:
分步骤求导:
tr(ABATC)A=tr(ABATC)A+tr(ATCAB)A ∂ t r ( A B A T C ) ∂ A = ∂ t r ( A B A T C ) ∂ A + ∂ t r ( A T C A B ) ∂ A

=(BATC)T+CAB = ( B A T C ) T + C A B

=CAB+CTABT = C A B + C T A B T

好了,有了上述7个定理,就可以来求最小二乘解了。设
这里写图片描述

那么进一步得到
这里写图片描述

接下来会涉及到矩阵求导,因为
这里写图片描述

那么进一步利用矩阵求导并利用上述定理,得到
这里写图片描述

我们知道在极值点处梯度值为零,即
这里写图片描述

上述得到的方程组叫做正规方程组,那么最终得到
这里写图片描述

这样最小二乘问题只需解一个线性方程组即可,不再需要像梯度下降那样迭代了。

既然说到了正规方程组,在介绍一种方程组,叫做超定方程组,它的定义为:把方程个数大于未知量个数的方

程组叫做超定方程组。通常来说,对于一个超定方程组来说,求最小二乘解只需要两边同时乘的转

置,然后得到正规方程组,然后解这个方程就得到了最小二乘解。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值