9子空间的投影和Ax=b

2024-02-06 19:58
文章标签 空间 投影 ax

本文主要是介绍9子空间的投影和Ax=b,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

转载自:https://blog.csdn.net/huang1024rui/article/details/69258689

此课老师说要名垂千古,就当作重中之重吧,讲投影,怎样投影,为什么要投影到其他子空间。

引子:

上一讲中遇到 Ax=b A x = b 无解的时候提到,当其无解的时候,我们求的解是什么?

我们想要的”最优解”对于原方程偏差最小,我们知道 Ax=b A x = b 有解时 b b A列空间 b b 可以由A的列向量线性表示)中;当无解时,我们取 b b A的列空间的 b b ′ Ax=b A x = b ′ 理论上是”最优解”。

1.投影矩阵
1.1 二维欧式空间的投影

这里写图片描述

如图 b⃗  b → a⃗  a → 的最短距离是b在a上的投影是p,a垂直于e,e就像误差e=b-p,e与p互相垂直,p是a的某个倍数x,p=xa,它在a的一维子空间里,可得到一个方程,求解x,方程为: (aT)(bxa)=0 ( a T ) ( b − x a ) = 0

这里写图片描述

其中 (aT)a ( a T ) a 是一个常数, a(aT) a ( a T ) 是一个矩阵。假设b变成原来的2倍,那么投影 p p 也变成原来的2倍;如果a变为原来的2 倍,p则不变。

假设把上式写成:p=Pb,则P称为投影矩阵,可以说投影矩阵作用与某个向量后,得到其投影向量 projectionp=Pb p r o j e c t i o n p = P b

投影矩阵P的性质:

1)rank(P)=1,因为P中 a(aT) a ( a T ) 是一个矩阵,而a秩为1;

2)向量a是列空间的基,因为投影矩阵乘以任何向量b后仍旧在其列空间,因此投影矩阵的列空间C(P)是通过a的一条线;

3)P是对称的( PT P T )=P;

4)对投影好的 p p 再次投影结果不变,所以P2=P

1.2高维空间

1)正如引子所写,为什么要做投影?

因为 Ax=b A x = b 也许会无解,可能等式太多,造成无解,那么只能求解最接近的那个可能问题。 Ax A x 总在 A A 的列空间里,那么如果将b微调,将 b b 变为列空间中最接近它自己的那一个,将问题换做求解Ax=p x x ′ 不是原来那个不存在的 x x ,而是那个最接近解的x,即最优解), p p b b 在列空间上的投影(列空间中最接近理论精确解的那一个解)这就是要找最好的那个投影的原因。

2)在三维空间中,将向量b投影在平面上A。

同样的,p是向量 b b 在平面A上的投影, e e 是垂直于平面A的向量,即 b b 在平面A法方向的分量。设平面 A A 的一组基为a1,a2,则投影向量 p=(a1)(x1)+(a2)(x2) p = ( a 1 ) ( x 1 ′ ) + ( a 2 ) ( x 2 ′ ) ,我们更倾向于写作 p=Ax p = A x ′ ,这里如果我们求出 x x ′ ,则该解就是无解方程组最近似的解。

这里写图片描述

它与直线上的投影方程很相似,对于直线来说,矩阵A只有一列,就是一个小写的a,本质都是 (AT)e=0 ( A T ) e = 0 。所以,e在 (AT) ( A T ) 的零空间中,从前面几讲我们知道,左零空间与列空间垂直,则e与A的列空间垂直,与我们分析的几何图像的一致。

3)那么x’是什么?投影p 是什么?投影矩阵P 是什么?(与一维情况下得到的公式相比较)

这里写图片描述

2. 最小二乘法

如图,要找到一条最优的直线来拟合这些点,误差最小。我们要确定C 和D的大小,来得到b=C+Dt 方程。

这里写图片描述

