机器学习-线性代数-5-空间中的向量投影与最小二乘法

空间中的向量投影与最小二乘法

文章目录

  • 空间中的向量投影与最小二乘法
    • 一、引入
    • 二、投影和投影的描述
      • 1、投影描述最近
      • 2、利用矩阵描述投影
        • (1)向一维直线投影
        • (2)向二维平面投影
        • (3)向n维子空间投影的一般情况
    • 三、最小二乘法
      • 1、重要的子空间
        • (1)互补的子空间
        • (2)正交的子空间
        • (3)相互正交补的子空间
        • (4)投影过程中子空间的选择
      • 2、最小二乘法

这一部分主要关于近似拟合

一、引入

  1. 线性方程无解情况:如何找到一个原始向量使得经过矩阵变换后距离目标向量最近
  2. 直线拟合:很多不在同一条直线上的点,如何找到一条直线距离这些点的距离最近

二、投影和投影的描述

1、投影描述最近

在空间中有一个穿过原点的直线,并且沿着向量 a a a的方向,在空间中有一个点 b b b,他不在直线上,如何在这条直线找到一个点,使之距离点 b b b最近?如图

image-20230622220522034

在图中,我们发现向量 b b b和向量 a a a的夹角是 θ \theta θ,因此通过b点到直线的最近距离是 ∣ b ∣ s i n θ |b| sin\theta bsinθ。还需要注意到向量 p p p,从原点出发到垂直交点的向量,他是向量 b b b在向量 a a a上的投影。而向量 e = b − p e =b- p e=bp我们称之为误差向量,他的长度就是我们要寻找的最近距离。

在二维、三维空间甚至是更高维空间中,需要使用矩阵工具来描述投影过程。

2、利用矩阵描述投影

如何用矩阵描述向量 b b b向一条直线、一个平面、一个 n n n维空间投影的过程呢?

(1)向一维直线投影

image-20230622220522034

若向量 b b b向一条直线(以 a a a为基向量)投影,记为向量 p p p,向量 p p p可以用 a a a来表示, p = x ^ a p = \hat{x}a p=x^a( x ^ \hat{x} x^表示标量),我们最终可以通过求取这个 x ^ \hat{x} x^,最终得到投影 p p p和投影矩阵$P $.

核心:误差向量 e e e和基向量 a a a垂直,因此有 a ⋅ e = 0 a·e = 0 ae=0,展开得 a ⋅ e = 0 → a ⋅ ( b − p ) = 0 → a ⋅ ( b − x ^ a ) = 0 a·e=0 \rightarrow a·(b - p) = 0 \rightarrow a·(b - \hat{x}a) = 0 ae=0a(bp)=0a(bx^a)=0,此时便可得到 x ^ = a ⋅ b a ⋅ a \hat{x} = \frac{a·b}{a·a} x^=aaab。由 a ⋅ b = a T b a·b = a^Tb ab=aTb,最终得 x ^ = a T b a T a \hat{x} = \frac{a^Tb}{a^Ta} x^=aTaaTb.

因此我们可以得到 p = x ^ a = a T b a T a a p = \hat{x}a = \frac{a^Tb}{a^Ta}a p=x^a=aTaaTba

最后我们要得到将向量 b b b变换到其投影 p p p的变换矩阵 P P P,可以通过如下变换:

p = x ^ a = a T b a T a a = a a T b a T a = a a T a T a b p = \hat{x}a = \frac{a^Tb}{a^Ta}a = a \frac{a^Tb}{a^Ta} = \frac{aa^T}{a^Ta}b p=x^a=aTaaTba=aaTaaTb=aTaaaTb

由此可以得到投影矩阵 P = a a T a T a P = \frac{aa^T}{a^Ta} P=aTaaaT

(2)向二维平面投影

下面将问题拓展到二维平面,这个二维平面不仅局限于 R 2 R^2 R2平面,而是空间中任意过原点的二维平面,假设这个二维平面是 R m R^m Rm的子空间。

若向量中同样有一个向量 b b b,我们想在二维平面找到一个与之距离最近的向量,也就是找向量 b b b在平面上的投影向量 p p p,如图

image-20230623203550344

目标依旧是找到投影 p p p和投影矩阵 P P P.

上过高中的一般都知道,一条直线如果和一个平面垂直,则与平面所有向量垂直,选取二维平面两个线性无关的两个向量 a 1 , a 2 a_1,a_2 a1,a2作为平面的一组基。只要保证误差向量 e e e a 1 , a 2 a_1,a_2 a1,a2分别垂直,就能保证 e e e与整个平面垂直,向量 p p p就是向量 b b b在平面上的投影向量。

