投影矩阵、最小二乘法和SVD分解
投影矩阵广泛地应用在数学相关学科的各种证明中,但是由于其概念比较抽象,所以比较难理解。这篇文章主要从最小二乘法的推导导出投影矩阵,并且应用SVD分解,写出常用的几种投影矩阵的形式。
问题的提出
已知有一个这样的方程组:
\[Ax=b\]
其中,\(A \in R^{m \times n},x,b \in R^n\)
- 当\(m=n\)时,且\(rank(A)=n\)时,这是一个适定方程组,有唯一解\(x=A^{-1}b\)
- 当\(m<n\)时,或者\(rank(A)<n\)时,这是一个欠定方程组,有无穷多个解。对于这种情况,我们使用\(ran(A)\)中与\(b\)距离最近的向量对应的\(x\)作为最小二乘解。而相应的\(ran(A)\)中的这个向量就是\(b\)在空间\(ran(A)\)中的投影。
最小二乘法
几何解法

如上图所示,\(b\)不在\(ran(A)\)中,\(Ax_0\)是\(ran(A)\)空间中对\(b\)在欧几里得范数下的最好估计。此时\[\forall x \in {R^n},\left\langle {Ax,b - A{x_0}} \right\rangle = 0\]
等价于
\[{x^T}{A^T}(b - A{x_0}) = 0\]
由于x的任意性,所以
\[{A^T}(b - A{x_0}) = 0\]
整理得
\[{x_0} = {({A^T}A)^{ - 1}}{A^T}b = {A^\dagger }b\]
其中\({A^\dagger } = {({A^T}A)^{ - 1}}{A^T}\)称为A的伪逆。
数值解法
原问题等价于
\[\min ||Ax - b||_2^2\]
记$ f(x)=||Ax-b||_2^2=(Ax-b)^T(Ax-b)=x^TA^T A x-2 b^T A x + b^Tb$,对x求导得,
\[\nabla f = 2({A^T}Ax - {A^T}b) = 0\]
解得,
\[{x} = {({A^T}A)^{ - 1}}{A^T}b = {A^\dagger }b\]
投影矩阵
对最小二乘解两边同时乘以A,就是对应的投影向量,即
\[{Ax} = {A({A^T}A)^{ - 1}}{A^T}b=Pb\]
那么\(P={A({A^T}A)^{ - 1}}{A^T}\)就是将\(b\)投影到\(ran(A)\)的投影矩阵。因为
\[P^T={A({A^T}A)^{ - 1}}{A^T}=P,P^2=P\]
满足投影矩阵的定义。
所以\(ran(A)\)对应的投影矩阵为
\[P={A({A^T}A)^{ - 1}}{A^T}\]
SVD分解下的投影矩阵
秩为r的矩阵A的SVD分解为\(A = U\Sigma {V^T} \in R^{m \times n}\)。其中,
\[U = [{U_r}|{\tilde U_r}],V = [{V_r}|{\tilde V_r}]\]
那么,带入公式可以得到
\(V_r V_r^T\)是\(ran(A^T)={null(A)}^\bot\)空间的投影矩阵
\(U_r U_r^T\)是\(ran(A)\)空间的投影矩阵
对于\(\forall x \in R^n\),有
\[ \left\langle {V_r V_r^T x,\tilde V_r {\tilde V_r}^T x} \right\rangle =x^T V_r V_r^T \tilde V_r {\tilde V_r}^T x=0\]
所以,\(\tilde V_r {\tilde V_r}^T\)是\(null(A)\)空间的投影矩阵
同理,\(\tilde U_r {\tilde U_r}^T\)是\(null(A^T)={ran(A)}^\bot\)空间的投影矩阵
投影矩阵、最小二乘法和SVD分解的更多相关文章
- 机器学习中的矩阵方法04:SVD 分解
前面我们讲了 QR 分解有一些优良的特性,但是 QR 分解仅仅是对矩阵的行进行操作(左乘一个酉矩阵),可以得到列空间.这一小节的 SVD 分解则是将行与列同等看待,既左乘酉矩阵,又右乘酉矩阵,可以得出 ...
- 矩阵的SVD分解
转自 http://blog.csdn.net/zhongkejingwang/article/details/43053513(实在受不了CSDN的广告) 在网上看到有很多文章介绍SVD的,讲的也都 ...
- SVD分解及线性最小二乘问题
这部分矩阵运算的知识是三维重建的数据基础. 矩阵分解 求解线性方程组:,其解可以表示为. 为了提高运算速度,节约存储空间,通常会采用矩阵分解的方案,常见的矩阵分解有LU分解.QR分解.Cholesky ...
- gemm() 与 gesvd() 到矩阵求逆(inverse)(根据 SVD 分解和矩阵乘法求矩阵的逆)
可逆方阵 A 的逆记为,A−1,需满足 AA−1=I. 在 BLAS 的各种实现中,一般都不会直接给出 matrix inverse 的直接实现,其实矩阵(方阵)的逆是可以通过 gemm()和gesv ...
- SVD分解的理解[转载]
http://www.bfcat.com/index.php/2012/03/svd-tutorial/ SVD分解(奇异值分解),本应是本科生就掌握的方法,然而却经常被忽视.实际上,SVD分解不但很 ...
- SVD分解技术详解
版权声明: 本文由LeftNotEasy发布于http://leftnoteasy.cnblogs.com, 本文可以被全部的转载或者部分使用,但请注明出处,如果有问题,请联系wheeleast@gm ...
- SVD分解 解齐次线性方程组
SVD分解 只有非方阵才能进行奇异值分解 SVD分解:把矩阵分解为 特征向量矩阵+缩放矩阵+旋转矩阵 定义 设\(A∈R^{m×n}\),且$ rank(A) = r (r > 0) $,则矩阵 ...
- 机器学习之SVD分解
一.SVD奇异值分解的定义 假设是一个的矩阵,如果存在一个分解: 其中为的酉矩阵,为的半正定对角矩阵,为的共轭转置矩阵,且为的酉矩阵.这样的分解称为的奇异值分解,对角线上的元素称为奇异值,称为左奇异矩 ...
- opencv2.4中SVD分解的几种调用方法
原帖地址: http://blog.sina.com.cn/s/blog_6109b5d00101ag7a.html 在摄影测量和计算机视觉中,考虑最优解问题时,经常要用到SVD分解.奇异 ...
随机推荐
- hibernate单向多对一映射
n21: 1.new 两个实体类,一个代表"多"的一端,一个代表"一"的一端. Customer类: public class Customer { priva ...
- 给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢? 输出需要删除的字符个数。
// ConsoleApplication1.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<iostream> ...
- 大型网站技术学习-2. 云计算之OpenStack简述
上一章讲,虚拟化能够充分的利用资源,带来各种各样的好处. 当一个网站不大,只需要四五台机器就可以支撑的时候,可以采用手工的方式虚拟机,但是当网站流量很高,需要成千上万台机器的时候,那就非常不方便了. ...
- mysqldump默认参数add-drop-table
mysqldump默认参数add-drop-table 原创 2014年01月28日 11:35:18 9214 接到一个同事电话,说UAT环境上的一张表被删了,要恢复一下.原来是新项目UAT,从测试 ...
- 50条SQL查询技巧、查询语句示例
学习了 1.查询“001”课程比“002”课程成绩高的所有学生的学号: 2.查询平均成绩大于60分的同学的学号和平均成绩: 3.查询所有同学的学号.姓名.选课数.总成绩: 4.查询姓“李”的老师的个数 ...
- IntelliJ idea——》删除tag
查看git上所有tag E:\eju_IdeaProjects\house-platform>git tag --11v1. 20181107周三上线 20181120周二上线 v1.0.0 v ...
- php 如何获取一个json文件
function showupversion(){ #获取平台类型 $type='android'; #读取文件的路径 $url="D:/WWW/gm_lequ/gm_lequ"; ...
- Android BroadcastReceiver介绍 (转)
原文地址:http://www.cnblogs.com/trinea/archive/2012/11/09/2763182.html 本文主要介绍BroadcastReceiver的概念.使用.生命周 ...
- 【文献阅读】Densely Connected Convolutional Networks-best paper-CVPR-2017
Densely Connected Convolutional Networks,CVPR-2017-best paper之一(共两篇,另外一篇是apple关于GAN的paper),早在去年八月 De ...
- PYTHON测试邮件系统弱密码
#-*- coding:utf-8 -*- #测试公司邮件系统弱密码, from email.mime.text import MIMEText import smtplib #弱密码字典 passL ...