根据条件可以得到方程组 C+D=1C+2D=2C+3D=2 { C + D = 1 C + 2 D = 2 C + 3 D = 2 ,写作矩阵形式 111123[CD]=122 [ 1 1 1 2 1 3 ] [ C D ] = [ 1 2 2 ] ,也就是我们的 Ax=b A x = b ,很明显方程组无解。

但是 ATAx^=ATb A T A x ^ = A T b 有解,于是我们将原是两边同时乘以 AT A T 后得到的新方程组是有解的, ATAx^=ATb A T A x ^ = A T b 也是最小二乘法的核心方程。

未完待续···

3.总结

1.投影矩阵及其应用;

2.解决Ax=b无解时,最优解的问题;

3.最小二乘法。

这篇关于9子空间的投影和Ax=b的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/685379

相关文章

【高等代数笔记】线性空间(一到四)

3. 线性空间 令 K n : = { ( a 1 , a 2 , . . . , a n ) ∣ a i ∈ K , i = 1 , 2 , . . . , n } \textbf{K}^{n}:=\{(a_{1},a_{2},...,a_{n})|a_{i}\in\textbf{K},i=1,2,...,n\} Kn:={(a1​,a2​,...,an​)∣ai​∈K,i=1,2,...,n

win7系统中C盘空间缩水的有效处理方法

一、深度剖析和完美解决   1、 休眠文件 hiberfil.sys :   该文件在C盘根目录为隐藏的系统文件,隐藏的这个hiberfil.sys文件大小正好和自己的物理内存是一致的,当你让电脑进入休眠状态时,Windows 7在关闭系统前将所有的内存内容写入Hiberfil.sys文件。   而后,当你重新打开电脑,操作系统使用Hiberfil.sys把所有信息放回内存,电脑

求空间直线与平面的交点

若直线不与平面平行,将存在交点。如下图所示,已知直线L过点m(m1,m2,m3),且方向向量为VL(v1,v2,v3),平面P过点n(n1,n2,n3),且法线方向向量为VP(vp1,vp2,vp3),求得直线与平面的交点O的坐标(x,y,z): 将直线方程写成参数方程形式,即有: x = m1+ v1 * t y = m2+ v2 * t

[Linux]:环境变量与进程地址空间

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:Linux学习 贝蒂的主页:Betty’s blog 1. 环境变量 1.1 概念 **环境变量(environment variables)**一般是指在操作系统中用来指定操作系统运行环境的一些参数,具有全局属性,可以被子继承继承下去。 如:我们在编写C/C++代码的时,在链接的时候,我们并不知

【编程底层原理】方法区、永久代和元空间之间的关系

Java虚拟机(JVM)中的内存布局经历了几个版本的变更,其中方法区、永久代和元空间是这些变更中的关键概念。以下是它们之间的关系: 一、方法区: 1、方法区是JVM规范中定义的一个概念,它用于存储类信息、常量、静态变量、即时编译器编译后的代码等数据。 3、它是JVM运行时数据区的一部分,与堆内存一样,是所有线程共享的内存区域。 二、永久代(PermGen): 1、在Java SE 7之前,

算法复杂度 —— 数据结构前言、算法效率、时间复杂度、空间复杂度、常见复杂度对比、复杂度算法题(旋转数组)

目录 一、数据结构前言 1、数据结构 2、算法 3、学习方法 二、 算法效率 引入概念:算法复杂度  三、时间复杂度 1、大O的渐进表示法 2、时间复杂度计算示例  四、空间复杂度 计算示例:空间复杂度 五、常见复杂度对比 六、复杂度算法题(旋转数组) 1、思路1 2、思路2 3、思路3 一、数据结构前言 1、数据结构         数据结构(D

Oracle 查看表空间名称及大小和删除表空间及数据文件方法

--1、查看表空间的名称及大小  SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size  FROM dba_tablespaces t, dba_data_files d  WHERE t.tablespace_name = d.tablespace_name  GROUP BY t.tablespace_na

常见的投影类型及详细解释

常见的地图投影根据保留地球的不同几何特性(形状、面积、距离等)可以分为几大类。以下是常见的投影类型及详细解释: 一、正形投影(保持形状) 1. 墨卡托投影(Mercator Projection) 特点:保持形状,但严重扭曲面积,尤其在高纬度地区。应用:海洋导航、在线地图(如 Google Maps 在小比例尺下使用)。原理:投影将地球表面展开成矩形,经线垂直,纬线等距。优点:航线在图上为直

气膜场馆:乡村振兴中的健康与经济新引擎—轻空间

随着乡村振兴战略的深入推进,气膜场馆作为新兴建筑形式,正在为农村地区带来全新的发展机遇。它不仅是乡村百姓锻炼身体的好去处,更是带动当地经济发展的强劲动力。 首先,气膜场馆为农村地区的居民提供了更多运动健身的机会。与传统体育设施相比,气膜场馆建设周期短、成本低,非常适合在乡村快速推广。通过提供羽毛球、篮球、排球等多种运动项目,村民可以在空闲时间增强体质,改善生活方式。这对于长期从事农业劳动的村

c++的名字空间

名字空间 什么是名字空间 在C语言中定义的全局变量、函数、结构、联合、枚举、枚举值、宏都在全局作用域下,所以当项目比较庞大时,非常容易造成命名冲突(以模块名作前缀、后缀),所以C++中选择把全局作用域进行拆分成 子作用域进行管理,这些子作用域就是作名字空间。 如何设计名字空间 namespace 空间名 {// 子作用域在该作用域中定义全局变量、函数、结构、联合、枚举、枚举值...,不