线性代数笔记14--投影

1. 一维空间投影

在这里插入图片描述

p = X A e = B − p = B − X A A ⊤ e = 0 A ⊤ ( B − X A ) = 0 X A ⊤ A = A ⊤ B X = A ⊤ B A ⊤ A p = X A = A A ⊤ B A ⊤ A p=XA\\ e=B-p=B-XA\\ A^{\top}e=0\\ A^{\top}(B-XA)=0\\ XA^{\top}A=A^{\top}B\\ X=\frac{A^{\top}B}{A^{\top}A}\\ p=XA=A\frac{A^{\top}B}{A^{\top}A}\\ p=XAe=Bp=BXAAe=0A(BXA)=0XAA=ABX=AAABp=XA=AAAAB

相当于在B上作用了一个投影矩阵。假设大写 P P P为投影矩阵
p = P B = A A ⊤ A ⊤ A B p=PB=\frac{AA^{\top}}{A^{\top}A}B p=PB=AAAAB

因为列变换并不影响列空间,所以。

C ( p ) = C ( A ) = 通过 A 的直线 r a n k ( p ) = 1 C(p)=C(A)=通过A的直线\\ rank(p)=1 C(p)=C(A)=通过A的直线rank(p)=1
投影矩阵对称
( A A ⊤ A ⊤ A ) ⊤ = A A ⊤ A ⊤ A P ⊤ = P (\frac{AA^{\top}}{A^{\top}A})^{\top}= \frac{AA^{\top}}{A^{\top}A}\\ P^{\top}=P (AAAA)=AAAAP=P
投影矩阵只有一次的作用效果
P 2 = P P^{2}=P P2=P

2. 为什么要投影?

对于方程 A X = b AX=b AX=b, b b b可能不在 A A A的列空间上,这样就没有解了。
这时我们可以把 b b b投影到 A A A的列空间上来得到这个最可能的解。

A ^ X = p \hat{A}X=p A^X=p

在这里插入图片描述

A = [ a 1 a 2 ] e ⊥ A e = b − p p = A X ^ A=[a_1\ a_2]\\ e \perp A\\ e = b-p\\ p=A\hat{X} A=[a1 a2]eAe=bpp=AX^

a 1 ⊤ ( b − A X ^ ) = 0 a 2 ⊤ ( b − A X ^ ) = 0 [ a 1 ⊤ a 2 ⊤ ] ( b − A X ^ ) = 0 ⟺ A ⊤ ( b − A X ^ ) = 0 a_1^{\top}(b-A\hat{X})=0\\ a_2^{\top}(b-A\hat{X})=0\\ \begin{bmatrix} a_1^{\top}\\ a_2^{\top}\\ \end{bmatrix} (b-A\hat{X})=0 \iff A^{\top}(b-A\hat{X})=0 a1(bAX^)=0a2(bAX^)=0[a1a2](bAX^)=0A(bAX^)=0

e ∈ N ( A ⊤ ) e ⊥ C ( A ) e \in N(A^{\top})\\ e \perp C(A) eN(A)eC(A)

X ^ = ( A ⊤ A ) − 1 A ⊤ b p = A ( A ⊤ A ) − 1 A ⊤ b \hat{X}=(A^{\top}A)^{-1}A^{\top}b\\ p=A(A^{\top}A)^{-1}A^{\top}b X^=(AA)1Abp=A(AA)1Ab

投影矩阵
P = A ( A ⊤ A ) − 1 A ⊤ P=A(A^{\top}A)^{-1}A^{\top} P=A(AA)1A

投影矩阵性质

  • P ⊤ = P P^{\top}=P P=P