同样,核心:误差向量 e e e和基向量 a a a垂直。 a 1 ⋅ e = 0 a_1·e = 0 a1e=0 a 2 ⋅ e = 0 a_2·e = 0 a2e=0,其中 e = b − p e = b - p e=bp

投影向量 p p p一定是 a 1 , a 2 a_1,a_2 a1,a2的线性组合,记作 p = p 1 + p 2 = x 1 ^ a 1 + x 2 ^ a 2 p = p_1 + p_2 = \hat{x_1}a_1 + \hat{x_2}a_2 p=p1+p2=x1^a1+x2^a2。将上面的式子进一步概括:记 A = [ a 1 , a 2 ] , x ^ = [ x 1 ^ x 2 ^ ] A = [a_1, a_2], \hat{x} = \left[\begin{matrix} \hat{x_1} \\\hat{x_2}\end{matrix} \right] A=[a1,a2],x^=[x1^x2^],可以将投影向量写为: p = A x ^ p = A\hat{x} p=Ax^.目标也就转换成求 x ^ \hat{x} x^了。

a 1 ⋅ e = 0 → a 1 ⋅ ( b − p ) = 0 → a 1 T ( b − A x ^ ) = 0 a_1·e = 0 \rightarrow a_1·(b - p) = 0\rightarrow a_1^T(b - A\hat{x}) = 0 a1e=0a1(bp)=0a1T(bAx^)=0,同理 a 2 T ( b − A x ^ ) = 0 a_2^T(b - A\hat{x}) = 0 a2T(bAx^)=0,将两式结合 [ a 1 T a 2 T ] ( b − A x ^ ) = 0 \left[\begin{matrix} a_1^T\\a_2^T\end{matrix} \right](b - A\hat{x})=0 [a1Ta2T](bAx^)=0. A = [ a 1 , a 2 ] A = [a_1, a_2] A=[a1,a2],此时这个式子就是 A T ( b − A x ^ ) = 0 → A T A x ^ = A T b A^T(b - A\hat{x}) = 0 \rightarrow A^TA\hat{x} = A^Tb AT(bAx^)=0ATAx^=ATb,最终有 x ^ = ( A T A ) − 1 A T b \hat{x} = (A^TA)^{-1}A^Tb x^=(ATA)1ATb.

所以 p = A x ^ = A ( A T A ) − 1 A T b p = A\hat{x} = A(A^TA)^{-1}A^Tb p=Ax^=A(ATA)1ATb,则投影矩阵 P = A ( A T A ) − 1 A T P = A(A^TA)^{-1}A^T P=A(ATA)1AT.

(3)向n维子空间投影的一般情况

与二维类似。

x ^ = ( A T A ) − 1 A T b \hat{x} = (A^TA)^{-1}A^Tb x^=(ATA)1ATb.

p = A x ^ = A ( A T A ) − 1 A T b p = A\hat{x} = A(A^TA)^{-1}A^Tb p=Ax^=A(ATA)1ATb

P = A ( A T A ) − 1 A T P = A(A^TA)^{-1}A^T P=A(ATA)1AT

以上讲解的便是如何将一个向量向空间中任意一个子空间进行投影的过程。

三、最小二乘法

最小二乘法关注的是向哪投影,即如何选择投影子空间的问题

1、重要的子空间

(1)互补的子空间

在一个 R m R^m Rm的空间中,我们可以选取 m m m个线性无关的向量 a 1 a_1 a1 a 2 a_2 a2、…、 a m a_m am构成一组基,如果将这组基向量分为两个组,分别构成子空间,可以说这两个空间是互补关系。

概括的说,互补的子空间一方面由不同的基向量所张成,另一方面他们的维数之和为整个 R m R^m Rm空间的维数。空间任意一个向量向这些子空间上的投影之和,就是向整个空间的投影。

(2)正交的子空间

子空间 V V V和子空间 W W W正交成立的条件是,子空间 V V V中任意一个向量 v v v和子空间 W W W中任意一个向量 w w w都垂直。

(3)相互正交补的子空间

R m R^m Rm中的两个互补子空间,如果满足相互正交关系,则他们满足正交补的关系。

(4)投影过程中子空间的选择

前面我们提到,在子空间中寻找与目标向量 b b b最近的投影向量 p p p,前提就是误差向量 e = b − p e = b - p e=bp与投影向量 p p p相互垂直。由于 b = e + p b = e + p b=e+p e ⋅ p = 0 e·p=0 ep=0,则 p p p所在的子空间和 e e e所在的子空间在 R m R^m Rm中构成了正交补的关系。

