数据挖掘--矩阵的QR分解

矩阵的QR分解:
A=QR,其中Q为正交矩阵,R为上三角矩阵。
具体可以通过HouseHold变换做到,分步进行,如下图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 如果矩阵A是可逆矩阵的话,那么分出的矩阵R一定是列线性无关的。此时,R的对角线元素一定是非零:
    根据上面的绿色字体,这是因为一旦对角线元素为零,那么这一列就可以被它左边的列共同线性表示出来,也就是线性相关了。
    经济型的QR分解:
    对上述分解出的Q矩阵进行矩阵分块,如下图绿色标注:
    在这里插入图片描述
  2. 进行QR分解,我们能得到什么?
    可以得到矩阵A ,对应的一组正交基底Q1,也就是说矩阵A张成的空间和矩阵Q1张成的空间相等。
    而,Q1矩阵的各列相互正交。
    我们还可以利用Q1中的线性表示出矩阵的A某一列,如下图绿色笔记:
    在这里插入图片描述
%matlab中 QR()分解函数
[Q,R]=qr(A) %进行满的QR分解,第一种
[Q,R]=qr(A,0) %经济型的QR分解,第二种
  1. 利用QR分解解最小二乘问题
    QR分解可以简化解决列满秩的超定方程组问题Ax=b。
    这里矩阵A是m*n型,而A的秩就是列数n,所以称矩阵是列满秩的;
    另外,m>n,表示矩阵这个方程组的条件多,所以是超定的。

在这里插入图片描述

  • 为什么要把左边化成Rx的形式,再说解出线性方程组呢?
    因为R矩阵是上三角矩阵,很容易解。具体参见LU分解。
    在这里插入图片描述
    从上面的这张图可以看出,QR分解得到的解是误差范数最小的。
    为什么不使用正规方程ATAx=ATb求解最小二乘问题AX=b呢?
    因为条件数。使用正规方程对应的系数矩阵的条件数是原矩阵条件数的平方,如果原矩阵A本身条件数就很大,那么这样使用正规方程条件数又会被放大,结果更是偏离一大截。
    在这里插入图片描述
    使用QR分解解决最小二乘问题更加灵活,复用性更强!
    以往使用正规方程解最小二乘问题Ax=b存在一个很明显的问题是:如果第一次做好之后又来了一组新的观测值,那么我么就要重新构造出新的正规方程,这样计算量会很大。
    但是,QR分解可以很好地复用上次运算的结果,解决新问题。
    如下图:
    在这里插入图片描述
    在这里插入图片描述
发布了109 篇原创文章 · 获赞 30 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_43448491/article/details/103023885
今日推荐