【老计带你懂线性代数】06:线性变换,矩阵是怎么动空间的
【老计带你懂线性代数】06线性变换矩阵是怎么动空间的开头换个视角看矩阵前面我们把矩阵当成两样东西一批数据的表格以及一种变换。数据表格那个视角很好懂这一篇专门把变换这个视角讲透因为它是理解神经网络到底在干什么的钥匙。一句话先抛出来一个矩阵乘一个向量几何上就是把这个向量所在的整个空间做了一次旋转、缩放或投影。矩阵就是一个动空间的动作。这个视角一旦建立你看神经网络、看降维、看很多AI操作都会豁然开朗它们本质都是在空间里搬动、揉捏数据。什么是线性变换让空间均匀地动先说清楚线性变换的直觉。想象一张画着均匀网格的橡皮膜就是我们的空间上面每个点是一个向量。线性变换就是对这张膜做拉伸、旋转、错切但要满足两个条件网格线始终保持是直线不能弯而且原点固定不动。也就是说变换后网格可能被拉斜、转向、压扁但绝不会变成弯曲的曲线整个空间是被均匀地动了。这种规整的、不弯曲的变换就叫线性变换。而每一个线性变换都恰好对应一个矩阵。用矩阵乘向量就是在对这个向量施加对应的变换。那线性这两个字到底是什么意思为什么这么叫其实它对应两条很朴素的规则理解了能帮你抓住线性变换的本质。第一条先相加再变换等于先各自变换再相加比如把两个向量加起来再做变换和把它们分别变换后再加起来结果一样。第二条先放大再变换等于先变换再放大把向量拉长两倍再变换和先变换再拉长两倍结果一样。这两条合起来的意思是变换和加法、数乘这两个基本运算是兼容的、不打架的变换保持了向量之间的这种线性组合关系。正因如此前面那个绝招才成立任何向量都是基向量的线性组合而变换保持组合关系不变所以只要知道基向量变到哪整个空间怎么变就定了。你不用记这两条规则的术语抓住一个直觉即可线性变换是讲道理、不耍花招的变换它不会把直的弄弯、不会区别对待某个点整个空间被均匀规整地搬动。那些又弯又乱的操作是非线性得靠激活函数这类东西来实现这正是深度学习里线性变换和非线性激活要搭配的原因。打个比方线性变换像把一张贴着方格纸的橡皮膜整体拉扯你可以斜着拉、转着拉、压扁它但方格纸上的直线拉完还是直线中心那个图钉原点不动。你不能把它揉成一团皱纸那就成非线性了。看懂一个矩阵只看基向量去哪了这里有个理解矩阵变换的绝招是整个线性代数最漂亮的直觉之一要知道一个矩阵对整个空间做了什么你只需要看它把两个最基本的向量变到了哪里。二维空间里有两个最基本的向量指向右的 [1,0] 和指向上的 [0,1]它们叫基向量是空间的骨架。任何向量都可以看成这两个基向量的组合比如 [3,2] 就是3个向右加2个向上。关键来了线性变换后任何向量还是同样的组合方式只不过基向量本身被移动了。所以只要知道两个基向量变换后落到哪就能推出所有向量变换后的位置。而矩阵的两列恰好就是变换后两个基向量的新位置。这就是矩阵的列的几何含义第一列是变换后 [1,0] 的落点第二列是变换后 [0,1] 的落点。打个比方你想知道一次变换怎么改造了整座城市不用追踪每一栋楼只要看东西南北这两根标杆被挪到了哪整座城市怎么变的就全知道了因为每栋楼的位置都是相对这两根标杆确定的。矩阵的两列就是这两根标杆的新位置。几种典型变换旋转、缩放、投影有了这个视角几种常见变换就一目了然看它们把基向量变到哪恒等变换什么都不做基向量不动对应单位矩阵对角线是1、其余是0。缩放把空间沿某个方向拉长或压扁比如让所有向量的横坐标翻倍。旋转把整个空间转一个角度基向量跟着转。投影把空间压到一条线或一个平面上比如把所有点压到横轴上纵坐标全变0。投影会丢信息、降维这一点在后面PCA降维里极其重要降维本质就是一种投影。这里多说一句投影因为它在AI里分量很重。生活里投影随处可见太阳把你的身影投到地上就是把三维的你压成了地面上二维的影子影子丢掉了你的厚度信息但保留了轮廓。降维干的就是这件事把高维数据投影到低维主动丢掉一些不重要的信息换来更小的维度、更清爽的表示。关键在于投影的方向选得好不好投影方向选对了丢掉的是无关紧要的噪声、留下的是精华选差了可能把重要信息压没了。第10篇讲的PCA核心就是自动找出那个最好的投影方向让降维丢的信息最少。理解了投影是一种会丢信息的线性变换你就为后面的降维打好了地基。这些看似抽象的几何操作正是神经网络在特征空间里干的事。每一层网络的权重矩阵就是对当前特征做一次这样的变换。神经网络一层层地揉捏特征空间现在把它落到AI最核心的地方这也是本篇的重头。神经网络的每一层都在对数据所在的特征空间做一次变换。权重矩阵做线性变换旋转、缩放、投影这类空间改造激活函数再补上非线性把空间掰弯这是线性变换做不到的。一层又一层网络不断地搬动、拉伸、揉捏数据所在的空间。它揉捏的目标是什么把数据揉成一个容易完成任务的形状。举个经典画面原始数据里两类点像两条缠在一起的螺旋线用一条直线根本分不开。神经网络一层层变换就是不断地拉扯这个空间最后把两条螺旋线扯成左右分开的两坨这时候一条直线轻松就能分开它们。打个比方神经网络像一个揉面团的师傅。原始数据是一团混在一起、分不清的面。师傅一层一层地揉、压、翻折每层一次变换最后把面团整理成清清楚楚的形状让最后的分类变得轻而易举。深度学习的深就是揉的次数多揉得越充分、越能整理出好分的形状。这就是为什么线性变换是理解神经网络的钥匙深度网络的本质就是用一连串空间变换矩阵乘法加掰弯激活函数把难分的数据揉成好分的样子。输入和输出长什么样输入一个矩阵代表变换和一个或一批向量。输出变换后的新向量新位置。用矩阵乘法实现NumPy里就是矩阵 向量。上代码亲眼看矩阵怎么动空间# 依赖pip install numpyimportnumpyasnp# 两个基向量:向右和向上e1np.array([1,0])e2np.array([0,1])# 1.缩放变换:横坐标翻倍、纵坐标不变scalenp.array([[2,0],[0,1]])print(缩放矩阵把基向量变到:)print( e1 -,scale e1, e2 -,scale e2)print( 一个点[3,2]变换后:,scale np.array([3,2]))# 2.旋转变换:逆时针转90度rotatenp.array([[0,-1],[1,0]])print(\n旋转90度把基向量变到:)print( e1 -,rotate e1, e2 -,rotate e2)print( 一个点[3,2]变换后:,rotate np.array([3,2]))# 3.投影变换:把所有点压到横轴上(纵坐标变0,降维、丢信息)projectnp.array([[1,0],[0,0]])print(\n投影到横轴,把基向量变到:)print( e1 -,project e1, e2 -,project e2)ptsnp.array([[3,2],[1,5],[4,1]])print( 一批点投影后(纵坐标全变0):)print( ,(pts project.T))# 一批点做变换,用转置对齐# 关键验证:矩阵的两列 变换后两个基向量的落点print(\n旋转矩阵的两列:,rotate[:,0],rotate[:,1])print(正好是旋转后e1和e2的落点,这就是矩阵列的几何含义)运行输出示例缩放矩阵把基向量变到: e1 - [2 0] e2 - [0 1] 一个点[3,2]变换后: [6 2] 旋转90度把基向量变到: e1 - [0 1] e2 - [-1 0] 一个点[3,2]变换后: [-2 3] 投影到横轴,把基向量变到: e1 - [1 0] e2 - [0 0] 一批点投影后(纵坐标全变0): [[3 0] [1 0] [4 0]] 旋转矩阵的两列: [0 1] [-1 0] 正好是旋转后e1和e2的落点,这就是矩阵列的几何含义运行你会看到缩放把横坐标翻倍、旋转把点转了向、投影把所有点拍到横轴上纵坐标全变0丢掉了一个维度的信息最后验证了矩阵的两列正好是变换后两个基向量的落点。建议你装matplotlib把变换前后的点画出来那个空间被拉动的画面比任何文字都直观。在AI里怎么用神经网络每一层权重矩阵变换特征空间把数据揉成好分类的形状呼应《老计带你懂AI算法》的神经网络篇。降维投影PCA本质是把高维数据投影到低维投影就是一种线性变换第10篇会讲透。数据预处理标准化、白化等操作也是对数据空间做变换。图像变换旋转、缩放图片就是对像素坐标做线性变换数据增强常用。常见误区线性变换不会弯曲空间网格线变换后还是直线、原点不动把空间揉皱那是非线性激活函数干的。矩阵的列有几何含义每一列是变换后一个基向量的落点记住这个能秒懂很多矩阵。投影会丢信息从高维压到低维投影必然损失信息这是降维的代价不是bug。别只把矩阵当数据表一定要建立矩阵在动空间的画面感这是理解深度学习的关键。小结与承上启下线性变换均匀地拉伸旋转空间网格线保持直、原点不动每个线性变换对应一个矩阵。看懂矩阵的绝招只看它把基向量变到哪矩阵的列就是变换后基向量的落点。典型变换恒等、缩放、旋转、投影投影会降维丢信息。神经网络的本质一层层变换特征空间把难分的数据揉成好分的形状矩阵乘法负责变换、激活函数负责掰弯。我们已经会看一个矩阵怎么动空间了。可有个问题一堆向量或数据的一堆特征里有没有多余的、重复的数据真正有几个独立的自由度这关系到能不能降维、数据的内在结构是什么。下一篇讲线性相关、基与维度看数据到底有几个真正独立的方向。我们下一篇见。延伸阅读3Blue1Brown《线性代数的本质》线性变换与矩阵、三维空间中的变换https://www.3blue1brown.com/topics/linear-algebraNumPy 官方文档矩阵与向量运算https://numpy.org/doc/stable/reference/routines.linalg.html神经网络如何变换空间可按关键词Neural Network manifold untangling检索经典可视化说明以上为官方与经典公开资料地址可能随版本调整如打不开可用标题搜索。

