--- title: 最小平方法 2 tags: Linear algebra GA: G-77TT93X4N1 --- 最小平方法 2 === 給定一個矩陣 $A$ 以及一個向量 $b$, 我們想要找到一個向量 $x$ 使得 $\|Ax - b\|^2+\|x\|^2$ 最小. > $$ > A\in M_{m\times n}, \quad b \in M_{m\times 1}, \quad x\in M_{n\times 1}. > $$ ## 1. Motivation ### 1.1 Non-uniqueness 最小平方法 $\|Ax-b\|^2$ 問題有時候解並不唯一, 常見的例子例如深度學習裡的神經網路, 他的參數數量通常都遠比資料點數量多非常多. 若我們把 $x$ 看成所有要找的參數的集合, 因此 $n$ 就是參數個數. 然後 $b$ 就是 target 資料集, 所以 $m$ 就是資料個數. 所以常常會有 $m \ll n$ 的情形. 這樣的話 $A$ 的 null space 不為零, 最小平方法的解空間變成了一個 affine subspace, 有無窮多組解. #### 1.1.1 Sensitivity in prediction 由於有無窮多組解, 因此選的解變異就非常大. 而最怕的情形就是某個參數非常的大. 這樣訓練出來的模型會很敏感, 一點點小擾動預測就差非常多. 舉個極端的例子, 比如說我們要找一個模型 $f(x,y) = ax+by$, 其中 $a, b$ 是參數. 假設我們只有一筆資料 $f(1,1) = 0$. 這樣的話我們就只有一個方程式, 也就是, 模型裡的參數必須滿足 $$ a + b = 0, $$ 有無窮多解! 如果我們選 $(a, b) = (10000, -10000)$. 那這樣我們的模型就是 $$ f_1(x,y) = 10000x-10000y. $$ 然後算一下 $f_1(0, 0)=0$ 以及 $f_1(1,0)=10000$, 初始值差 $1$ 不過預測值差 $10000$. 如果我們選 $(a, b) = (1, -1)$. 那這樣我們的模型就是 $$ f_2(x,y) = x-y. $$ 因此 $f_2(0, 0)=0$ 以及 $f_2(1,0)=1$, 初始值差 $1$ 預測值也差 $1$. 所以模型參數的大小會直接影響到模型預測的敏感度. 通常我們希望模型不要太敏感, 因此輸入的資料難免有誤差, 不要因為一點點的誤差就在預測差了十萬八千里. 而一個簡單的做法就是我們不僅要求 $\|Ax-b\|^2$ 要小, 我們也要求 $\|x\|^2$ 要小. 這樣子參數就不會太大了. ### 1.2 Ill-conditioning 在最小平方法的計算裡需要解 $A^TAx = A^Tb$ 這個系統. 不過 $A^TA$ 這矩陣我們只能保證半正定, 所以不一定可以解. 另外, 解這個矩陣也有可能會有很大的誤差 (在數值分析裡我們稱之為 ill-conditioned matrix). 簡單的說如果一個矩陣的 eigenvalue 離 $0$ 很靠近的話, 這個矩陣就會很像 singular matrix, 解起來就會有很大的誤差. 因此我們希望矩陣的 eigenvalue 遠離 $0$. 一個簡單的觀察是, $A^TA + I$ 這個矩陣是個正定矩陣, 並且他的 eigenvalues 全都大於等於 $1$. 所以 $(A^TA+I)x = A^Tb$ 這個系統就會 well-condition, 解起來誤差不會太大. ## 2. Ridge regression and its dual problem 首先我們定義 $\hat{x}$ 為找到的那個解, 也就是說, 我們要解以下這個問題 $$ \newcommand{\argmin}{\arg\min} \tag{1} \hat{x} = \argmin_{x\in\mathbb{R}^n}\left(\|Ax - b\|^2+\|x\|^2\right). $$ 首先觀察可以發現 $$ \tag{2} \|Ax - b\|^2+\|x\|^2 = \left\|\begin{bmatrix}A\\ I \end{bmatrix}x - \begin{bmatrix}b\\ 0 \end{bmatrix}\right\|^2. $$ 因此, (1) 其實就是個最小平方問題, 只是這個問題的系統變成加大的一個系統而已. 因此我們知道這個問題的解會滿足 $$ \tag{3} \begin{bmatrix}A^T & I \end{bmatrix} \begin{bmatrix}A\\ I \end{bmatrix}\hat{x} = \begin{bmatrix}A^T & I \end{bmatrix} \begin{bmatrix}b\\ 0 \end{bmatrix}, $$ 也就是 $$ \tag{4} (A^TA + I)\hat{x} = A^Tb. $$ 接著我們將 (4) 改寫成 $$ \tag{5} \hat{x} = A^T(b-A\hat{x}), $$ 並且我們定義一個新變數 $\alpha$ 為 $$ \tag{6} \alpha = b-A\hat{x}, $$ 因此我們有 $$ \tag{7} \hat{x} = A^T\alpha. $$ 接著從 (6) 跟 (7) 我們可以得到 $$ \tag{8} \alpha = b-A\hat{x} = b-AA^T\alpha, $$ 整理一下得到 $\alpha$ 要滿足的方程式為 $$ \tag{9} (AA^T+ I)\alpha = b. $$ 最後, 由於 $\hat{x}=A^T\alpha$ 我們可以得到 $$ \tag{10} \hat{x} = A^T(AA^T + I)^{-1}b. $$ ### 2.1 QR decomposition 我們對 $A$ 做 (reduced) QR 分解得到 $$ \tag{11} A = QR, $$ where $Q^TQ= I_{r\times r}$, $Q\in M_{m\times r}$ and $R\in M_{r\times n}$. 那 least square 問題的解 (4) 可以改寫成 $$ \tag{12} (R^TR+I)\hat{x} = R^TQ^Tb. $$ 而 (10) 則是寫成 $$ \tag{13} \hat{x} = R^T(RR^T+I)^{-1}Q^Tb, $$ ## 3. Conclusion 我們考慮以下最小平方法問題 $$ \min_{x\in\mathbb{R}^n}\left(\|Ax - b\|^2+\|x\|^2\right). $$ 並且我們令最佳解為 $\hat{x}$. * 如果 $m>n$, 我們以下列式子來計算 $$ \hat{x} = (A^TA+I)^{-1}A^Tb. $$ * 如果對 $A$ 做 (reduced) QR, $A=QR$, 並且 $Q^TQ=I_{n\times n}$, $$ \hat{x} = (R^TR+I)^{-1}R^TQ^Tb. $$ * 如果 $m<n$, 我們以下列式子來計算 $$ \hat{x} = A^T(AA^T+I)^{-1}b. $$ * 如果對 $A$ 做 (reduced) QR, $A=QR$, 並且 $Q^TQ=I_{n\times n}$, $$ \hat{x} = R^T(RR^T+I)^{-1}Q^Tb. $$ ---