线性代数 --- 最小二乘在直线拟合上的应用与Gram-Schmidt正交化(下)

news2024/11/9 0:14:10

        在上一篇文章中,通过一个例子来说明最小二乘在拟合直线时所发挥的作用,也通过两个插图的比较进一步的阐明了投影与最小化e之间的密切关系。

线性代数 --- 最小二乘在直线拟合上的应用与Gram-Schmidt正交化(上)_松下J27的博客-CSDN博客本文接续上文,从最小二乘在直线拟合上的应用开始,一步步推导出什么是Gram-Schmidt正交化,以及为什么我们需要对矩阵A中的列向量进行正交化的处理https://blog.csdn.net/daduzimama/article/details/129995583        在这篇文章中,我们依然会从三组数据点的直线拟合开始,所不同的是,这次的三个观测点的值比较特殊,继而引出Gram-Schmidt正交化的概念。

Example 2:

        在一个实验中的不同时刻t = -2,0,2下(稍微提醒一下,在Example 1中的时间轴并不是等间隔的,分别是-1,1,2),得到三组测量值b = 1,2,4。在直角坐标系中画出这三个点,这三点不在同一条直线上。如图:

用b=C+Dt表示这些点所穿过的直线,得到如下方程组:

 这三个点不在同一直线上,故而无解。需要通过求解最小二乘方程组,联立正规方程A^{T}A\hat{x}=A^{T}b

 \large A=\begin{bmatrix} 1 & -2\\ 1 & 0\\ 1 & 2 \end{bmatrix}                \large \hat{x}=\begin{bmatrix} \hat{C}\\ \hat{D} \end{bmatrix}                \large b=\begin{bmatrix} 1\\ 2\\ 4 \end{bmatrix}

 左边A^{T}A

\large A^{T}A=\begin{bmatrix} 1 &1 & 1\\ -2& 0 & 2 \end{bmatrix}\begin{bmatrix} 1 &-2 \\ 1&0 \\ 1 & 2 \end{bmatrix}=\begin{bmatrix} 3 &\mathbf{0} \\ \mathbf{0}& 8 \end{bmatrix}

 右边A^{T}b

\large A^{T}b=\begin{bmatrix} 1 &1 & 1\\ -2& 0 & 2 \end{bmatrix}\begin{bmatrix} 1 \\2 \\ 4 \end{bmatrix}=\begin{bmatrix} 7 \\ 6 \end{bmatrix}

 得到:

\large A^{T}A\hat{x}=A^{T}b\; \mathbf{ is}\; \begin{bmatrix} 3 &0 \\ 0 & 8 \end{bmatrix}\begin{bmatrix} \hat{C}\\ \hat{D} \end{bmatrix} = \begin{bmatrix} 7\\ 6 \end{bmatrix}

最终得到最优解为:\hat{C}=7/3,\hat{D}=6/8

\large \hat{x}=(A^{T}A)^{-1}A^{T}b=\begin{bmatrix} 1/3 &0 \\ 0& 1/8 \end{bmatrix} \begin{bmatrix} 7\\ 6 \end{bmatrix} = \begin{bmatrix} 7/3\\ 6/8 \end{bmatrix}

 对应的最佳拟合直线为:

\large f(x)=7/3+6/8t

 同时,求出投影向量p:

\large p=A(A^{T}A)^{-1}A^{T}b=A{\hat{x}}=\begin{bmatrix} 1 & -2\\ 1 &0 \\ 1 & 2 \end{bmatrix} \begin{bmatrix} 7/3\\ 6/8 \end{bmatrix} =\begin{bmatrix} 5/6\\ 7/3\\ 23/6 \end{bmatrix}

如下图所示: 

        现在让我们回过头来看看求解最优解的过程,在本例中,到目前为止我的计算过程和方法和前一篇文章中的Example 1中的做法一模一样,依然是直接套用\hat{x}和p的公式计算的,比如: 

再比如:

         但实际上,如果我们留心一下前面的正规方程,我们就能发现,我们可以直接通过求解正规方程,得到最优解 \hat{C}=7/3,\hat{D}=6/8由于本例中矩阵A的两个列向量比较特殊,使得A^{T}A是一个对角阵。这样一来,我们就可以直接写出每个方程的解。

A^{T}A之所以会是一个对角阵,主要原因有二:其一,向量t中所有元素的和为0,或者说测量值b1,b2和b3是在关于t=0的对称的时刻所取的值。其二,矩阵A中的两个列向量[1,1,1]和[-2,0,2]的内积为0,他们是相互正交的

        如果,实验的三个观测点所选取的三个时刻t的和不等于0,或者不关于t=0对称。(就本例而言,因为矩阵A的第一列为全1向量,因此,如果向量t的和不为0,他和另一个向量的内积就不为0)。我们可以先花点时间,通过让t减去t的均值\hat{t}=(t1+t2+...+tm)/m达到,因为这样一来我们就能通过正规方程直接求出\hat{x}。例如,当t=(1,3,5)时, 他的和不等于0。他的均值\hat{t}=3, 然后让t中的每一个元素都减去均值,得到新的T=t-\hat{t}=t-3=(-2,0,2)。这样一来T的和又等于0了!与此同时,直线的拟合方程也从\hat{C}+\hat{D}t变成了\hat{C}+\hat{D}T =  \hat{C}+\hat{D}(t-\hat{t}) = \hat{C}+\hat{D}(t - 3)。

         这样一来,我们就不再需要通过公式\hat{x}=(A^{T}A)^{-1}A^{T}b去求解\hat{C}\hat{D},直接求解正规方程(Normal Equation)就能得到\hat{C}\hat{D}

        事实上,这个特殊的例子和“Gram-Schmidt正交化”的思路,不谋而合。即,如果原始矩阵A中的列向量不是正交向量,则,先把矩阵A中的列向量变成正交向量。如此一来,正规方程A^{T}A\hat{x}=A^{T}b左边的A_{new}^{T}A_{new}部分就会变成一个对角阵,一旦A_{new}^{T}A_{new}的结果是一个对角阵,求解\hat{x}就会变的非常容易。

        后面我们会看到Gram-Schmidt正交化不仅会把A_{new}^{T}A_{new}变成一个对角阵,不仅如此,还会把A_{new}^{T}A_{new}变成一个单位矩阵,那样的话,求解方程就会变的更容易。

小结:

        对于最小二乘而言,我们一开始只要求矩阵A中的各列是线性无关的,因为只有这样,A^{T}A才可逆。但在这里,我们不但要求A中各列线性无关,我们还要求A中的列向量是相互正交的,从而引出了Gram-Schmidt正交化的雏形。


 (全文完)

作者 --- 松下J27

参考文献(鸣谢):

1,Introduction to Linear Algebra,Fifth Edition - Gilbert Strang(文中大部分插图来自于这本书)

2,绘图软件,Graphing Calculator

经典歌词赏析:

        自己和自己别做扣,树和影子儿闹的啥别扭。心河打开拧了好多扣,就象开了锅的玉米粥 。

---摘自《拖网的古船没快舟》(《古船·女人和网》主题歌)

(配图与本文无关)

版权声明:文中的部分图片,文字或者其他素材,可能来自很多不同的网站和说明,在此没法一一列出,如有侵权,请告知,立即删除。欢迎大家转载,但是,如果有人引用或者COPY我的文章,必须在你的文章中注明你所使用的图片或者文字来自于我的文章,否则,侵权必究。 ----松下J27

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

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

相关文章

【UE Sequencer系列】08-副镜头切换、摄像机绑定摇臂的使用、摄像机绑定滑轨的使用

目录 一、副镜头切换 二、摄像机绑定摇臂的使用 三、摄像机绑定滑轨的使用 一、副镜头切换 1. 为“shot_05”新建镜头(复制资产,创建新的关卡序列) 同样的步骤再创建一个“Shot_07_02” 此时我们就可以对“Shot_07”中的两个副镜头进行切换…

最简单明了vite+ts+sass无loaders配置,利用ts读取scss文件中的变量并在App.vue中使用

做后端的,前端水平有限,最近练手,遇到了左侧菜单是展开关闭的问题,接触到了scss中定义全局变量,利用typescript读取的问题,在此记录一下 vitetssass 环境:package.json中内容如下,…

利用KMean算法进行分类