对于一个 R m R^m Rm的空间,矩阵 A m n A_{mn} Amn,所有满足 A x = 0 Ax = 0 Ax=0的向量 x x x构成了 A A A的零空间 N ( A ) N(A) N(A),这个式子展开

A x = [ c o l 1   c o l 2   . . .   c o l m ] x = [ 0 . . . 0 ] Ax = [col_1\ col_2\ ...\ col_m]x = \left[\begin{matrix} 0 \\...\\0\end{matrix} \right] Ax=[col1 col2 ... colm]x= 0...0 表明任意一个列向量与任意一个零向量垂直,因此列空间与零空间在 R m R^m Rm空间中满足正交互补。

2、最小二乘法

上面求取无解线性方程组近似解的方法就是最小二乘法。最终算得投影后的误差最小 ∣ e ∣ = ∣ b − p ∣ = ( b 1 − p 1 ) 2 + ( b 2 − p 2 ) 2 + . . . + ( b m − p m ) 2 |e| = |b - p| = \sqrt{(b_1 - p_1)^2+(b_2 - p_2)^2+...+(b_m - p_m)^2} e=bp=(b1p1)2+(b2p2)2+...+(bmpm)2

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

12.面板问题

面板问题 html部分 <h1>Lorem ipsum dolor sit, amet consectetur adipisicing.</h1><div class"container"><div class"faq"><div class"title-box"><h3 class"title">Lorem, ipsum dolor.<…

(转载)神经网络遗传算法函数极值寻优(matlab实现)

本博客的完整代码获取&#xff1a; https://www.mathworks.com/academia/books/book106283.html 1案例背景 对于未知的非线性函数,仅通过函数的输入输出数据难以准确寻找函数极值。这类问题可以通过神经网络结合遗传算法求解,利用神经网络的非线性拟合能力和遗传算法的非线性…

make/makefile的使用

make/makefile 文章目录 make/makefile初步认识makefile的工作流程依赖关系和依赖方法make的使用 总结 make是一个命令&#xff0c;是一个解释makefile中指令的命令工具&#xff0c;makefile是一个文件&#xff0c;当前目录下的文件&#xff0c;两者搭配使用&#xff0c;完成项…

数据预处理matlab

matlab数据的获取、预处理、统计、可视化、降维 数据的预处理 - MATLAB & Simulink - MathWorks 中国https://ww2.mathworks.cn/help/matlab/preprocessing-data.html 一、数据的获取 1.1 从Excel中获取 使用readtable() 例1&#xff1a; 使用spreadsheetImportOption…

【AutoSAR 架构介绍】

AutoSAR简介 AUTOSAR是Automotive Open System Architecture&#xff08;汽车开放系统架构&#xff09;的首字母缩写&#xff0c;是一家致力于制定汽车电子软件标准的联盟。 AUTOSAR是由全球汽车制造商、部件供应商及其他电子、半导体和软件系统公司联合建立&#xff0c;各成…

npm link 实现全局运行package.json中的指令

packages.json "name":"testcli","bin": {"itRun": "index.js"},执行命令 npm link如果要解绑定 npm unlink testcli 现在你可以输入 itRun试一下

MySQL高阶语句之二

目录 一、子查询 1.1语法 1.2select 1.3insert 1.3update 1.4delete 1.5 exists 1.6别名as 二、MySQL视图 2.1功能 2.2区别 2.3联系 2.4 创建视图(单表) 2.5 创建视图(多表) 2.6修改原表数据 2.7修改视图数据 三、NULL值 四、连接查询 4.1内连接 4.1.1语法 4.1.…

LangChain+LLM大模型问答能力搭建与思考

1. 背景 最近&#xff0c;大模型&#xff08;LLMs&#xff0c;Large Language Models&#xff09;可谓是NLP领域&#xff0c;甚至整个科技领域最火热的技术了。凑巧的是&#xff0c;我本人恰好就是NLP算法工程师&#xff0c;面临着被LLMs浪潮淘汰的窘境&#xff0c;决定在焦虑…

配置jenkins 服务器与目标服务器自动化部署

在配置完远程构建后可以通过添加post-build step 执行shell脚本的方式将包传到远程服务器等一系列操作。 通过scp传输打包好的项目到目标服务器 按照链接 方式配置免密操作&#xff0c;需要注意的是要在jenkins 用户目录下配置生成私钥密钥&#xff0c;配置jenkins 的免密&…

