矩陣學習-QR分解和最小二乘問題求解


QR分解為矩陣分解的一種,在解決矩陣特征值計算和最小二乘問題中有很大的作用。

QR分解定理: 任意的一個滿秩實(復)矩陣A,都可唯一的分解為\(A=QR\),其中\(Q\)為正交矩陣,\(R\)為正對角元的上三角矩陣

\[ \begin{cases} QQ^T=I \\ \\ R=\left\{\begin{matrix} a_1 & * & * & \cdots & * \\ 0 & a_2 & * & \cdots & * \\ 0 & 0 & a_3 & \cdots & *\\ \vdots & \vdots & &\ddots \\ 0 & 0 & 0 & \cdots &a_n \end{matrix} \right\} \end{cases} \]

這里介紹一下基於HouseHolder變換的QR分解方法

1. HouseHolder變換介紹

HouseHolder變換可用於QR分解中,又稱為反射變換或者為鏡像變換,有明確的幾何意義。
\(R^3\)實數三維空間中,給定一個向量\(\alpha\), 向量\(\beta\)\(\alpha\)關於以\(\omega\)為法向量的平面\(\pi\)的反射變換所得。
有如下公式

\[\omega=\frac{\alpha-\beta}{||\alpha-\beta||_2}\in R^3 \]

\[H(\omega)=I-2\omega\omega^T \]

則有 \(H(\omega)\alpha=\beta\)
即:該變換將向量\(\alpha\)變成了以\(\omega\)為法向量的平面\(\pi\)的對稱向量\(\beta\)

\(H\)矩陣有如下性質

  • Hermite矩陣:\(H^T=H\)
  • 酉矩陣:\(H^T*H=I\)\(H=(H^T)^{-1}\)
  • 對合矩陣:\(H*H=I\)
  • 自逆矩陣:\(H=H^{-1}\)
  • \(diag(I,H)\)也是HouseHolder矩陣
  • \(det(H)=-1\)

證明:略 _

推論:

  • 對於任意的在復數空間的向量 \(x\in C^n\),存在HouseHolder矩陣\(H\),使得\(Hx=ae_1\),其中\(|a|=\left\|x\right\|_2\),\(ax^Te\)為實數。
  • 對於任意的在實數空間的向量 \(x\in R^n\),存在HouseHolder矩陣\(H(\omega)=I-2uu^T,(u\in R^n,u^Tu=1)\),使得\(Hx=ae_1\),其中\(|a|=\left\|x\right\|_2\)

因此表明,HouseHolder變換可以將任意的向量\(x\in R^n\)轉換為與基向量\(e\)平行的共線向量

2. 利用HouseHolder變換的QR分解

此處介紹基於HouseHolder變換將矩陣進行QR分解,即\(A=QR\)

第1步

設有按列分塊的矩陣\(A=(\alpha_1, \alpha_2...\alpha_n)\)

\(\omega_1=\frac{\alpha_1-a_1*e_1}{||\alpha_1-a_1*e_1||_2},a_1=||\alpha_1||_2\)

\(H_1=I-2*\omega_1*\omega_1^T\)

得到

\[H_1A=(H_1\alpha_1,H_1\alpha_2,...,H_1\alpha_n) =\left\{\begin{matrix} a_1 & * & \cdots & * \\ 0 & \\ \vdots & &B_1 \\ 0\end{matrix}\right\}\]

第2步

從第一部得到矩陣\(B_1=(\beta_2,\beta_2,\cdots,\beta_n)\in R^{n-1}\)


\(\omega_2=\frac{\beta_2-b_2*e_1}{||\beta_2-b_2*e_1||_2},b_1=||\beta_2||_2\)

\(\widehat{H_2}=I-2*\omega_2*\omega_2^T,H_2=\left\{\begin{matrix} 1 & 0^T \\ 0 & \widehat{H_2}, \end{matrix} \right\}\)

得到

\[H_2(H_1*A) = \left\{\begin{matrix} a_1 & * & * & \cdots &* \\ 0 & a_2 & * & \cdots &* \\ 0 & 0 & &\\ \vdots & \vdots & &C_2& \\ 0 & 0 \end{matrix} \right\}, C_2\in R^{n-2}\]

依次類推,進行第n步時,得到第n-1\(H_{n-1}\)陣,使得

\[H_{n-1} \cdots H_2H_1*A = \left\{\begin{matrix} a_1 & * & * & \cdots & * \\ 0 & a_2 & * & \cdots & * \\ 0 & 0 & a_3 & \cdots & *\\ \vdots & \vdots & &\ddots \\ 0 & 0 & 0 & \cdots &a_n \end{matrix} \right\}=R\]

其中 \(H_{n-1} \cdots H_2H_1*A=H\)也為HouseHolder矩陣,也為自逆矩陣 \(H=H^{-1}\)

