16.投影矩阵,最小二乘

news2024/12/24 2:47:37

文章目录

  • 1. 投影矩阵
    • 1.1 投影矩阵P
    • 1.2 投影向量

1. 投影矩阵

1.1 投影矩阵P

根据上节知识,我们知道当我们在解 A X = b AX=b AX=b的时候,发现当向量b不在矩阵A的列空间的时候,我们希望的是通过投影,将向量b投影到矩阵A的列空间中,这样,我们可以求得一个近似的解,得到如下公式
A T A X ^ = A T b (1) A^TA\hat{X} = A^Tb\tag{1} ATAX^=ATb(1)

  • 我们假设 A T A 可逆, A^TA可逆, ATA可逆,可得到解为:
    X ^ = ( A T A ) − 1 A T b (2) \hat{X}=(A^TA)^{-1}A^Tb\tag{2} X^=(ATA)1ATb(2)
  • 那么可以得到向量b在矩阵A的列空间向量p表示如下:
    p = A ( A T A ) − 1 A T b (3) p=A(A^TA)^{-1}A^Tb\tag{3} p=A(ATA)1ATb(3)
  • 由上可以看出,我们将矩阵 P = A ( A T A ) − 1 A T P=A(A^TA)^{-1}A^T P=A(ATA)1AT代入可得:
    p = P b (4) p=Pb\tag{4} p=Pb(4)
  • 我们发现,向量b为不在矩阵A的列空间中的向量,p为向量b通过投影矩阵P转换后的向量。并且向量p是在矩阵A的列空间中。

1.2 投影向量

对于任意向量b来说,我们可以通过正交分解,将向量b分解到两个垂直的向量空间中,我们考虑两个极端的情况下

  • 假设向量b在矩阵A的列空间中,那么向量b通过投影矩阵P的转换,还是得到其本身
    P b = b (5) Pb=b\tag{5} Pb=b(5)
  • 假设向量b在垂直于矩阵A的列空间中,那么向量b通过投影矩阵P的转换,得到的将是零向量
    P b = 0 (6) Pb=0\tag{6} Pb=0(6)
    那么我们思考下,什么向量空间是垂直于矩阵A的列空间的呢?我们之前学过矩阵A的四个子空间,分别是
  1. Row(A) —> 矩阵A的行空间;2.Colum(A) —> 矩阵A的列空间
  2. N(A) —> 矩阵A的零解空间;4. N ( A T ) N(A^T) N(AT) —> 矩阵 A T A^T AT的零解空间
    我们可以将 A T A^T AT按列向量拆解得到如下
    A T = [ a 1 T a 2 T ⋮ a n T ] ; [ a 1 T a 2 T ⋮ a n T ] [ y 1 y 2 … y n ] = 0 (7) A^T=\begin{bmatrix}a_1^T\\\\a_2^T\\\\\vdots\\\\a_n^T \end{bmatrix};\begin{bmatrix}a_1^T\\\\a_2^T\\\\\vdots\\\\a_n^T \end{bmatrix}\begin{bmatrix}y_1&y_2&\dots&y_n\end{bmatrix}=0\tag{7} AT= a1Ta2TanT ; a1Ta2TanT [y1y2yn]=0(7)
  • 由上述可以看出, A T A^T AT的零解空间是垂直于矩阵A的列空间的,所以我们可以将任意向量b 通过正交分解为一部分投影在列空间的向量p,另一部分投影在 A T A^T AT的零解空间中的e
    在这里插入图片描述
    p = P b e = ( I − P ) b (8) p=Pb\\\\e=(I-P)b\tag{8} p=Pbe=(IP)b(8)

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

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

相关文章

机器学习—聚类算法

聚类算法 小白的机器学习笔记 2024/5/15 9:52 文章目录 聚类算法步骤K-means算法优缺点 示例 聚类算法的核心思想: 样本点到每个中心点的距离,最近的就是这个类 步骤 要聚成3类,先初始化3个点 第一步大致确定类别 第二步更新中心点 第三…

Vue的学习 —— <网络请求库Axios>

目录 前言 正文 一、Axios基本概念 二、安装Axios 三、Axios使用方法 四、向服务器发送请求 前言 在之前的开发案例中,我们通常直接在组件中定义数据。但在实际的项目开发中,我们需要从服务器获取数据。当其他用户希望访问我们自己编写的网页时&a…

AI绘画Midjourney 和 Stable Diffusion的区别是什么?如何使用和安装?超详细AI绘画小白零基础入门教程建议收藏!(附资料)

大家好,我是画画的小强 关于AI绘画,大家多多少少都听过Midjourney 和 Stable Diffusion的大名,号称目前市面上最强的两款AI绘画软件。那么今天我们就来分析一下这两款软件的区别在哪里。 Midjourney是一个在线网站,使用它需要用…

码农慎入 | 入坑软路由,退烧IDC,Homelab折腾记

点击文末“阅读原文”即可参与节目互动 剪辑、音频 / 卷圈 运营 / SandLiu 卷圈 监制 / 姝琦 封面 / 姝琦Midjourney 产品统筹 / bobo 场地支持 / 声湃轩北京录音间 俗话说,入门软路由,退坑IDC 这一期,我们将深入探讨一个许多科技爱好者…

小白git

克隆 :git clone 链接地址 如果没有.git文件的话:git init 切换分支:cd 目录 拉代码:git pull 查看你自己改了那些文件:git status 添加道本地暂存区:git add * 提交到远端:git commit …

