超定方程組最優解(最小二乘解)推導

##1、超定方程組## 超定方程組即爲有效方程個數大於未知數個數的方程組。(這裏只討論多元一次的狀況) 超定方程組能夠寫成矩陣的形式: \begin{equation} \begin{split} Ax=b \end{split} \end{equation} 其中$A$爲$m\times n$的矩陣,其與$b$組成的增廣矩陣$[A|b]$的秩大於$n$。$x$爲$n$維列向量未知數。 ##2、超定方程組的最小二乘解## 超定方程組是無解的,可是咱們能夠求得其最小二乘解,就是將等式左右兩端乘上$A$的轉置。 \begin{equation} \begin{split} A^TAx=A^Tb \end{split} \end{equation} 該方程有增廣矩陣$[A^TA|A^Tb]$的秩等於$n$,即該方程的未知數的個數等於有效方程的個數,因此該方程有惟一解且爲原方程的最小二乘解。 <font color='red'>平時記住結論直接用就好</font> ##3、推導過程## (記錄,你們不要看:其實小生也是隻知道結論不知道結論是怎麼來的,不過有一天看斯坦福大學的機器學習公開課的第二節,看到了推導過程。) ###1.前置結論###機器學習

  1. $trAB = trBA$
  2. $trABC = trBCA = trCAB$
  3. $\nabla_AtrAB = B^T$
  4. $trA = trA^T$
  5. $tra = a$ 6)$\nabla_AtrABA^TC = CAB + C^TAB^T$ tr表明矩陣的跡,大寫字母爲矩陣小寫字母表示實數,$\nabla表示求導$。

###2.公式推導### 做差 \begin{equation} \begin{split} Ax-b = \left[ \begin{array}{c} a_1^Tx - b_1 \ \vdots \ a_m^T - b_m \end{array} \right ] \end{split} \end{equation}學習

構建最小二乘 \begin{equation} \begin{split} \frac{1}{2}(Ax-b)^T(Ax-b) = \frac{1}{2}\sum_{i=1}^m(a_i^Tx-b_i)^2 \end{split} \end{equation}it

對$x$求導 \begin{equation} \begin{split} \nabla_x \frac{1}{2}(Ax-b)^T(Ax-b) = \nabla_x tr(x^TA^TAx-x^TA^Tb-b^TAx+b^Tb) \end{split} \end{equation}io

利用前置結論2)4)5) \begin{equation} \begin{split} \nabla_x \frac{1}{2}(Ax-b)^T(Ax-b) = \nabla_xtr[xx^TA^TA-\nabla_xb^TAx-\nabla_xb^TAx] \end{split} \end{equation}class

其中利用前置結論6) 注:大括號下的A爲前置結論中的A,大括號上的A爲矩陣A。im

\begin{equation} \nabla_xxx^TA^TA = \nabla_x \cdot \underbrace{x}_A \cdot \underbrace{I}_B \end{equation}di

\begin{equation} \cdot \underbrace{x^T}_{A^T} \cdot \underbrace{A^TA}_C \end{equation}co

利用前置結論1)3) \begin{equation} \begin{split} \nabla_x\underbrace{b^TA}_B\underbrace{x}_A = A^Tb \end{split} \end{equation}time

因此就有: \begin{equation} \begin{split} \frac{1}{2}(Ax-b)^T(Ax-b) = A^TAx - A^Tb = 0 \end{split} \end{equation}ab

則有: \begin{equation} A^TAx = A^Tb \end{equation} \begin{equation} x=(A^TA)^{-1}A^Tb \end{equation}

相關文章
相關標籤/搜索