數學乾貨——最小二乘問題(線性空間求解以及矩陣求解)

最小二乘是一個最簡單的二次型凸優化問題,在不考慮約束問題時,方式式可寫爲:

y=min_{x}\left \| Ax-b \right \|_{2}^{2}

其解爲:x=A^{\dagger }b=(A^{\top }A)^{-1}Ab

x的求解方法可以有不同的理解,在這裏詳細講述線性代數法和矩陣求導求解法。

一、線性代數法:

假設A=(m×n)大小的一個矩陣,我們將其理解爲一個由n個m維的基向量長成的子空間。其解x=(n×1),爲n個基向量的組合係數。也就是Ax爲A長成的子空間上的一個向量。b=(m×1),是一個在空間上的任意向量。現在我們的目的就是在子空間上找到一個基向量的組合係數構成一個新向量,這個向量是整個A長成的平面中距離b的距離最短的向量。

首先我們知道垂直距離最短,那麼一切就好辦了。

將(Ax-b)理解爲兩個向量之間的距離向量,由於垂直距離最短,所以此凸優化問題的最優解即使(Ax-b)垂直於A長成的面。即(Ax-b)與A的每一個列向量垂直(相乘爲0),故有:

A^{\top }(Ax-b)=0

A^{\top }Ax=A^{\top }b

x=(A^{\top }A)^{-1}Ab

二、矩陣求導法:

首先此處需要理解基礎的矩陣求導(向量求導)相關知識,具體可以參見:

https://en.wikipedia.org/wiki/Matrix_calculus#Scalar-by-vector_identities

以及矩陣的跡的相關知識(在後面整理matrix computing相關的時候會系統講一下)

現在關於y對x求導可得:

\frac{\partial y}{\partial x}=\frac{\partial tr(Ax-b)^{\top }(Ax-b)}{\partial x}=\frac{\partial tr(x\mathbf{I}x^{\top }A^{\top })}{\partial x}-\frac{\partial tr(x^{\top }A^{\top }b)}{\partial x}-\frac{\partial tr(xb^{\top }A)}{\partial x}=2(A^{\top }Ab-A^{\top }b)

由於我們知道極值處梯度爲零,於是根據\frac{\partial y}{\partial x}=0求得x。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章