Loading [MathJax]/jax/output/CommonHTML/fonts/TeX/AMS-Regular.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >线性变换(linear transformation)

线性变换(linear transformation)

作者头像
为为为什么
发布于 2023-03-19 01:47:53
发布于 2023-03-19 01:47:53
1.2K0
举报
文章被收录于专栏:又见苍岚又见苍岚

线性变换 (linear transformation) 是在生活和项目中经常见到的映射方式, 是线性代数(linear algebra)的基本概念,它是一类满足某些特殊性质的变换,本文介绍相关内容。 简介

国外很多线性代数课程的第一课便是线性变换,这个概念比矩阵来的更早。物理学家们通常更关注这个概念本身,关注它们是怎么变换的。但是在我们的学习中为了更方便的计算,引入了坐标系及坐标轴,并且使每一个线性变换都对应一个矩阵,矩阵背后也同样是线性变换的概念

相关定义

变换

变换从本质上讲就是函数的意思。函数的意思就是把一个集合中元素对应到另外一个集合中元素的对应法则。

在线性代数里面,由所有 n 维向量组成一个集合,这些向量之间可以进行加减法运算和数乘运算。把可以进行这两种运算的集合通常成为一个线性空间(linear space),它其中的一组基(basis)所包含的向量的个数,称为线性空间的维度(dimension)。可以看出,所有 n 维向量组成的集合就是一个 n 维线性空间,通常记为Rn

所以总结为一句话:变换的本质,就是从一个线性空间到另一个线性空间的函数。

线性变换
几何要素

线性变换从几何直观有三个要点:

  1. 变换前是直线的,变换后依然是直线
  2. 直线比例保特不变
  3. 变换前是原点的,变换后依然是原点
定义描述

线性映射( linear mapping)是从一个向量空间 V 到另一个向量空间 W 的映射且保持加法运算和数量乘法运算,而线性变换(linear transformation)是线性空间 V 到其自身的线性映射。 —— 百度百科

公式表示

你可以将线性变换理解为一个特殊的函数,这个可以使得 VW ,并且满足以下条件:

$$ \begin{array}{l}\mathbf{T}(\mathbf{x}+\mathbf{y})=\mathbf{T}(\mathbf{x})+\mathbf{T}(\mathbf{y}) \\ \mathbf{T}(a \mathbf{x})=a \mathbf{T}(\mathbf{x})\end{array} $$

其中

性质

  1. 两个線性映射的复合映射是線性的: 如果 是線性的,則 也是線性的。
  2. 若線性映射可逆,則该線性映射的逆也是線性映射。
  3. 如果 是線性的,則它们的和 也是線性的(这是由 定义的)。
  4. 如果 是線性的,而 是基础域 的一个元素,則定义自 的映射 扡是線性的。
  5. 给定有限维的情况,如果基已经选择好了,則線性映射的复合对应于矩阵乘法,線性映射的加法对应于矩阵加法,而線性映射与标量的乘法对应于矩阵与标量的乘法。

示例

线性变换
非线性变换

$$ \begin{array}{c}\mathbf{g}(x, y, z)=(3 x-y, 3 z+2,0, z-2 x) \\ \mathbf{h}(x, y, z)=(3 x-y, 3 x z, 0, z-2 x)\end{array} $$

这两个都不是线性变换。

  1. 在函数 中,第二个分量为 是一个常数,并不包含输 入向量 中的任何分量,也可以换种解释方法,按照 中的第二个公式,应有 ,而 与上式矛盾。
  2. 在函数 中,很明显含有一个非线性分量 ,因此也不是一个线性变换。
非线性变换图示
  1. 变换后不能保持直线
  1. 变换后原点位置发生了变化 如:在二维平面上的仿射变换(在 3 维视角下仍然时线性变换)

矩阵表示

如果 是有限维的,并且在这些空间中有选择好的基,則从 的所有线性映射可以被表示为矩阵。反过来说,矩阵生成线性映射的例子:如果 是实 数的 矩阵,则规定 描述一个线性映射

的一个基。則在 中所有向量 是唯一的,可以由

的系数

是线性映射

这蕴涵了这个函数

的值确定的。

的值为

因此函数

如果把这些值放置到 矩阵 中,則可以方便的使用它来计算 对在 中任何向量的值。如果我放置 的值到 矩阵 ,我们有

