矩阵乘法的直觉

矩阵乘法是什么意思?

一种常见的观点是矩阵乘法缩放/旋转/倾斜几何平面:

NSDT工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 - REVIT导出3D模型插件 - 3D模型语义搜索引擎 - Three.js虚拟轴心开发包 - 3D模型在线减面 - STL模型在线切割 

这在第一次学习向量时很有用:向量输入,新向量输出。不幸的是,这可能导致过度依赖几何可视化。

如果有 20 个家庭来参加你的烧烤,你如何估计你需要的热狗?(嗯……20 个家庭,假设每个家庭 3 人,每人 2 个热狗……大约 20 * 3 * 2 = 120 个热狗。)

你可能不会想“哦,我需要一个邀请-家庭规模-饥饿棱镜的体积!”。对于大型矩阵,我不会考虑 500 维向量,只会考虑要修改的数据。

另一种开发是矩阵乘法组成线性运算。

这是技术上准确的定义:是的,矩阵乘法会产生一个由原始函数组成的新矩阵。但是,有时被操作的矩阵不是线性运算,而是一组向量或数据点。我们需要另一种直觉来了解正在发生的事情。

我将以软件开发人员的观点来看待这个问题:

矩阵乘法与信息流有关,将数据转换为代码并转换回。

我认为线性代数是“数学电子表格”:

  • 我们将信息存储在各种电子表格(“矩阵”)中
  • 一些数据被视为要应用的函数,其他数据被视为要使用的数据点
  • 我们可以根据需要在向量和函数解释之间切换

有时我会将数据视为几何向量,有时我会将矩阵视为组合函数。但我主要考虑的是系统中的信息流动。

1、开发者的直觉:代码就是数据,数据就是代码

拿你最喜欢的食谱来说吧。如果你把这些词解释为指令,你最终会得到馅饼、松饼、蛋糕等。

如果你把这些词解释为数据,那么文本就是可以调整的散文:

  • 将测量单位转换为公制单位
  • 由于过敏而更换配料
  • 根据海拔高度或不同的设备进行调整

结果是一个新的食谱,可以进一步调整,或作为指令执行,制作不同的馅饼、松饼、蛋糕等。编译器将程序视为文本,对其进行修改,并最终输出“指令”——可能是另一层的文本。

这就是线性代数。我们将“3 4 5”等原始信息视为向量或函数,具体取决于它的写法:

按照惯例,垂直列通常是一个向量,水平行通常是一个函数:

  • [3; 4; 5] 表示 x = (3, 4, 5)。这里,x 是一个数据向量(我使用 ; 来分隔每行)。
  • [3 4 5] 表示 f(a, b, c) = 3a + 4b + 5c。这是一个接受三个输入并返回单个结果的函数。

然后就是顿悟时刻:数据就是代码,代码就是数据!

包含水平函数的行实际上可以是三个数据点(每个数据点都有一个元素)。垂直数据列实际上可以是三个不同的函数,每个函数都采用一个参数。

啊。这变得简洁了:根据期望的结果,我们可以以不同的顺序组合数据和代码。

2、矩阵转置

矩阵转置交换行和列。这是它在实践中的含义。