网络安全快速入门(十三)linux及vmware软件的网络配置

13.1 前言 在通过我们前面的了解,我们现在已经对Linux的基础知识有了大致的了解,今天我们来大概讲一下关于linux系统及vmware的网络配置问题,在这之前,我们需要对网络有一个大概的认识和了解,话不多说,我们…

windows驱动开发-PCI讨论(一)

前面描述中断的时候,我们曾经多次体积PCI,甚至提供了一些PCI的相关知识,但是整个PCI是一个很大的体系,专门记录这个体系超出了这个系列的范畴,有兴趣的可以到PCI官网了解详细的情况。 但是还是会花费一些时间讨论PCI技…

AI办公自动化:用kimi批量把word转换成txt文本

在Kimichat中输入提示词: 你是一个Python编程专家,要完成一个Python脚本编写的任务,具体步骤如下: 打开文件夹:F:\aword 读取里面docx格式的word文档, 提取word文档中的第一行文字作为txt文本文档的标题…

写后端项目时上传文件接口使用阿里云oss-规范写法

文章目录 开通对象存储服务密钥管理点击头像点击密钥管理创建新密钥AccessKey 写在yml配置文件中相关配置1.pom依赖2.全局配置类3.AliOssUtil 工具类3.AliOssProperties类,用于读取yml文件中写入的密钥4.controller层,用于写传输文件的接口 开通对象存储…

线程同步--互斥锁,读写锁

线程同步 基本概念 线程的能力在于能够方便地通过全局变量或共享内存来交换信息,但这也带来了并发控制的复杂性,主要表现在如何安全地管理多个线程对共享资源的访问。这里涉及到几个关键的概念和技术: 临界区(Critical Section…

【C语言】指针(二)

目录 一、传值调用和传址调用 二、数组名的理解 三、通过指针访问数组 四、一维数组传参的本质 五、指针数组 六、指针数组模拟实现二维数组 一、传值调用和传址调用 指针可以用在哪里呢&#xff1f;我们看下面一段代码&#xff1a; #include <stdio.h>void Swap(i…

【Week Y9】yolo-v8网络结构的主要模块学习

文章目录 一、...\ultralytics-main\ultralytics\nn\modules\conv.py&#xff1a;&#xff08;1&#xff09;__all__说明&#xff1a;&#xff08;2&#xff09;autopad()说明&#xff1a;&#xff08;3&#xff09;conv()说明&#xff1a;&#xff08;4&#xff09;Focus()说明…

ue引擎游戏开发笔记(40)——行为树的建立:丰富ai行动

1.需求分析&#xff1a; 敌人的ai行为随着开发的不断更新&#xff0c;会不断增加&#xff0c;如果每次都进入c中编写会很不方便&#xff0c;也无法凸显ue引擎中行为树的优势作用&#xff0c;因此有必要将敌人的ai行为&#xff0c;全部转到行为树中实现。 2.操作实现&#xff1…

R实验 基础(二)

实验目的&#xff1a; 掌握向量的几种类型&#xff1a;数值向量、逻辑向量、字符向量、复数向量&#xff1b;掌握生成向量几个的函数使用和向量的下标运算&#xff1b;掌握因子的定义和相关函数的使用。 实验内容&#xff1a; R语言中&#xff0c;数值向量用得非常多。生成数…

深入解析Wireshark1:从捕获到分析,一网打尽数据包之旅

目录 1 认识 Wireshark 1.1 选择网卡界面 1.2 捕获数据包界面 1.3 常用按钮功能介绍 1.4 数据包列表信息 1.5 数据包详细信息 2 数据包案例分析 Frame: 物理层的数据帧概况 Ethernet II: 数据链路层以太网帧头部信息 Internet Protocol Version 4 (IPv4): 互联网层IP…

【Python】图形用户界面设计

1、设计并编写一个窗口程序,该窗口只有一个按钮,当用户单击时可在后台输出hello world. import tkinter as tk def on_button_click():print("hello world") # 创建主窗口 root tk.Tk() root.title("Hello World Button") # 设置窗口大小 root.geometry…

2005-2022年全国及各省绿色信贷水平测算数据(含原始数据+计算过程+计算结果)

2005-2022年全国及各省绿色信贷水平测算数据&#xff08;含原始数据计算过程计算结果&#xff09; 1、时间&#xff1a;2005-2022年 2、来源&#xff1a;工业统计年鉴、统计年鉴、其中2017年采用插值法填补 3、范围&#xff1a;31省 4、方法说明&#xff1a;选取各省六大高…

每日一题13:Pandas:方法链

一、每日一题 &#xff1b;&#xff1a;&#xff1a; 解答&#xff1a; import pandas as pddef findHeavyAnimals(animals: pd.DataFrame) -> pd.DataFrame:heavy_animals animals[animals[weight] > 100].sort_values(byweight, ascendingFalse)result heavy_anim…

代码随想录--链表--反转链表

题目 题意&#xff1a;反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 思路 如果再定义一个新的链表&#xff0c;实现链表元素的反转&#xff0c;其实这是对内存空间的浪费。 其实只需要改变链表的next指针的…

Java项目:基于ssm框架实现的家政服务网站管理系统分前后台(B/S架构+源码+数据库+毕业论文+答辩PPT)

一、项目简介 本项目是一套基于ssm框架实现的家政服务网站管理系统 包含&#xff1a;项目源码、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经过严格调试&#xff0c;eclipse或者idea 确保可以运行&#xff01; 二、技术实现 jdk版本&#xff1a;1.…