我的踩坑记录!!!积累中......

bug记录&#xff1a; 解决 nodejs安装后&#xff0c;在安装目录下【nodejs】创建两个文件夹【node_global】及【node_cache】用来配置全局环境变量。 之后&#xff0c;打开cmd命令窗口&#xff0c;输入 npm config set prefix ”D:\Program Files\nodejs\node_global” npm con…

YOLO-V5分类实战系列 —— 调优自己的数据集+RK1808部署

YOLO-V5分类实战系列 —— 调优自己的数据集 1、保存训练和测试图片2、数据归一化3、数据增强3.1、数据增强库&#xff1a;albumentations3.2、数据增强库&#xff1a;torchvision 4、ONNX CPU 推理4.1、Pt 模型转为 ONNX4.2、ONNX 推理验证4.3、 ONNX CPU推理&#xff08;C&am…

蓝桥杯专题-真题版含答案-【生命之树】【消除尾一】【密码脱落】【生日蜡烛】

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列点击跳转>蓝桥系列 &#x1f449;关于作者 专注于Android/Unity和各种游…

使用GGML和LangChain在CPU上运行量化的llama2

Meta AI 在本周二发布了最新一代开源大模型 Llama 2。对比于今年 2 月发布的 Llama 1&#xff0c;训练所用的 token 翻了一倍&#xff0c;已经达到了 2 万亿&#xff0c;对于使用大模型最重要的上下文长度限制&#xff0c;Llama 2 也翻了一倍。 在本文&#xff0c;我们将紧跟趋…

回归预测 | MATLAB实现TCN-LSTM时间卷积长短期记忆神经网络多输入单输出回归预测

回归预测 | MATLAB实现TCN-LSTM时间卷积长短期记忆神经网络多输入单输出回归预测 目录 回归预测 | MATLAB实现TCN-LSTM时间卷积长短期记忆神经网络多输入单输出回归预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 1.Matlab实现TCN-LSTM时间卷积神经网络结合长…

pytorch学习——第二个模型(逻辑回归)

参考该博客系统学习Pytorch笔记二&#xff1a;Pytorch的动态图、自动求导及逻辑回归 c l a s s { 0 0.5 > y 1 0.5 ≤ y class\left\{ \begin{array}{rcl} 0 & & {0.5 > y}\\ 1 & & {0.5 \le y}\\ \end{array} \right. class{01​​0.5>y0.5≤y​ 根…

伦敦金投资仓位控制的方法

留意本栏目过去的文章的朋友都会发现&#xff0c;其实小编认为资金管理很重要&#xff0c;甚至重要性超过技术分析找到入场机会。在资金管理中&#xff0c;关于仓位的控制是一门很大的学问&#xff0c;在伦敦金投资中&#xff0c;仓位的控制关系到我们盈亏的多少&#xff0c;甚…

数据仓库设计理论

数据仓库设计理论 一、数据仓库基本概念 1.1、数据仓库介绍 数据仓库是一个用于集成、存储和分析大量结构化和非结构化数据的中心化数据存储系统。它旨在支持企业的决策制定和业务分析活动。 1.2、基本特征 主题导向&#xff1a;数据仓库围绕特定的主题或业务领域进行建模…

探索物联网HMI的端口转发和NAT功能

前言 端口转发和NAT功能常用于内网穿透&#xff0c;实现内部网络和外部网络之间的数据传输&#xff0c;工作人员通过外部网络便可安全访问到内网设备&#xff0c;实现设备的状态监测。接下来小编将为大家介绍支持端口转发和NAT功能的虹科物联网HMI是如何帮助用户实现内网穿透。…

2023年Q2京东洗衣机行业品牌销售排行榜(京东销售数据分析)

鲸参谋电商大数据2023年Q2京东平台“洗衣机”品类完整销售数据榜单出炉&#xff01; 根据鲸参谋电商数据显示&#xff0c;今年Q2京东平台上洗衣机行业的销量超过380万&#xff0c;环比下降19%&#xff0c;同比上升约2%&#xff1b;行业销售额达63亿&#xff0c;环比下降约14%&a…

Vue3通透教程【十六】TS编译配置

文章目录 &#x1f31f; 写在前面&#x1f31f; 初始化配置文件⭐ target⭐ module⭐ lib⭐ types/node⭐ include⭐ outDir&#x1f31f; 写在最后 &#x1f31f; 写在前面 专栏介绍&#xff1a; 凉哥作为 Vue 的忠实 粉丝输出过大量的 Vue 文章&#xff0c;应粉丝要求开始更…