P ⊤ = ( A ⊤ ) ⊤ ( ( A ⊤ A ) − 1 ) ⊤ A ⊤ ( ( A ⊤ A ) − 1 ) ⊤ = ( ( A ⊤ A ) ⊤ ) − 1 = ( A ⊤ A ) − 1 P ⊤ = A ( A ⊤ A ) − 1 A ⊤ P^{\top}=(A^{\top})^{\top}((A^{\top}A)^{-1})^{\top}A^{\top}\\ ((A^{\top}A)^{-1})^{\top}=((A^{\top}A)^{\top})^{-1}=(A^{\top}A)^{-1}\\ P^{\top}=A(A^{\top}A)^{-1}A^{\top} P=(A)((AA)1)A((AA)1)=((AA))1=(AA)1P=A(AA)1A

  • P n = P P^n=P Pn=P

P P = A ( A ⊤ A ) − 1 A ⊤ A ( A ⊤ A ) − 1 A ⊤ = A ( A ⊤ A ) − 1 { A ⊤ A ( A ⊤ A ) − 1 } A ⊤ = A ( A ⊤ A ) − 1 A ⊤ PP=A(A^{\top}A)^{-1}A^{\top}A(A^{\top}A)^{-1}A^{\top}=\\ A(A^{\top}A)^{-1}\{A^{\top}A(A^{\top}A)^{-1}\}A^{\top}=\\ A(A^{\top}A)^{-1}A^{\top} PP=A(AA)1AA(AA)1A=A(AA)1{AA(AA)1}A=A(AA)1A

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/731323.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java开发与配置用到的各类中间件官网

开发配置时用到了一些官网地址,记录一下。 activemq 官网:ActiveMQ elk 官网:Elasticsearch 平台 — 大规模查找实时答案 | Elastic nginx 官网:nginx maven 官网:Maven – Welcome to Apache Maven nexus 官网&a…

Zoom软件怎么购买?zoom付费订阅教程

首先,让我们来了解一下Zoom的各个版本以及它们的价格。简单来说,Zoom分为免费版和收费版,收费版又包括专业版、商业版和企业版。 一、免费版 Zoom的免费版功能已经非常实用了,适合个人用户和小团队使用。免费版提供以下功能: 最多…

centos7 python3.12.1 报错 No module named _ssl

https://blog.csdn.net/Amio_/article/details/126716818 安装python cd /usr/local/src wget https://www.python.org/ftp/python/3.12.1/Python-3.12.1.tgz tar -zxvf Python-3.12.1.tgz cd Python-3.12.1/ ./configure -C --enable-shared --with-openssl/usr/local/opens…

小程序学习

一、第一天 1、小程序体验 2、注册账号 小程序 (qq.com) 3、开发工具下载 下载 / 稳定版更新日志 (qq.com) 4、目录结构 "navigationBarBackgroundColor": "#00b26a" 配置头部背景色 4、wxml模板介绍 5、wxss 6、js文件 7、宿主环境 1、通信主体 2…

spring boot 2.4.x 之前版本(对应spring-cloud-openfeign 3.0.0之前版本)feign请求异常逻辑

目录 feign SynchronousMethodHandler 第一部分 第二部分 第三部分 spring-cloud-openfeign LoadBalancerFeignClient ribbon AbstractLoadBalancerAwareClient 在之前写的文章配置基础上 https://blog.csdn.net/zlpzlpzyd/article/details/136060312 因为从 spring …

Java --- springcloud之consul

目录 一、consul的使用 1.1、主要功能 1.2、安装及运行 1.3、添加微服务到consul 1.3.1、8001微服务添加相关pom、配置文件、注解 1.3.2、80微服务添加相关pom、配置文件、注解 1.4、三个注册中心异同 1.5、consul进行分布式配置 1.5.1、修改8001的yml配置文件 1.5.2…

Ubuntu中如何卸载软件

在Ubuntu系统中要干净地卸载软件,意味着不仅移除软件本身,还包括它的配置文件以及可能存在的依赖关系。以下是几种确保干净卸载的方法: 方法1:使用apt-get 通过命令行进行卸载,这是最常用且能处理依赖关系的方式&…

运维知识点-Apache HTTP Server

Apache 介绍 介绍 Apache是一个开源的Web服务器软件,全称为Apache HTTP Server,由Apache软件基金会开发和维护。它是目前全球使用最广泛的Web服务器软件之一,占全球所有网络服务器的很大比例。Apache服务器具有跨平台的特性,可以…