\[H_{n-1} \cdots H_2H_1*A=R \]

\[\Rightarrow (H_{n-1} \cdots H_2*H_1)^{-1}*H_{n-1} \cdots H_2H_1*A=(H_{n-1} \cdots H_2*H_1)^{-1}*R \]

\[\Rightarrow A=H_1^{-1} \cdots H_{n-1}^{-1}*R \]

\[\Rightarrow A=H_1\cdots H_{n-1}*R \]

得到 \(A=QR\),其中\(Q\)為正交矩陣,\(R\)為上三角矩陣

\[ \begin{cases} Q = H_1\cdots H_{n-1}\\ R = Q^{-1}A=QA \end{cases} \]

3. 最小二乘問題

最小二乘問題為最優化問題的一種,一般形式為

\[\min\limits_{x}{||f(x)||^2} \]

其中\(f(x)\)為殘差函數,表示預測值和測量值之差,\(||f(x)||^2\)為損失函數

3.1線性最小二乘問題

\(f(x)=Ax-b\)為線性方程時,線性最小二乘問題為

\[\min\limits_{x}{||Ax-b||^2} \]

展開有

\[h(x)=||Ax-b||^2=(Ax-b)^T*(Ax-b) \]

\[h(x)=(Ax)^T(Ax)-b^TAx-(Ax)^Tb+b^Tb \]

求導有

\[\frac{\partial h(x)}{\partial x}=A^TAx-A^Tb \]

當導數為0時,得到損失函數值為最小值,因此

\[A^TAx=A^Tb \Rightarrow x=(A^TA)^{-1}A^Tb \]

3.2采用QR分解求解線性最小二乘問題

上述說明得到線性最小二乘問題\(\min\limits_{x}{||Ax-b||^2}\)的解為\(x=(A^TA)^{-1}A^Tb\)

但是這里由於要求矩陣倒數,計算上存在一定困難,這里如果采用QR分解可以使得問題簡單很多。

首先對A進行QR分解,即\(A=QR\),其中\(QQ^T=I\),\(R\)為上三角矩陣

\[x=(A^TA)^{-1}A^Tb \]

\[(QR)^T(QR)x=(QR)^Tb \]

\[R^TQ^TQRx=R^TQ^Tb \]

\[Rx=Q^Tb \]

\[x=R^{-1}Qb \]

其中 \(R\)為上三角矩陣,求逆相對容易很多,規避了直接對\((A^TA)^{-1}\)求逆復雜度高的問題。

3.3非線性最小二乘問題

\(f(x)\)為非線性方程時,最小二乘問題為\(\min\limits_{x}{||f(x)||^2}\)

一般來說求解非線性最小二乘問題有高斯牛頓法Levenberg-Marquardt法,高斯牛頓法存在\(H\)不是正定矩陣時,迭代結果不收斂或者不准確的情況,因此LM算法表現較好。但這個先介紹下高斯牛頓法
設狀態向量\(x=(x_1,x_2,\cdots,x_m)\)

\[f(x)=\begin{cases} f_1(x)\\ f_2(x)\\ \vdots\\ f_n(x) \end{cases}\]

一階Tayor展開

\[f(x+\Delta x)=f(x)+J(x)\Delta x \]

其中 \(J(x)\)為Jacobian矩陣,表示為

\[J(x)_{n*m}=\left\{\begin{matrix} \frac{\partial f_1(x_1)}{\partial x} & \frac{\partial f_1(x_2)}{\partial x} & \cdots & \frac{\partial f_1(x_m)}{\partial x} \\ \frac{\partial f_2(x_1)}{\partial x} & \frac{\partial f_2(x_2)}{\partial x} & \cdots & \frac{\partial f_2(x_m)}{\partial x} \\ \vdots\\ \frac{\partial f_n(x_1)}{\partial x} & \frac{\partial f_n(x_2)}{\partial x} & \cdots & \frac{\partial f_n(x_m)}{\partial x} \\ \end{matrix} \right\} \]

求解
\(\min\limits_{x}{||f(x)||^2}\Rightarrow\min\limits_{x}{||f(x)+J(x)\Delta x||^2}\),
類比線性最小二乘的方法

\[\Delta x=(J(x)^TJ(x))^{-1}*J(x)^T*f(x) \]

迭代 \(x_{k+1}=x_k+\Delta x\),直到收斂為止,即可求出最優解\(x\)

這里同樣可以采用QR分解來求解\(\Delta x\)

設QR分解得到 \(J(x_k)=Q(x_k)R(x_k)\),類比線性最小二乘方法,\(\Delta x=R(x_k)^{-1}Q(x_k)f(x_k)\)

因此非線性最小二乘問題迭代求解

\[\begin{cases} x_{k+1}=x_k+\Delta x \\ \Delta x=R(x_k)^{-1}Q(x_k)f(x_k) \end{cases}\]


免責聲明!

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



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