相关新闻

软考架构设计师论文 —— 论AI Agent技术及其应用(6)

软考架构设计师论文 —— 论AI Agent技术及其应用(6)

接前一篇文章:软考架构设计师论文 —— 论AI Agent技术及其应用(5) 本文内容参考: 【爆肝整理】17种AI Agent架构全解析!从ReAct到多智能体系统,小白程序员也能秒懂的Agent设计指南-CSDN博客 特此致谢! 论题 随着大语言模型技术的发展,AI Agent凭借感知、规划、工具…

2026/10/16 6:35:54 阅读更多 →
基于Java的全功能直播平台构建指南

基于Java的全功能直播平台构建指南

引言现在, 互联网那个发展得特别快, 所以直播这个东西就成了大家每天生活里面离不开的一部分了。不管是搞教育、找乐子, 还是卖东西那个电商领域来说, 直播都显示出了很大的潜力和挺大的价值。Java这个编程语言, 它是那种已经成熟了的, 而且到处都在用的语言, 靠着它那挺强的能…

2026/10/17 15:39:43 阅读更多 →
六根硬件映射(中):双站校验、生克闭环与驱动接口

六根硬件映射(中):双站校验、生克闭环与驱动接口

六根硬件映射(中):双站校验、生克闭环与驱动接口 系列:《宪法即代码》第 34 篇(中)| 标签建议:AI编程、Rust、嵌入式、具身智能、防御性公开 文章目录六根硬件映射(中&am…

2026/10/17 12:44:18 阅读更多 →

最新新闻

OpenClaw接入个人电脑后,全自动操作磁盘文件,完整从零本地部署教程来了!TaoToken统一Key配置指南

OpenClaw接入个人电脑后,全自动操作磁盘文件,完整从零本地部署教程来了!TaoToken统一Key配置指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 15:39:07 阅读更多 →
SQL Server 2008误删数据恢复:No backup set found故障实战指南

SQL Server 2008误删数据恢复:No backup set found故障实战指南

简介:本资源是一份面向SQL Server数据库管理员与运维工程师的实战型数据恢复指南,聚焦SQL Server 2008环境下误删数据的紧急抢救方案。内容系统梳理了基于完整恢复模式(Full Recovery)的原生T-SQL三步恢复法(事务日志备…

2026/10/17 15:39:07 阅读更多 →
Unity文字提示标牌效果:用Transform.LookAt与DynamicLine实现动态指向

Unity文字提示标牌效果:用Transform.LookAt与DynamicLine实现动态指向

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 15:39:07 阅读更多 →
Jupyter中TensorFlow直读HDFS:从环境配置到代码实现

Jupyter中TensorFlow直读HDFS:从环境配置到代码实现

1. 先想清楚:为什么非要在Jupyter里直接读HDFS前阵子帮项目组调一个文本分类模型,训练数据全在Hadoop生态的HDFS上,而算法同学习惯用Jupyter Notebook做快速验证。问题来了:训练脚本里tf.data那套流水线要在本地跑通,数…

2026/10/17 15:39:07 阅读更多 →
TensorFlow Hub加载BERT预训练模型实战:从环境配置到文本分类微调

TensorFlow Hub加载BERT预训练模型实战:从环境配置到文本分类微调

1. 为什么要在TensorFlow Hub上加载BERT做自然语言处理项目的朋友,大概率都绕不开BERT这个模型。2018年谷歌把它放出来之后,几乎重新定义了NLP领域的玩法——以前做文本分类、情感分析、问答系统,你得自己搭词向量、设计网络结构、调参调到怀…

2026/10/17 15:39:07 阅读更多 →
自适应滤波器毕设全流程:LMS与RLS算法从设计到答辩

自适应滤波器毕设全流程:LMS与RLS算法从设计到答辩

简介:这份资源是南京航空航天大学电子信息工程学院硕士课程「自适应滤波器设计及应用」的完整论文文档,面向通信、电子与通信工程等专业学生及需要完成相关毕业设计的学习者,帮助系统梳理自适应滤波器的理论基础、算法实现与MATLAB仿真验证。…

2026/10/17 15:38:06 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/17 1:44:59 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 21:54:38 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →