深度学习基础:线性代数本质3——矩阵与线性变换

news/2025/3/13 11:16:52/

你对线性代数的一切困惑,根源就在于没有真正理解矩阵到底是什么。

1. 线性变换

变换本质上就是函数。例如,你输入一个向量 ,经过某个变换(即函数)的作用之后,输出另一个向量。

既然,变换本质上就是函数,那为啥还要多搞出这样一个术语?

其实,“变换”这个词暗示了我们能够以某种方式可视化这一输入—-输出关系。它暗示我们要从向量运动的角度去理解。即,变换让向量从一个地方(对应输入向量),运动到了另一个地方(对应输出向量)。

线性代数限制在一种特殊类型的变换上,称为“线性变换”,这种变换更容易理解。直观的说,如果变换具有以下两条性质,我们便可以称他说线性的:

  1. 直线在变换后仍然为直线,不能有所弯曲
  2. 原点必须保持固定
非线性变换:直线弯曲了
仿射变换:原点发生变化

线性变换:保持网格平行且等距分布的变换使用数值来描述线性变换

2. 使用数值来描述线性变换

如何实现你给计算机一个向量坐标,它返回给你变换后的坐标?、

答案是你只需要记住两个基向量i帽j帽变换后的位置

换句话说,向量vi帽j帽的一个特定线性组合,那么变换后的向量v也是变换后的i帽j帽的线性组合,这意味着你可以通过变换后的i帽j帽推出变换后的向量v

小结:

  • 只要记录了变换后的i帽和j帽,我们就可以推断出任意向量在变换后的位置
  • 一个二维线性变换仅由四个数字完全确定(变换后i帽和j帽的两个坐标)

3. 矩阵

通常我们把上面的坐标包装在2x2的格子中,称它为2x2矩阵

 你可以把它的列理解为两个特殊的向量,即变换后的i帽j帽

如果你有一个描述线性变换的2x2矩阵,以及一个给定向量,想了解线性变换对这两个向量的作用,你只需要 取出向量坐标,分别于矩阵的特定列相乘,然后相加即可(这与缩放基向量在在相加的思想一致)

矩阵列看作是变换后的基向量,把矩阵乘法看作它们的线性组合

4. 使用矩阵来线性线性变换

① 旋转变换

例如将整个空间逆时针旋转90度,那么i帽便落在坐标(0,1)上,j帽落在坐标(-1,0)上

如果想计算出任意向量在逆时针旋转90度后的位置,只需要把他和上面矩阵相乘即可

② 剪切变换

在这个变换里i帽保持不变,使用矩阵第一列为(1,0),j帽移动到了坐标(1,1)上,所以矩阵第二列为(1,1)

 PS:如果变换后的i帽和变换后的j帽是线性相关的,意味着一个向量是另一个向量的倍数,那么这个线性变换,将各二维空间挤压到一个二维它们所在的一条直线上(也就是两个相关向量所张成的一维空间)

在之后每当你看到一个矩阵时,你都可以把他解读为:对空间的一种特定变换


http://www.ppmy.cn/news/1578780.html

相关文章

歌词相关实现

歌词相关 歌词数据模型&#xff1a; // Lyric.swift class Lyric: BaseModel {/// 是否是精确到字的歌词var isAccurate:Bool false/// 所有的歌词var datum:Array<LyricLine>! }// LyricLine.swift class LyricLine: BaseModel {/// 整行歌词var data:String!/// 开始…

centos8.0系统部署zabbix6.0监控

centos8.0系统部署zabbix6.0监控 一、部署过程1、确认系统版本2、主机基础环境设置3、安装MySQL 8.0数据库3.1 安装MySQL 8.0仓库3.2 安装软件3.3 设置root用户密码3.4 创建zabbix数据库&#xff0c;授权用户 4、配置zabbix6.0仓库5、安装zabbix服务端软件6、导入zabbix数据表7…

基于MATLAB的冰块变化仿真

如图1所示&#xff0c;边长为5cm的冰块&#xff0c;初始温度为-2℃&#xff0c;放在25℃的环境中自然冷却&#xff0c;对流换热系数为10W/mK&#xff0c;本文将通过matlab编程求解冰块融化的过程&#xff0c;计算其温度场。 图1 案例示意图 02 温度场计算 本文通过matlab分别…

力扣HOT100之双指针:11. 盛最多水的容器

这道题用双指针法很快就做出来了&#xff0c;但是为什么我的双指针法在时间和空间上都不占优啊&#xff1f; 用两个指针分别指向数组的首元素和尾元素&#xff0c;然后取其中的较小值两个位置之间的间隔就得到了这两根垂直线之间所能容纳的水量&#xff0c;例如&#xff0c;对于…

如何检查电脑的硬盘健康状况?

检查硬盘健康状况可以使用多种工具和方法。以下是一些常用的工具和步骤&#xff1a; Windows系统&#xff1a; 使用Windows内置工具&#xff1a; 磁盘检查&#xff1a;可以通过命令提示符&#xff08;cmd&#xff09;使用chkdsk命令来检查硬盘错误。例如&#xff0c;输入chkd…

Windows 上安装配置 Apache Tomcat 及Tomcat 与 JDK 版本对应

Apache Tomcat 是一种广泛使用的 Web 服务器和 Java 容器&#xff0c;对于部署和运行 Java Web 应用程序至关重要。它的可靠性和强大的功能使其成为全球开发人员和组织的首选。 在这篇文章中&#xff0c;我们将介绍在 Windows 机器上安装 Apache Tomcat 的过程&#xff0c;以确…

SQL Server的连接时发生了与网络相关或特定于实例的错误。未找到服务器或无法访问服务器

项目场景&#xff1a; 今天在服务器配置数据库&#xff0c;如果在外网使用IP登录数据库一直连接不上&#xff0c;然后在服务器上面装的数据库使用IP连接还是连接不上&#xff0c;这让我确认不是防火墙的入站规则原因&#xff0c;然后各种配置也看了&#xff0c;还是不好使&…

Python Cookbook-3.15 检查信用卡校验

任务 检查信用卡校验。 解决方案 Luhn mod 10是信用卡业检验和的标准。它不是 Python 内建的算法&#xff0c;不过我们可以很容易地实现这个算法: def cardluhnChecksumIsValid(card_number): 通过 lunn mod-10 校验和算法检查信用卡号sum 0num_digits len(card_number)o…