一个单一的线性映射可以由很多矩阵表示。这是因为矩阵的元素的值依赖于选择的基。

矩阵表示的优点

对角化的矩阵具有诸多优点。线性映射在写成矩阵后可以进行对角化(不能对角化的矩阵可以化简成接近对角矩阵的准对角矩阵,从而可以获得对角化矩阵拥有的独特优势(极大地简化乘法运算,易于分块,容易看出与基的选取无关的不变量。

比如,对于作用于同一个空间的可对角化的方形矩阵 ,要求出 自乘 次后的结果 ,一个一个慢慢地乘是很麻烦的事情。而知道对角化技巧的人会发现,在将这矩阵对角化后,其乘法运算会变得格外简单。实际应用中有很多有意思的问题或解题方法都会涉及到矩阵自乘n次的计算,如1阶非齐次线性递推数列通项公式的线性代数求解法和马尔可夫链的极限状态(极限分布)的求解。线性代数及矩阵论的一个主要问题就是寻找可使矩阵对角化的条件或者可使矩阵化简到含很多个 0 的条件,以便简化计算(这是主要原因之一)。

线性变换矩阵例子

二维空间 的線性變換的一些特殊情况有:

  • 逆时针旋转90度:

$$ A=\left[\begin{array}{cc}0 & -1 \\ 1 & 0\end{array}\right] $$

  • 逆時針旋轉 度:

$$ A=\left[\begin{array}{cc}\cos (\theta) & -\sin (\theta) \\ \sin (\theta) & \cos (\theta)\end{array}\right] $$

  • 针对 y 轴反射:

$$ A=\left[\begin{array}{cc}1 & 0 \\ 0 & -1\end{array}\right] $$

  • 在所有方向上放大2倍:

$$ A=\left[\begin{array}{ll}2 & 0 \\ 0 & 2\end{array}\right] $$

  • 水平错切:

$$ A=\left[\begin{array}{cc}1 & m \\ 0 & 1\end{array}\right] $$

  • 挤压:

$$ A=\left[\begin{array}{cc}k & 0 \\ 0 & 1 / k\end{array}\right] $$

  • 向 y 轴投影:

$$ A=\left[\begin{array}{ll}0 & 0 \\ 0 & 1\end{array}\right] $$

仿射变换的线性性

上文示例中给出了二维仿射变换不是线性变换,其实这是违反我对仿射变换的认知的,因为旋转、缩放、平移、错切给我的感觉就很“线性”,咋还非线性了呢。

二维仿射变换的非线性性

向量的平移变换:

那么线性变换的加法运算:

但是:

这就导致了仿射平移在二维空间上没有保持线性加法,同理标量乘法的性质也丢了:

原点也没有映射到原点:

表明确实二维仿射变换在二维空间中不符合线性变换的定义。

二维仿射变换在三维空间

如果将二维平面看做是三维空间中的一个平面,结果却不一样了

二维平面看做是三维空间中 的平面,那么之前二维的向量变为了 ,平移向量多加一维 0 值,设为 ,此时神奇的地方在于平移可以表示成矩阵乘法:

$$ \begin{array}{l} f(\textbf{p})&=&\textbf{p}+\Delta \textbf{d}\\ &=& \left[\begin{array}{l}x \\ y \\ 1 \end{array}\right] + \left[\begin{array}{l}a \\ b \\ 0 \end{array}\right]\\ &=&\left[\begin{array}{l}1 & 0 &a \\ 0 & 1 &b \\ 0 &0&1 \end{array}\right]\left[\begin{array}{l}x \\ y \\ 1 \end{array}\right]\\ &=&\textbf{Ap} \end{array} $$

注意:此处 仅在 第三维为 1 时等价,也就是说对于一般的向量

其中:

$$ \textbf{A}=\left[\begin{array}{l}1 & 0 &a \\ 0 & 1 &b \\ 0 &0&1 \end{array}\right] $$

则这个平移操作变成了固定系数的矩阵乘法,也就是一个线性系统了:

也就是说,仿射变换表示成三维矩阵乘法后是线性变换,他是一般三维线性变换的一个特例。

参考资料

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023年3月15日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
仿射变换(affine transformation)
在 线性变换 中其实也提到了仿射变换,当时就定性了平面上二维仿射变换不是线性变换,因为原点会移动。
为为为什么
2023/03/19
1.4K0
仿射变换(affine transformation)
Deep Learning Chapter01:机器学习中线性代数
好久不见,大家好,我是北山啦。机器学习当中需要用到许多的数学知识,如今博主又要继续踏上深度学习的路程,所以现在在网上总结了相关的考研数学和机器学习中常见相关知识如下,希望对大家有所帮助。
北山啦
2022/10/31
5060
Deep Learning Chapter01:机器学习中线性代数
变换(Transform)(1)-向量、矩阵、坐标系与基本变换
如果要将右侧坐标系变为左侧那种,我们只需要做一些旋转操作,将右侧坐标系顺时针旋转180度,再将整个坐标系水平翻转即可。我们可以通过一定的旋转操作将两个坐标系重合,那么我们就称它们具有相同的旋向性(handedness)。
Zero Two
2024/07/21
5420
Transformers是SSMs:通过结构化状态空间对偶性的广义模型和高效算法(一)
尽管Transformer一直是深度学习在语言建模中取得成功的主要架构,但最近的研究表明,如Mamba之类的状态空间模型(SSMs)在小到中等规模上能够匹敌或超越Transformer的性能。我们表明,这两类模型实际上是非常相关的,并在一个经过充分研究的结构化半可分离矩阵类的各种分解之间,发展出SSM和注意力变体之间丰富的理论联系框架。我们的状态空间对偶性(SSD)框架使我们能够设计一种新的架构(Mamba-2),其核心层是对Mamba的选择性SSM的改进,速度提高了2-8倍,同时在语言建模方面继续与Transformer保持竞争力。
AI浩
2024/10/22
3200
Transformers是SSMs:通过结构化状态空间对偶性的广义模型和高效算法(一)
标准化流 Normalization Flow
标准化流能把简单的地摊货概率密度(比如高斯分布)形式转换成某种高大上的分布形式。它可以用在产生式模型、强化学习、变分推断之类的地方。
为为为什么
2023/05/21
7780
标准化流 Normalization Flow
【机器学习数学基础】线性代数基础
线性代数 一、基本知识 本书中所有的向量都是列向量的形式: \[\mathbf{\vec x}=(x_1,x_2,\cdots,x_n)^T=\begin{bmatrix}x_1\\x_2\\ \vdots \\x_n\end{bmatrix}\] 本书中所有的矩 \(\mathbf X\in \mathbb R^{m\times n}\) 都表示为: \[\mathbf X = \begin{bmatrix} x_{1,1}&x_{1,2}&\cdots&x_{1,n}\\ x_{2,1}&x_{2
10JQKA
2018/12/11
6470
【机器学习数学基础】线性代数基础
特征值和特征向量
$$ \begin{array} \mathbf{I A} \mathbf{x}=\mathbf{I} \cdot \lambda \mathbf{x} \\ \mathbf{A} \mathbf{x}=(\lambda I) \mathbf{x} \end{array} $$
为为为什么
2022/09/30
1K0
扩展卡尔曼滤波(EKF)理论讲解与实例(matlab、python和C++代码)「建议收藏」
我们上篇提到的 卡尔曼滤波(参见我的另一篇文章: 卡尔曼滤波理论讲解与应用(matlab和python))是用于线性系统,预测(运动)模型和观测模型是在假设高斯和线性情况下进行的。简单的卡尔曼滤波必须应用在符合高斯分布的系统中,但是现实中并不是所有的系统都符合这样 。另外高斯分布在非线性系统中的传递结果将不再是高斯分布。那如何解决这个问题呢?扩展卡尔曼滤波就是干这个事的。
全栈程序员站长
2022/07/04
1.9K0
扩展卡尔曼滤波(EKF)理论讲解与实例(matlab、python和C++代码)「建议收藏」
ML特训营笔记1
设A = (a_{ij}),B = (b_{ij})是两个m \times n矩阵,则m \times n 矩阵C = c_{ij}) = a_{ij} + b_{ij}称为矩阵A与B的和,记为A + B = C
皮大大
2021/03/02
5120
矩阵分析笔记(七)特征值与特征向量
设\mathscr{A}是数域\mathbb{F}上的n维线性空间V的线性变换,若存在\alpha \neq 0, \lambda \in \mathbb{F},使
mathor
2020/10/23
1.8K0
矩阵分析笔记(七)特征值与特征向量
梯度下降与海森矩阵
理一理基础优化理论,解释一下深度学习中的一阶梯度下降遇到的病态曲率(pathological curvature)问题。当海森矩阵condition number很大时,一阶梯度下降收敛很慢,无论是对鞍点还是局部极值点而言都不是个好事。
张哥编程
2024/12/19
960
梯度下降与海森矩阵
线性代数 - 1 - 基础知识
线性代数,基础知识,温故知新。 定义 向量: 向量默认为列向量: image.png 矩阵 \mathbf{X} \in \mathbb{R}^{m \times n},表示为: image.png 范数 向量范数 1-范数 各个元素的绝对值之和 image.png 2-范数 每个元素的平方和再开平方根 image.png p-范数 image.png 其中正整数p≥1,并且有 \lim _{p \rightarrow \infty}\|X\|_{p}=\m
为为为什么
2022/08/05
2.3K0
线性代数 - 1 - 基础知识
LaViT:这也行,微软提出直接用上一层的注意力权重生成当前层的注意力权重 | CVPR 2024
论文: You Only Need Less Attention at Each Stage in Vision Transformers
VincentLee
2024/09/02
1330
LaViT:这也行,微软提出直接用上一层的注意力权重生成当前层的注意力权重 | CVPR 2024
小论线性变换
任何一个线性变换都可以用一个矩阵A来表示。 EIG分解 特征值分解的适应情况是: 矩阵是方阵 矩阵有足够的特征向量 如果矩阵有不相同的特征值 ,那么肯定有足够的特征向量 对角矩阵本质上是每个轴上的不耦合地伸缩。 [图片] [图片] Screenshot (19).png [图片] Screenshot (20).png [图片] Screenshot (21).png [图片] Screenshot (22).png image.png image.png SVD分解 如何将不能对角化的矩阵对角化,
用户1147754
2018/01/15
8320
小论线性变换
聊聊大模型位置编码及其外推性
现如今很多大模型都开始支持超过4096长度的推理,例如GPT-4支持超过30k,ChatGLM2-6B也支持最长为32K的文本。但是由于显存资源的限制,这些大模型在真正在训练过程中不一定要训练这么长的文本,通常在预训练时只会设计到4k左右。
NewBeeNLP
2023/09/15
2K0
聊聊大模型位置编码及其外推性
【数值计算方法(黄明游)】矩阵特征值与特征向量的计算(五):Householder方法【理论到程序】
  Jacobi 旋转法的每一次迭代中,需要选择一个非对角元素最大的位置,然后构造相应的旋转矩阵,进行相似变换,使得矩阵逐渐对角化。
Qomolangma
2024/07/30
2460
【数值计算方法(黄明游)】矩阵特征值与特征向量的计算(五):Householder方法【理论到程序】
特征值分解
以物理中「力」的角度来看待,我们通常会将「合力」分解为各个「分力」,来描述整个「合力」的影响。特征值分解便是将「矩阵」分解成各个方向的分量,通过对各个分量的刻画来描述此矩阵。
hotarugali
2023/05/16
5060
【Math for ML】矩阵分解(Matrix Decompositions) (上)
设\(λ=λ_i\)是矩阵\(A\)的一个特征值,则有方程\((A-λ_iv)x=0\),可求得非零解\(x=p_i\)即为\(λ_i\)对应的特征向量。(若\(λ_i\)为实数,则\(p_i\)可取实向量;\(λ_i\)为复数,则\(p_i\)可取复向量)
marsggbo
2018/12/27
1.1K0
变换(Transform)(2)-坐标空间变换
在刚接触图形学,看games101课程时,观察变换与投影变换就给我了相当大的麻烦,同样的(l, r, t, b, n, f)参数,网上每个人给出来的矩阵形式有所不同,让我永远分不清。随着学习资源的丰富以及自己稍微有了些成长,这篇文章终于解决了这个困惑。
Zero Two
2024/08/24
2330
线性代数与解析几何——Part3 线性空间 & 线性变换
{ \bold{a}_1, \bold{a}_2, …, \bold{a}_r }
codename_cys
2022/11/29
5920
推荐阅读
相关推荐
仿射变换(affine transformation)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档