python中try-except-finally简介及用法

什么是try-except-finally? try-except-finally是python中的一个语句,它用于处理可能发生的异常(错误),并在异常发生后执行一些必要的操作。它由三个部分组成: try:尝试执行一段可能发生异常的…

最简k8s部署(AWS Load Balancer Controller使用)

问题 我需要在k8s集群里面部署springboot服务,通过k8s ingress访问集群内部的springboot服务,应该怎么做? 这里假设已经准备好k8s集群,而且也准备好springboot服务的运行镜像了。这里我们将精力放在k8s服务编排上面。 一图胜千言…

Github 2024-03-09 Rust开源项目日报 Top10

根据Github Trendings的统计,今日(2024-03-09统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Rust项目10Python项目1Scala项目1CUE项目1InfluxDB Edge: 开源实时时序数据库 创建周期:3817 天开发语言:Rust协议类型:Apache License 2.0S…

基于Springboot的智慧社区居家养老健康管理系统(有报告)。Javaee项目,springboot项目。

演示视频: 基于Springboot的智慧社区居家养老健康管理系统(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)…

C语言如何选择循环语句?

一、问题 循环语句有三种,分别是 while 循环、do...while 循环和 for 循环。对于不同的程序, 应该使⽤不同的循环结构。那么,应该如何选择呢? 二、解答 1. 三种循环的⽐较 三种循环都可以⽤来处理同⼀问题。⼀般情况下&…

Humanoid-Gym 开源人形机器人端到端强化学习训练框架!星动纪元联合清华大学、上海期智研究院发布!

系列文章目录 前言 Humanoid-Gym: Reinforcement Learning for Humanoid Robot with Zero-Shot Sim2Real Transfer GitHub Repository: GitHub - roboterax/humanoid-gym: Humanoid-Gym: Reinforcement Learning for Humanoid Robot with Zero-Shot Sim2Real Transfer 一、介…

[Electron]ipcMain.on和ipcMain.handle的区别

在Electron中的通信中,我们经常会用到ipcRender.invoke和ipvRender.send 接下来简要说明下这两个方法的区别 ipcMain.on(channel, listener) 这是 Electron 的主进程(main process)监听来自渲染进程(renderer process&#xff09…

[java基础揉碎]super关键字

super关键字: 基本介绍 super代表父类的引用,用于访问父类的属性、方法、构造器 super给编程带来的便利/细节 1.调用父类的构造器的好处(分工明确,父类属性由父类初始化,子类的属性由子类初始化) 2.当子类中有和父类中的成员(属性和方法)重…

【代码】JetpackComposeKotlin分享Bitmap图片

目录 1. 发送函数2. 配置fileProvider3. bitmap保存本地的函数4. 全局变量5. 封装的ButtonIcon函数 Android12在jetpack compose中使用Kotlin代码分享Bitmap图片。 1. 发送函数 Composable fun Share() {val context LocalContext.currentButtonIcon(icon Icons.Rounded.Sha…

软考高级:信息系统生命周期概念和例题

作者:明明如月学长, CSDN 博客专家,大厂高级 Java 工程师,《性能优化方法论》作者、《解锁大厂思维:剖析《阿里巴巴Java开发手册》》、《再学经典:《Effective Java》独家解析》专栏作者。 热门文章推荐&am…

SpringCloudGateway网关限流

文章目录 令牌桶算法原理Gateway中限流实现 网关除了请求路由、身份验证,还有一个非常重要的作用:请求限流。当系统面对高并发请求时,为了减少对业务处理服务的压力,需要在网关中对请求限流,按照一定的速率放行请求。 …

Android Studio如何修改JDK版本和获知使用的Java版本

什么是JDK和Java版本? 首先,让我们简单了解一下什么是JDK和Java版本。JDK(Java Development Kit)是Java开发工具包的缩写,它包含了Java的运行环境(JRE)和开发工具,用于开发Java应用…