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


一、超定方程組##

超定方程組即為有效方程個數大於未知數個數的方程組。(這里只討論多元一次的情況)
超定方程組可以寫成矩陣的形式:
\begin{equation}
\begin{split}
Ax=b
\end{split}
\end{equation}
其中\(A\)\(m\times n\)的矩陣,其與\(b\)組成的增廣矩陣\([A|b]\)的秩大於\(n\)\(x\)\(n\)維列向量未知數。

二、超定方程組的最小二乘解##

超定方程組是無解的,但是我們可以求得其最小二乘解,就是將等式左右兩端乘上\(A\)的轉置。
\begin{equation}
\begin{split}
A^TAx=A^Tb
\end{split}
\end{equation}
該方程有增廣矩陣\([A^TA|A^Tb]\)的秩等於\(n\),即該方程的未知數的個數等於有效方程的個數,所以該方程有唯一解且為原方程的最小二乘解。
平時記住結論直接用就好

三、推導過程##

(記錄,大家不要看:其實小生也是只知道結論不知道結論是怎么來的,不過有一天看斯坦福大學的機器學習公開課的第二節,看到了推導過程。)

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}

\(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}

利用前置結論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}

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

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

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

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

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

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM