《机器学习数学基础》补充资料:过渡矩阵和坐标变换推导
尽管《机器学习数学基础》这本书,耗费了比较长的时间和精力,怎奈学识有限,错误难免。因此,除了在专门的网页( 勘误和修订 )中发布勘误和修订内容之外,对于重大错误,我还会以专题的形式发布,并做出更多的相关解释。
更欢迎有识之士、广大读者朋友,指出其中的错误。非常感谢大家的帮助。
在《机器学习数学基础》第29页到第30页,推导过渡矩阵和坐标变换的时候,原文有一些错误。下面将推导过程重新编写如下,并且增加一些更详细的说明。此说明没有写入原文,是为了协助理解这段推导而作。
针对性的修改,请参阅:勘误与修订
设 { α 1 , ⋯ , α n } \{\pmb{\alpha}_1, \cdots, \pmb{\alpha}_n\} {α1,⋯,αn}( α i \pmb{\alpha}_i αi 表示列向量) 是某个向量空间的一个基,则该空间中一个向量 O A → \overrightarrow{OA} OA 可以描述为:
O A → = x 1 α 1 + ⋯ + x n α n (1.3.4) \overrightarrow{OA} = x_1\pmb{\alpha}_1 + \cdots + x_n\pmb{\alpha}_n\tag{1.3.4} OA=x1α1+⋯+xnαn(1.3.4)
其中的 ( x 1 , ⋯ , x n ) (x_1, \cdots, x_n) (x1,⋯,xn) 即为向量 O A → \overrightarrow{OA} OA 在基 { α 1 , ⋯ , α n } \{\pmb{\alpha}_1, \cdots, \pmb{\alpha}_n\} {α1,⋯,αn} 的坐标。
如果有另外一个基 { β 1 , ⋯ , β n } \{\pmb{\beta}_1, \cdots, \pmb{\beta}_n\} {β1,⋯,βn}( β i \pmb{\beta}_i βi 表示列向量),向量 O A → \overrightarrow{OA} OA 又描述为:
O A → = x 1 ′ β 1 + ⋯ + x n ′ β n (1.3.5) \overrightarrow{OA} = x_1'\pmb{\beta}_1 + \cdots + x_n'\pmb{\beta}_n\tag{1.3.5} OA=x1′β1+⋯+xn′βn(1.3.5)
那么,同一个向量空间的这两个基有没有关系呢?有。不要忘记,基是一个向量组,例如基 { β 1 , ⋯ , β n } \{\pmb{\beta}_1, \cdots, \pmb{\beta}_n\} {β1,⋯,βn} 中的每个向量也在此向量空间,所以可以用基 { α 1 , ⋯ , α n } \{\pmb{\alpha}_1, \cdots, \pmb{\alpha}_n\} {α1,⋯,αn} 线性表出,即:
{ β 1 = b 11 α 1 + ⋯ + b n 1 α n ⋮ β n = b 1 n α 1 + ⋯ + b n n α n \begin{cases}\begin{split}\pmb{\beta}_1 &= b_{11}\pmb{\alpha}_1 + \cdots + b_{n1}\pmb{\alpha}_n \\ \vdots \\\pmb{\beta}_n &= b_{1n}\pmb{\alpha}_1 + \cdots + b_{nn}\pmb{\alpha}_n \end{split}\end{cases} ⎩ ⎨ ⎧β1⋮βn=b11α1+⋯+bn1αn=b1nα1+⋯+bnnαn
以矩阵(这里提前使用了矩阵的概念,是因为本书已经在前言中声明,不假定读者完全没有学过高等数学。关于矩阵的更详细内容,请参阅第2章)的方式,可以表示为:
[ β 1 ⋯ β n ] = [ α 1 ⋯ α n ] [ b 11 ⋯ b 1 n ⋮ b n 1 ⋯ b n n ] (1.3.6) \begin{equation} \begin{split} \begin{bmatrix}\pmb{\beta}_1&\cdots&\pmb{\beta}_n\end{bmatrix} = \begin{bmatrix}\pmb{\alpha}_1&\cdots&\pmb{\alpha}_n\end{bmatrix}\begin{bmatrix}b_{11} & \cdots & b_{1n}\\\vdots\\b_{n1} & \cdots &b_{nn}\end{bmatrix} \end{split} \end{equation}\tag{1.3.6} [β1⋯βn]=[α1⋯αn] b11⋮bn1⋯⋯b1nbnn (1.3.6)
其中:
P = [ b 11 ⋯ b 1 n ⋮ b n 1 ⋯ b n n ] \pmb P = \begin{bmatrix}b_{11} & \cdots & b_{1n}\\\vdots\\b_{n1} & \cdots &b_{nn}\end{bmatrix} P= b11⋮bn1⋯⋯b1nbnn
称为基 { α 1 , ⋯ , α n } \{\pmb{\alpha}_1, \cdots, \pmb{\alpha}_n\} {α1,⋯,αn} 向基 { β 1 , ⋯ , β n } \{\pmb{\beta}_1, \cdots, \pmb{\beta}_n\} {β1,⋯,βn} 的过渡矩阵。显然,过渡矩阵实现了一个基向另一个基的变换。
定义 在同一个向量空间,由基 { α 1 ⋯ α n } \{\pmb{\alpha}_1\quad\cdots\quad\pmb{\alpha}_n\} {α1⋯αn} 向基 { β 1 ⋯ β n } \{\pmb{\beta}_1\quad\cdots\quad\pmb{\beta}_n\} {β1⋯βn} 的过渡矩阵是 P \pmb{P} P ,则:
[ β 1 ⋯ β n ] = [ α 1 ⋯ α n ] P [\pmb{\beta}_1\quad\cdots\quad\pmb{\beta}_n] = [\pmb{\alpha}_1\quad\cdots\quad\pmb{\alpha}_n]\pmb P [β1⋯βn]=[α1⋯αn]P
根据(1.3.5)式,可得:
x 1 ′ β 1 + ⋯ + x n ′ β n = x 1 ′ b 11 α 1 + ⋯ + x 1 ′ b n 1 α n + ⋯ + x n ′ b 1 n α 1 + ⋯ + x n ′ b n n α n = ( x 1 ′ b 11 + ⋯ + x n ′ b 1 n ) α 1 + ⋯ + ( x 1 ′ b n 1 + ⋯ + x n ′ b n n ) α n \begin{split}x_1'\pmb{\beta}_1 + \cdots + x_n'\pmb{\beta}_n &= x_1'b_{11}\pmb{\alpha}_1 + \cdots + x_1'b_{n1}\pmb{\alpha}_n \\ & \quad + \cdots \\ & \quad + x_n'b_{1n}\pmb{\alpha}_1 + \cdots + x_n'b_{nn}\pmb{\alpha}_n \\ &=(x_1'b_{11}+ \cdots + x_n'b_{1n})\pmb{\alpha}_1 \\ & \quad + \cdots \\ &\quad+(x_1'b_{n1} + \cdots + x_n'b_{nn})\pmb{\alpha}_n\end{split} x1′β1+⋯+xn′βn=x1′b11α1+⋯+x1′bn1αn+⋯+xn′b1nα1+⋯+xn′bnnαn=(x1′b11+⋯+xn′b1n)α1+⋯+(x1′bn1+⋯+xn′bnn)αn
(1.3.4)式 和(1.3.5)式描述的是同一个向量,所以:
{ x 1 = x 1 ′ b 11 + ⋯ + x n ′ b 1 n ⋮ x n = x 1 ′ b n 1 + ⋯ + x n ′ b n n \begin{cases}\begin{split}x_1 &= x_1'b_{11} + \cdots + x_n'b_{1n}\\&\vdots\\x_n &= x_1'b_{n1} + \cdots + x_n'b_{nn}\end{split}\end{cases} ⎩ ⎨ ⎧x1xn=x1′b11+⋯+xn′b1n⋮=x1′bn1+⋯+xn′bnn
如果写成矩阵形式,即:
[ x 1 ⋮ x n ] = [ b 11 ⋯ b 1 n ⋮ b n 1 ⋯ b n n ] [ x 1 ′ ⋮ x n ′ ] (1.3.7) \begin{bmatrix}x_1\\\vdots\\x_n\end{bmatrix} = \begin{bmatrix}b_{11} & \cdots & b_{1n}\\\vdots\\b_{n1} & \cdots &b_{nn}\end{bmatrix}\begin{bmatrix}x_1'\\\vdots\\x_n'\end{bmatrix}\tag{1.3.7} x1⋮xn = b11⋮bn1⋯⋯b1nbnn x1′⋮xn′ (1.3.7)
表示了在同一个向量空间中,向量在不同基下的坐标之间的变换关系,我们称为坐标变换公式。
定义 在某个向量空间中,由基 { α 1 ⋯ α n } \{\pmb{\alpha}_1\quad\cdots\quad\pmb{\alpha}_n\} {α1⋯αn} 向基 { β 1 ⋯ β n } \{\pmb{\beta}_1\quad\cdots\quad\pmb{\beta}_n\} {β1⋯βn} 的过渡矩阵是 P \pmb{P} P 。某向量在基 { α 1 ⋯ α n } \{\pmb{\alpha}_1\quad\cdots\quad\pmb{\alpha}_n\} {α1⋯αn} 的坐标是 x = [ x 1 ⋮ x n ] \pmb{x}=\begin{bmatrix}x_1\\\vdots\\x_n\end{bmatrix} x= x1⋮xn ,在基 { β 1 ⋯ β n } \{\pmb{\beta}_1\quad\cdots\quad\pmb{\beta}_n\} {β1⋯βn} 的坐标是 x ′ = [ x 1 ′ ⋮ x n ′ ] \pmb x'=\begin{bmatrix}x_1'\\\vdots \\x_n'\end{bmatrix} x′= x1′⋮xn′ ,这两组坐标之间的关系是:
x = P x ′ \pmb x = \pmb P \pmb x' x=Px′
《机器学习数学基础》第29页到第30页的错误,是我讲授《机器学习数学基础》的课程时发现的。现在深刻体会到:教,然后知不足。教学相长,认真地研究教学,也是自我提升。
相关文章:
《机器学习数学基础》补充资料:过渡矩阵和坐标变换推导
尽管《机器学习数学基础》这本书,耗费了比较长的时间和精力,怎奈学识有限,错误难免。因此,除了在专门的网页( 勘误和修订 )中发布勘误和修订内容之外,对于重大错误,我还会以专题的形…...
linux指令学习--sudo apt-get install vim
1. 命令分解 部分含义sudo以管理员权限运行命令(需要输入用户密码)。apt-getUbuntu 的包管理工具,用于安装、更新、卸载软件包。installapt-get 的子命令,表示安装软件包。vim要安装的软件包名称(Vim 文本编辑器&…...
类和对象—多态—案例2—制作饮品
案例描述: 制作饮品的大致流程为:煮水-冲泡-倒入杯中-加入辅料 利用多态技术实现本案例,提供抽象制作产品基类,提供子类制作咖啡和茶叶 思路解析: 1. 定义抽象基类 - 创建 AbstractDrinking 抽象类,该类…...
嵌入式产品级-超小尺寸游戏机(从0到1 硬件-软件-外壳)
Ultra-small size gaming console。 超小尺寸游戏机-Pico This embedded product is mainly based on miniaturization, followed by his game functions are also very complete, for all kinds of games can be played, and there will be relevant illustrations in the fo…...
计算机毕业设计Python+Django+Vue3微博数据舆情分析平台 微博用户画像系统 微博舆情可视化(源码+ 文档+PPT+讲解)
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...
前端开发10大框架深度解析
摘要 在现代前端开发中,框架的选择对项目的成功至关重要。本文旨在为开发者提供一份全面的前端框架指南,涵盖 React、Vue.js、Angular、Svelte、Ember.js、Preact、Backbone.js、Next.js、Nuxt.js 和 Gatsby。我们将从 简介、优缺点、适用场景 以及 实际…...
Mybatis 的关联映射(一对一,一对多,多对多)
前言 在前面我们已经了解了,mybatis 的基本用法,动态SQL,学会使用mybatis 来操作数据库。但这些主要操作还是针对 单表实现的。在实际的开发中,对数据库的操作,常常涉及多张表。 因此本篇博客的目标:通过my…...
深度解码!清华大学第六弹《AIGC发展研究3.0版》
在Grok3与GPT-4.5相继发布之际,《AIGC发展研究3.0版》的重磅报告——这份长达200页的行业圣经,不仅预测了2025年AI技术爆发点,更将「天人合一」的东方智慧融入AI伦理建构,堪称数字时代的《道德经》。 文档:清华大学第…...
/dev/console文件详解
/dev/console概览 /dev/console 是 Linux 系统中的一个特殊设备文件,通常用于与系统的控制台进行交互。它的作用和特点如下: 1. 作用 init 进程(PID 1)和某些系统服务在启动时会使用 /dev/console 进行日志输出,以确…...
ProfibusDP主站转ModbusTCP网关如何进行数据互换
ProfibusDP主站转ModbusTCP网关如何进行数据互换 在现代工业自动化领域,通信协议的多样性和复杂性不断增加。Profibus DP作为一种经典的现场总线标准,广泛应用于工业控制网络中;而Modbus TCP作为基于以太网的通信协议,因其简单易…...
springboot3 WebClient
1 介绍 在 Spring 5 之前,如果我们想要调用其他系统提供的 HTTP 服务,通常可以使用 Spring 提供的 RestTemplate 来访问,不过由于 RestTemplate 是 Spring 3 中引入的同步阻塞式 HTTP 客户端,因此存在一定性能瓶颈。根据 Spring 官…...
牛客周赛 Round 83
A.和猫猫一起起舞! 思路:遇到‘U’和‘D’,输出‘R’或者‘L’;遇到‘R’和‘L’,输出‘U’或者‘D’.(这题比较简单) AC代码: void solve() {int n, m, k;char ch;cin >> ch;if (ch U || ch D)…...
硬通货用Deekseek做一个Vue.js组件开发的教程
安装 Node.js 与 Vue CLI npm install -g vue/cli vue create my-vue-project cd my-vue-project npm run serve 通过 Vue CLI 可快速生成项目骨架,默认配置适合新手快速上手 目录结构 src/ ├── components/ # 存放组件文件 │ └── …...
Windows权限维持之利用安全描述符隐藏服务后门进行权限维持(八)
我们先打开cs的服务端 然后我们打开客户端 我们点击连接 然后弹出这个界面 然后我们新建一个监听器 然后我们生成一个beacon 然后把这个复制到目标主机 然后我们双击 运行 然后cs这边就上线了 然后我们把进程结束掉 然后我们再把他删除掉 然后我们创建服务 将后门程序注册…...
Ubuntu20.04双系统安装及软件安装(七):Anaconda3
Ubuntu20.04双系统安装及软件安装(七):Anaconda3 打开Anaconda官网,在右侧处填写邮箱(要真实有效!),然后Submit。会出现如图示的Success界面。 进入填写的邮箱,有一封Ana…...
【极光 Orbit•STC8A-8H】02. STC8 单片机工程模板创建
【极光 Orbit•STC8A-8H】02. STC8 单片机工程模板创建 七绝单片机 小小芯片大乾坤, 集成世界在其中。 初学虽感千重难, 实践方知奥妙通。 今天的讲法和过去不同,直接来一个多文件模块化的工程模板创建,万事开头难,…...
Spring Boot WebFlux 中 WebSocket 生命周期解析
Spring Boot WebFlux 中的 WebSocket 提供了一种高效、异步的方式来处理客户端与服务器之间的双向通信。WebSocket 连接的生命周期包括连接建立、消息传输、连接关闭以及资源清理等过程。此外,为了确保 WebSocket 连接的稳定性和可靠性,我们可以加入重试…...
PostgreSQL中的事务隔离
1. 事务隔离的概念 在数据库管理系统中,事务隔离是一项重要的功能,它能确保在并发访问数据库时事务之间能够独立运行,不会相互干扰。数据库系统通常支持不同级别的事务隔离,用来满足不同应用程序之间的需求。 2. 事务隔离的种类…...
基于Rye的Django项目通过Pyinstaller用Github工作流简单打包
前言 Rye的介绍和安装 Ryehttps://rye.astral.sh/Rye 完整使用教程_安装rye-CSDN博客https://blog.csdn.net/zhenndbc/article/details/144544692 正文 项目建立 配置好环境后 新建文件夹 新建文件夹,进入项目 初始化 rye init下载依赖 rye syncpycharm 打…...
ubuntu 20.04 C++ 源码编译 cuda版本 opencv4.5.0
前提条件是安装好了cuda和cudnn 点击下载: opencv_contrib4.5.0 opencv 4.5.0 解压重命名后 进入opencv目录,创建build目录 “CUDA_ARCH_BIN ?” 这里要根据显卡查询一下,我的cuda是11,显卡1650,所以是7.5 查询链接:…...
(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)
题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...
C++_核心编程_多态案例二-制作饮品
#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...
Oracle查询表空间大小
1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...
8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...
(二)TensorRT-LLM | 模型导出(v0.20.0rc3)
0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...
《通信之道——从微积分到 5G》读书总结
第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...
生成 Git SSH 证书
🔑 1. 生成 SSH 密钥对 在终端(Windows 使用 Git Bash,Mac/Linux 使用 Terminal)执行命令: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" 参数说明: -t rsa&#x…...
Robots.txt 文件
什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...
LangChain【6】之输出解析器:结构化LLM响应的关键工具
文章目录 一 LangChain输出解析器概述1.1 什么是输出解析器?1.2 主要功能与工作原理1.3 常用解析器类型 二 主要输出解析器类型2.1 Pydantic/Json输出解析器2.2 结构化输出解析器2.3 列表解析器2.4 日期解析器2.5 Json输出解析器2.6 xml输出解析器 三 高级使用技巧3…...