如果 x 是一个有 3 个条目的列向量( [3; 4; 5] ),那么 x' 是:

  • 采用 3 个参数的函数( [3 4 5]
  • x'仍然可以保留为数据向量,但作为三个单独的条目。转置“将其拆分”。

类似地,如果 f = [3 4 5] 是我们的行向量,那么 f' 可以表示:

  • 垂直列中的单个数据向量。
  • f' 分为三个函数(每个函数采用一个输入)。

让我们在实践中使用它。

当我们看到 x' * x 时,我们的意思是:`x'`(作为单个函数)正在对 x(单个向量)进行操作。结果是点积。换句话说,我们将数据应用于自身。

当我们看到 x * x' 时,我们的意思是 x(作为一组函数)正在对 x'(一组单独的数据点)进行操作。结果是一个网格,我们将每个函数应用于每个数据点。在这里,我们以每种可能的排列方式将数据与其自身混合在一起。

我认为 xx 是 x(x)。它是作用于“向量 x”的“函数 x”。这有助于计算协方差矩阵,即数据中自相似性的度量。

3、将直觉付诸实践

这对我们有什么帮助?当我们看到这样的方程式(来自机器学习课程):

我现在立刻感觉到发生了什么。在第一个方程式中,我们将 θ(通常是一组数据参数)视为一个函数,并将 作为一个参数传入。这应该会给我们一个单一的值。

更复杂的推导如下:

可以同样解读。在某些情况下,这会变得很棘手,因为我们将数据存储为矩阵中的行(而不是列),但现在我有更好的工具可以跟进。你可以开始估计何时会得到一个单一的值,或者何时会得到一个“排列网格”。

几何缩放和线性组合都有它们的位置,但在这里我想考虑信息。“x 中的信息正在成为一个函数,我们将它自己作为参数传递。”

长话短说,不要局限于单一的直觉。乘法从重复加法发展而来,到缩放(小数),到旋转(虚数),到“应用”一个数字到另一个数字(积分),等等。为什么矩阵乘法不一样呢?


原文链接:矩阵乘法的直觉 - BimAnt

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

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

相关文章

分数限制下,选好专业还是选好学校?

目录 分数限制下,选好专业还是选好学校? 方向一:专业解析 1. 专业选择的重要性 2. 不同专业的优势与挑战 3. 个人专业选择经验分享 4. 实际场景下的“专业VS学校”选择方案 方向二:名校效应分析 1. 名校声誉与品牌效应 2…

Unity 使用TextMeshPro实现图文混排

最后实现出的效果是这样的 开始实现 准备两张图 选中图片右键->Create->TextMeshPro->Sprite Asset 然后文件夹内就会出现一个同名的这个文件 新建一个Text Inspector面板 点击最底下的Extra Settings 然后把刚刚创建的SpriteAsset拖过来 放到对应的地方 然后…

李沐:用随机梯度下降来优化人生!

大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 今天我们来聊聊达叔 6 大核心算法之 —— 优化 算法。吴恩达:机器学习的六个核心算法! 梯度下降优化算法是机器…

HarmoneyOS星河版 安装和启动

一、下载和安装DevEco Studio 官网链接:OpenAtom OpenHarmony 1.1 找到对应的操作系统进行下载 创建安装Harmony的文件夹: 1.2 下载后进行安装 1.3 分别安装Node、Ohpm、SDK 分别安装Node、Ohpm和SDK 二、.创建一个新项目并运行 2.1 选择[OpenHarmon…

当OpenHarmony遇上OpenEuler

1、 安装openEuler 虚拟机、物理机器当然都可以安装。虚拟机又可以使用WSL、或者VMWare、VirtualBox虚拟机软件,如果需要安装最新版本,建议使用后者。当前WSL只支持OpenEuler 20.03。 1.1 WSL openEuler WSL的安装都是程序员的必备技能了,…

大学课设项目,Windows端基于UDP的网络聊天程序的服务端和客户端

文章目录 前言项目需求介绍一、服务端1.对Udp套接字进行一个封装2. UdpServer的编写3. Task.h4.protocol.h的编写5.线程池的编写6.main.cc 二、客户端1. Socket.h2.protocol.h3.UdpClient4.menu.h5.main.cpp 三、运行图 前言 本次项目可以作为之前内容的一个扩展,学…

《数据安全产品及服务购买决策参考》

“新全球化”下的数据安全威胁态势与挑战 随着中国企业数字化转型和数字经济的高速发展,数据要素和数据安全的战略价值正不断提升。 同时,在“脱钩”与“新全球化”的全球政治经济博弈中,中国作为全球重要的数据安全市场之一,其…

LeetCode esay mid 记录

1486. 数组异或操作 感觉一般也用不到 emmm 灵茶山艾府传送门 推导过程可以结合官网部分观看 重点由两部分的结合 将特定部分转换为常见部分 0到n的异或和表示 2595. 奇偶位数 0x555是十六进制数,转换为二进制为 0101 0101 0101 class Solution {public int[…

90. 子集 II

90. 子集 II 原题链接:完成情况:解题思路:参考代码:_90子集II_递归法求子集_90子集II_迭代法求子集 错误经验吸取 原题链接: 90. 子集 II https://leetcode.cn/problems/subsets-ii/ 完成情况: 解题思路…

代码解读 | Hybrid Transformers for Music Source Separation[07]

一、背景 0、Hybrid Transformer 论文解读 1、代码复现|Demucs Music Source Separation_demucs架构原理-CSDN博客 2、Hybrid Transformer 各个模块对应的代码具体在工程的哪个地方 3、Hybrid Transformer 各个模块的底层到底是个啥(初步感受)&#xff1…

Vue48-ref属性

一、需求:操作DOM元素 1-1、使用原生的id属性 不太好! 1-2、使用 ref属性 原生HTML中,用id属性给元素打标识,vue里面用ref属性。 给哪个元素加了ref属性,vc实例对象就收集哪个元素!!&#xff0…

WebSocket 详解--spring boot简单使用案例

一、什么是WebSocket WebSocket 是一种网络通信协议,专为在单个 TCP 连接上进行全双工通信而设计。WebSocket 允许客户端和服务器之间的消息能够实时双向传输。这与传统的 HTTP 请求-响应模式有很大的不同。 二、WebSocket 的关键特性 双向通信:WebSocke…

Novartis诺华制药社招综合能力性格动机问卷入职测评笔试题库答案及包过助攻

【华东同舟求职】由资深各行业从业者建立的一站式人才服务网络平台,现阶段目标是“提升全市场各行业岗位信息的流动性和透明度”。我们接受众多行业机构的直接委托发布,并尽力通过各种方法搜寻高价值岗位信息。事实上,我们以发现不为人知的优…

网站改成HTTPS方法

网站改成HTTPS只要网站没有特殊性的要求,绝大部分网站很轻松的就可以完成,尤其是CMS类似的网站系统或者自助搭建的网站(比如:这种网站可以在网站后台一次性安装并且生效)。 基本要求 将网站改成HTTPS有2个前提&#…

HQChart实战教程73-仿tradingview指标MACD

HQChart实战教程73-仿tradingview指标MACD MACD![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/84d180b5620940f6b9fe08c6f10eb0f3.png)麦语法脚本实心MACD指标脚本效果 空心MACD指标脚本效果图 自定义指标添加到系统指标里HQChart插件源码地址 MACD tradingview中…

智能不锈钢氮气柜温湿度氧含量控制介绍

智能不锈钢氮气柜通过集成精密的温湿度和氧含量控制系统,确保内部环境稳定在适宜存储敏感物料的条件。具体实现方式如下: 温度控制:智能氮气柜通常配备有精确的温度传感器以及加热或冷却系统。当内部温度偏离设定值时,系统会自动启…

ue5创建地图瓦片

先在虚幻商城下载免费的paperzd插件,并启用。 导入资源后,先通过应用paper2d纹理资源,将去掉导入ue时产生的边缘模糊,再点击下面的创建瓦片集, 打开瓦片集,发现选中不对, 改变瓦片大小为16*…

Nature 苏浩团队发表创新人工智能“仿真中学习”框架,实现外骨骼的智能性和通用性

北京时间2024年6月12日23时,美国北卡罗来纳州立大学与北卡罗来纳大学教堂山分校的苏浩团队在《自然》(Nature)上发表了一篇关于机器人和人工智能算法相结合服务人类的突破性研究论文,标题为“Experiment-free Exoskeleton Assista…

振动分析-3-基于Python的FFT幅值修正与能量修正

幅值修正与能量修正过程(更正) 参考什么是泄漏? 参考什么是窗函数? 参考使用python实现快速傅里叶变换(FFT) 参考频谱泄露和窗函数以及加窗后幅度修正和python代码实现 1 快速傅里叶变换(FFT) 离散傅里叶变换(discr…

configure: error: library ‘crypto‘ is required for OpenSSL

1、执行命令:./configure --prefix/opt/app/postgresql --with-openssl 报错: 2、解决办法 执行命令:yum install openssl-devel 重新执行 ./configure --prefix/opt/app/postgresql --with-openssl