什么是KMean算法?简要说明什么是KMean算法,以及KMean算法的应用场景。 KMeans是一种聚类算法,它将数据集分成K个不同的类别(簇),使得每个数据点都属于一个簇,并且每个簇的中心点(质…

网络通信的安全性(HTTPS)

网络通信的安全性(HTTPS) 互联网是由无数网络节点组成的,两点之间的通信一般会经过很多个网络节点,因此,我们难免会有疑问: 作为发送方,我发送的消息内容会不会被中间人看到?&…

4.2 矩阵乘法的Strassen算法

1.伪代码以及用到的公式 ​ ​ ​ 2.代码 package collection; ​ public class StrassenMatrixMultiplication {public static int[][] multiply(int[][] a, int[][] b) {int n a.length;int[][] result new int[n][n]; ​if (n 1) {result[0][0] a[0][0] * b[0][0]…

为什么是毫末智行成为了DriveGPT的破壁人?

作者 | 魏启扬 来源 | 洞见新研社 毫末智行有着天生的紧迫感。 很多科技公司一年才举办一次的品牌日活动,毫末智行硬是办成了一个季度一次,活动频次的提高,则意味着组织内部新陈代谢的提速,从研发到落地乃至运营,都要…

ChatGPT 这个风口,普通人怎么抓住?

最近在测试ChatGPT不同领域的变现玩法,有一些已经初见成效,接下来会慢慢分享出来。 今天先给大家分享一个,看完就能直接上手的暴力引流玩法。 所需工具: 1)ChatGPT(最好是plus版,需要保证快速…

一个开源的大型语言模型LLaMA论文简单解读,LLaMA: Open and Efficient Foundation Language Models

一个开源的大型语言模型LLaMA论文解读,LLaMA: Open and Efficient Foundation Language Models返回论文和资料目录 1.导读 LLaMA 是 Meta AI 发布的包含 7B、13B、33B 和 65B 四种参数规模的基础语言模型集合,LLaMA-13B 仅以 1/10 规模的参数在多数的 …

ASEMI代理AD8638ARJZ-REEL7原装ADI车规级AD8638ARJZ-REEL7

编辑:ll ASEMI代理AD8638ARJZ-REEL7原装ADI车规级AD8638ARJZ-REEL7 型号:AD8638ARJZ-REEL7 品牌:ADI /亚德诺 封装:SOT-23-5 批号:2023 安装类型:表面贴装型 引脚数量:5 类型&#xff1…

初谈 ChatGPT

引子 最近,小编发现互联网中的大 V 突然都在用 ChatGPT 做宣传:“ChatGPT不会淘汰你,能驾驭ChatGPT的人会淘汰你”、“带领一小部分人先驾驭ChatGPT”。 确实,ChatGPT这个新生事物,如今被视为蒸汽机、电脑、iPhone 般的…

【ChatGPT 】国内无需注册 openai 即可访问 ChatGPT:ChatGPT Sidebar 浏览器扩展程序的安装与使用

一、前言 问题:国内注册 openai 账号麻烦,新必应有部分人也无法登录成功,存在域名单点登录失败等问题,所以无法真正使用 ChatGPT 解决:大部分人仅需使用 ChatGPT 的搜索功能,无需真正对话,需要…

云计算技术的现状和未来发展趋势分析

近年来,随着互联网、物联网、大数据等技术的不断发展,云计算技术也随之崛起并迅速发展。云计算技术作为一种新的计算模式,不断地改变着我们的生活和工作方式,成为了当今IT产业的一股强大的力量。本文将详细探讨云计算技术的现状和…

第十天面试实战篇

目录 一、springboot的常用注解? 二、springmvc常用注解? 三、mysql的内连接和外连接有什么区别?比如有两张表:A和B内连接只返回两个表A和B的交集部分 四、redis分布式锁的缺点有哪些? 五、如何使用reddssion解决r…

多个渠道成功销售的秘诀速递

将您的电子商务业务扩展到多个渠道销售似乎是一项艰巨的任务吗?但如果有了正确的多渠道增长战略,这可能是实现快速增长的好方法。当然,您需要考虑借助一些工具与策略,而SaleSmartly(ss客服)可以为您提供。 …

Python做个猫狗识别系统,给人美心善的邻居

嗨害大家好鸭!我是爱摸鱼的芝士❤ 宠物真的看着好治愈 谁不想有一只属于自己的乖乖宠物捏~ 这篇文章中我放弃了以往的model.fit()训练方法, 改用model.train_on_batch方法。 两种方法的比较: model.fit():用起来十分简单&#…

【剧前爆米花--爪哇岛寻宝】java文件操作和io流

作者:困了电视剧 专栏:《JavaEE初阶》 文章分布:这是一篇关于文件操作的文件,介绍了文件读写以及相关对象的内容,希望对你有所帮助! 目录 文件操作 文件路径 绝对路径 相对路径 File类 File类的构造方…

REDIS Hash 槽 与 一致性hash

开头还是介绍一下群,如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis 等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请联系 liuaustin3 ,在新加的朋友会分到2群(共…

Spring boot+Vue3博客平台:文章发布与编辑功能的技术实现

本文将详细介绍如何实现一个博客平台中的文章发布与编辑功能,包括前端的Vue组件设计和后端的Spring Boot接口实现。在阅读本文后,您将了解如何设计和实现高效、易用的文章发布与编辑功能。 一、发布文章 设计思路 在设计文章发布功能时,我们…

vscode中调试rust程序

文章目录一、vscode运行和调式rust程序二、常见问题1.rust: Request textDocument/formatting failed.2.cargo命令3.使用rust-gdb调试rust程序4.cargo build太慢一、vscode运行和调式rust程序 环境:在WSL(ubuntu20.04)中使用vscode &#xf…

数据技术嘉年华星光璀璨,云和恩墨全栈数据技术能力闪耀会场

导语 2023年4月7-8日,由中国DBA联盟(ACDU)和墨天轮社区联合主办的第十二届『数据技术嘉年华』(DTC 2023)在北京成功举办。云和恩墨作为大会的协办方和深度参与者,以6场演讲2大展台全面呈现公司的全栈数据技…