QR分解为矩阵分解的一种,在解决矩阵特征值计算和最小二乘问题中有很大的作用。
QR分解定理: 任意的一个满秩实(复)矩阵A,都可唯一的分解为(A=QR),其中(Q)为正交矩阵,(R)为正对角元的上三角矩阵
这里介绍一下基于HouseHolder变换的QR分解方法
1. HouseHolder变换介绍
HouseHolder变换可用于QR分解中,又称为反射变换或者为镜像变换,有明确的几何意义。
在(R^3)实数三维空间中,给定一个向量(alpha), 向量(eta)为(alpha)关于以(omega)为法向量的平面(pi)的反射变换所得。
有如下公式
则有 (H(omega)alpha=eta)
即:该变换将向量(alpha)变成了以(omega)为法向量的平面(pi)的对称向量(eta)
(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)
证明:略 ^_^
推论:
- 对于任意的在复数空间的向量 (xin C^n),存在HouseHolder矩阵(H),使得(Hx=ae_1),其中(|a|=left|x ight|_2),(ax^Te)为实数。
- 对于任意的在实数空间的向量 (xin R^n),存在HouseHolder矩阵(H(omega)=I-2uu^T,(uin R^n,u^Tu=1)),使得(Hx=ae_1),其中(|a|=left|x ight|_2)
因此表明,HouseHolder变换可以将任意的向量(xin 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)
得到
第2步
从第一部得到矩阵(B_1=(eta_2,eta_2,cdots,eta_n)in R^{n-1})
取
(omega_2=frac{eta_2-b_2*e_1}{||eta_2-b_2*e_1||_2},b_1=||eta_2||_2)
则 (widehat{H_2}=I-2*omega_2*omega_2^T,H_2=left{egin{matrix} 1 & 0^T \ 0 & widehat{H_2}, end{matrix} ight})
得到
依次类推,进行第n步时,得到第n-1个(H_{n-1})阵,使得
其中 (H_{n-1} cdots H_2H_1*A=H)也为HouseHolder矩阵,也为自逆矩阵 (H=H^{-1})
得到 (A=QR),其中(Q)为正交矩阵,(R)为上三角矩阵
3. 最小二乘问题
最小二乘问题为最优化问题的一种,一般形式为
其中(f(x))为残差函数,表示预测值和测量值之差,(||f(x)||^2)为损失函数
3.1线性最小二乘问题
当(f(x)=Ax-b)为线性方程时,线性最小二乘问题为
展开有
求导有
当导数为0时,得到损失函数值为最小值,因此
3.2采用QR分解求解线性最小二乘问题
上述说明得到线性最小二乘问题(minlimits_{x}{||Ax-b||^2})的解为(x=(A^TA)^{-1}A^Tb)
但是这里由于要求矩阵倒数,计算上存在一定困难,这里如果采用QR分解可以使得问题简单很多。
首先对A进行QR分解,即(A=QR),其中(QQ^T=I),(R)为上三角矩阵
其中 (R)为上三角矩阵,求逆相对容易很多,规避了直接对((A^TA)^{-1})求逆复杂度高的问题。
3.3非线性最小二乘问题
当(f(x))为非线性方程时,最小二乘问题为(minlimits_{x}{||f(x)||^2})。
一般来说求解非线性最小二乘问题有高斯牛顿法,Levenberg-Marquardt法,高斯牛顿法存在(H)不是正定矩阵时,迭代结果不收敛或者不准确的情况,因此LM算法表现较好。但这个先介绍下高斯牛顿法
设状态向量(x=(x_1,x_2,cdots,x_m))
一阶Tayor展开
其中 (J(x))为Jacobian矩阵,表示为
求解
(minlimits_{x}{||f(x)||^2}Rightarrowminlimits_{x}{||f(x)+J(x)Delta x||^2}),
类比线性最小二乘的方法
迭代 (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))
因此非线性最小二乘问题迭代求解