引言:线性代数是数据科学的基础知识之一,3Blue1Brown也是非常有名的数学讲解频道。去年TDU的谢洛克在学习过3Blue1Brown线性代数的视频后,写下了备受欢迎的两篇学习笔记,再次分享给大家,同时也推荐有线性代数学习需求的伙伴们去看这一系列的视频。

多年以后,当谢洛克站在菲尔兹奖的领奖台上,一定会想起她看到 3Blue1Brown 视频的那个晚上。

3Blue1Brown 的 Essence of linear algebra 系列视频(链接见文末)是我迄今见过最棒的线性代数视频。

Grant Sanderson(3Blue1Brown 创办者)一反教科书上抽象、枯燥的公式教学,引导观众进入奇妙的“线性代数几何化世界”,用人话讲就是把线性代数可视化了。再加上感人的时长(一共13集,每集仅10分钟左右)、可爱的动画,简直让人爱不释手。

在视频底下的评论也不乏 “万万没想到,从不热爱学习的我竟然被这个数学视频深深吸引了”、“难以置信我竟然心甘情愿为数学熬夜”、“天呐为什么我研究生毕业才看到这个视频,当初我学线代吃了多少苦啊”、“教科书为什么不能跟这看齐”的赞誉之词,可见这系列视频的质量和在群众中的口碑。

好了言归正传。在如饥似渴的学习中我也做了一些学习笔记,在此共享给大家。

简便起见,下面仅讨论二维空间中的情况(更高维的也同理,只需动动你聪明的小脑瓜),所提及的矩阵也仅限于方阵。

  • 向量

向量大家都懂的,请想象一个在坐标轴中有方向、有长度的箭头。

  • 基向量

向量最本质的两个运算就是数乘( scaling)和加法(additive)。

牢记加法和数乘,你就可以在线性代数的世界里所向披靡。

让我们来看图。 是基向量,二维空间中所有的向量都可以由它们俩的组合来表示(选择,是由于它们简洁直观,你也可以选择其他向量作为你的基向量,只要它们不共线就行)。怎么组合?比如这个向量其实就是向量反向1倍,向量伸长2倍,然后相加。基向量的伸长和缩短,就是所谓的数乘,而后的相加就是加法。

  • 线性变化

看到这个,你是不是条件反射式地开始回忆课本上的计算公式,什么捉对相乘再相加之类的。不要这样做。让我们把这些数字放到几何学中,轻松地得出结果。

首先,右边是个向量。如果有个坐标轴,你可以想象出它是从原点出发,箭头在5 7位置的向量。用基向量表示就是

左边是个矩阵,矩阵有什么几何意义呢?矩阵的几何意义是线性变换。所谓线性变换,就是坐标轴的旋转、伸缩。下图就是一个线性变换。你可以看到,坐标轴从你熟悉的横平竖直(白格子)变成了斜斜的、长度也有所伸长的新坐标轴(蓝格子)。原来的变成了橙箭头,原来的变成了绿箭头。用矩阵表示就是

OK,之后你再见到方阵,你就知道这是一个线性变换,变换后的基向量分别是矩阵的两个列。

所以上面的计算其实是在问,在横平竖直的坐标轴里的向量,随着坐标轴经历了线性变换后,成了一个新的向量,这个向量是什么?

很好回答。因为线性变换保持网格平行且等距,所以这个向量以前是

那么变换后依然如此,只不过换新了。按照下图这样计算就可以了。所以说,万变不离其宗,矩阵乘向量的计算依然是向量运算的本质——数乘和加法(先和基向量数乘,然后相加,即是结果)。

到了这里,你已经掌握了几乎所有的核心要点。

  • 矩阵乘法

你已经理解矩阵乘向量可以看作向量在线性变化后的新位置,那么矩阵乘以矩阵从几何学角度怎么理解呢?抛弃你头脑中那些背下来的公式,回忆一下上一部分的内容。我们把一个矩阵看作线性变换,第一列是向量,第二列是向量。那么其实一个矩阵就是两个向量。于是很自然的,这个矩阵左乘一个矩阵,就是对这两个向量分别求新位置。问题又回到了上部分的内容。

  • 行列式

行列式的几何意义是面积变化。在下图中,经历了线性变换后,白网格变成了蓝网格,蓝网格面积除以白网格面积即行列式的值。

在知道变换后基向量的情况下易得这个面积,不过你也可以记忆一个公式,对线性变换而言,它的行列式就是 ad-bc。

在这一篇中你将了解点乘、你和谢广坤之间的故事以及特征向量特征值。

• 点乘

让我们来看下点乘的计算方式。

又是捉对相乘再相加,是不是很熟悉?是不是跟矩阵乘以向量是一样一样的。

因此把左边向量看成一个一乘三矩阵,也是完全可以的嘛。但有些同学会说,上一篇只探讨到方阵,突然出现的一乘三的非方阵是怎么回事?

好的,到了这里我们就要稍微升级一下我们的知识了。让我们来看看非方阵的几何意义。

正如我们之前所说,矩阵可看成线性变化。想象一个二乘二方阵,它的第一列是我们再熟悉不过的,第二列是。再想象一个一乘二非方阵,如果我们依然认为第一列是,第二列是,这代表着什么?为什么只剩下一个数字了?在什么情况下才会发生这种事?在一维空间。但你熟悉的还在,所以不用害怕维度降低了,你的计算方法依然不变。

上图右边的向量表示,在原先的坐标轴中,该向量是由4个,3个相加而成,那么现在把新的再代入即可得出答案。

好的。在计算上,你完全能够理解向量与向量的点乘等价于矩阵与向量的乘法。那向量的点乘有什么几何意义呢?

想必你知道这个公式:

它表示向量点乘的几何意义是a向量的模(向量的长度,即|a|)乘以b向量的模在a向量方向上的投影(向量的投影,即|b|cosθ),替换a,b的位置这个句子也成立。那为啥点乘的几何意义是这样的?

除了上边你已经了解的——点乘跟矩阵乘向量是一样一样的,你只需再了解一个知识点就可融会贯通。那就是

我们引入一个一维数轴,该数轴与同向,在这个数轴上有个单位向量,它的长度是1。

当从二维空间的视角看时,,坐标为(Ux,Uy)。从一维空间看,它的坐标是1。现在我对二维空间做线性变换,变到所在的这条数轴上。来,告诉我,线性变换矩阵是什么?很好算吧,就是原向量在数轴上的投影,和原向量的投影。根据对称性,我们惊喜地发现竟然是矩阵[Ux Uy]!

也就是说!矩阵[Ux Uy]这个线性变换就是把空间变换到了向量所在的一维数轴上。所以对于中的,它在变换后的位置,就是它在所在的这条数轴上的投影(|b|cosθ)。

让我们来总结一下。

1)从计算方式上,点乘等价于矩阵乘以向量

2)矩阵表示的线性变换,是将空间变换到向量所在的一维数轴上——[UxUy]表示的线性变换,是把空间降到了向量所在的一维数轴上

3)矩阵乘以向量表示向量经线性变换后的新位置,也就是向量在数轴上的投影——的新位置即为

4)在同一条数轴上,它们之间是倍数关系,可表示为。所以

大功告成。

• 基向量变换

一直以来我们都用这对基向量,但你的朋友谢广坤说我偏要用

这对基向量。虽然你觉得广坤很任性,但他这样其实完全没有毛病。

当你说的向量不再是广坤的,广坤的不再是你的时,你们的友谊几乎走到了尽头。为了维护与广坤的友谊,你需要做基向量变换,也就是把广坤的表述的翻译过来,并且把你的翻译过去,这样你们才能继续交流。

让我们先翻译一下广坤。

这一天广坤说“我瞅着这个向量充满了灵气。”显然,这不是你的坐标系中的,你迫切地想知道广坤说的究竟是哪个。怎么办?

用跟之前一模一样的算法。你已经知道广坤喜欢的向量是,也就是-1*广坤的,2*广坤的,那,广坤也早就告诉你了,是,所以代入就能知道广坤说的究竟是哪个向量了。

你经过计算得知广坤说的是,对此你不置可否,并且认为这个向量更胜一筹,于是你又需要把这个向量翻译给广坤。此前我们用广坤的向量左乘了线性变换矩阵,现在我们只需用我们的向量乘以线性变换矩阵的逆(逆矩阵的算法就请直接用计算机吧)。

现在你和广坤能够顺畅地交流向量了!

• 特征向量和特征值

特征向量就是在线性变换中方向保持不变的那些向量。特征值就是特征向量在变化后伸缩的程度。

如上图,经过的线性变换,粉线和绿线上的向量依然在原来的线上,它们就是特征向量。

特征值向量可能有无数个(比如空间只是拉伸了一下),也有可能没有(比如九十度旋转)。

简单的笔记就到此结束了,视频中的更多精彩内容,比如叉积的几何意义、你和广坤如何交流线性变换、特征向量转化为基向量等等并未展开。亲自去看一看视频吧!你绝不会失望的!

3Blue1Brown--Essence of linear algebra 系列视频

https://www.youtube.com/watch?v=fNk_zzaMoSs&list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab

封面图来自3Blue1Brown

点乘 线性代数_如果看了这些还不懂线性代数,你就来锤我和广坤相关推荐

  1. 看了此文还不懂傅里叶变换,你来掐死我吧

    看了本文你还不懂傅里叶变换,那就来掐死我吧 作者:韩昊(德国斯图加特大学通信与信息工程专业硕士生) 提要:这篇文章的核心思想就是:要让读者在不看任何数学公式的情况下理解傅里叶分析. 傅里叶分析不仅仅是 ...

  2. 【动态规划】不信看完你还不懂动态规划

    1.什么是动态规划? 维基百科:动态规划(Dynamic programming,简称DP)是一种通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法. 使用场景:动态规划常常适用于有重叠子问题 ...

  3. 程序员的数学3 线性代数_在编程大佬眼中,线性代数到底是什么样的?

    线性代数是什么? 在大学数学学科中,线性代数是最为抽象的一门课,从初等数学到线性代数的思维跨度比微积分和概率统计要大得多.很多人学过以后一直停留在知其然不知 其所以然的阶段,若干年之后接触图形编程或机 ...

  4. 线性代数_矩阵零空间的维度与奇异值的关系

    1. 矩阵的零空间 矩阵A的零空间就Ax=0的解的集合. 零空间的求法:对矩阵A进行消元求得主变量和自由变量:给自由变量赋值得到特解:对特解进行线性组合得到零空间. 假设矩阵如下: 对矩阵A进行高斯消 ...

  5. v-html解析的相对地址img 显示不出来_还不懂java类加载机制的,建议看下这份阿里技术官总结的笔记!...

    作者:HandKnock 原文:https://blog.csdn.net/weixin_42547039 类加载机制 把class文件加载到内存,并对数据进行校验,准备,解析,初始化,形成可以被虚拟 ...

  6. pdf做成翻页电子书_想看书就别用手机了,电子书选购指南

    关注求真实验室 教你成为硬核买手 一个真正的读者,或是喜爱阅读的人,内心肯定有一份对纸质书的情怀.毫无疑问,纸质书能带来最真实的质感.最纯粹的阅读体验. 但在这个知识爆炸的时代,纸质书却在逐渐消逝.生 ...

  7. 学完计算机还是不懂,如果看了这篇文章你还不懂傅里叶变换,那就过来掐死我吧...

    如果看了这篇文章你还不懂傅里叶变换,那就过来掐死我吧(二) Heinrich ·  15 天前 已于2014.6.6更新,地址:傅里叶分析之掐死教程(完整版)更新于2014.06.06 - 与时间无关 ...

  8. 如果看了这篇文章你还不懂傅里叶变换,那就过来掐死我吧

    如果看了这篇文章你还不懂傅里叶变换,那就过来掐死我吧(二) Heinrich · 15 天前 已于2014.6.6更新,地址:傅里叶分析之掐死教程(完整版)更新于2014.06.06 - 与时间无关的 ...

  9. SAP HUM 如何看哪些HU还在923包装区尚未上架?

    SAP HUM 如何看哪些HU还在923包装区尚未上架? LS03N 显示包装区storage bin, 比如923/PACK.BIN, 在其Stock选项卡里,可以看到HU号码,这些号码就是还在包装 ...

最新文章

  1. (转)Unity3DUnity3D在android下调试
  2. android ifw 启动广告,使用 IFW 完全控制 Android 应用行为 | 实用技巧
  3. sql 链接到oracle数据库,通过MSSQL连接服务器连接至Oracle数据库
  4. ImportError: No module named ‘pandas.io.data‘
  5. 解决WARN TaskSchedulerImpl: Initial job has not accepted any resources;
  6. android系统下多媒体播放
  7. Linux+c语言结构体对齐,C语言中结构体struct的对齐问题解析
  8. 监控视频转发方案探讨-内网转外网
  9. linux安装 lr agent
  10. 私人飞机包机运营商flyExclusive通过与BitPay合作支持加密货币付款
  11. JavaScript中||(或)逻辑运算符注意点
  12. Lomboz 3.3
  13. 逻辑思维训练500题
  14. 64Mbit SOIC8封装SPI接口的国产串行SRAM EMI7064
  15. 双机热备——上下层交换机负载分担
  16. oracle数据类型和Java类型之间的映射关系
  17. 事件回滚 rollback
  18. 8赛道,64匹马找最快的8匹马
  19. 职场七年之痒,如何抉择
  20. 百度搜索高级语法技巧

热门文章

  1. Volcano:在离线作业混部管理平台,实现智能资源管理和作业调度
  2. 带你熟悉鸿蒙轻内核Kconfig使用指南
  3. CANN5.0黑科技解密 | 别眨眼,缩小隧道,让你的AI模型“身轻如燕”
  4. 带你探索CPU调度的奥秘
  5. 搞定研发知识管理,你的企业就能跑快一步
  6. 从相识到相惜:Redis与计算存储分离四部曲
  7. 充分释放数据价值:安全、可信6到飞起
  8. 【华为云技术分享】解析数据治理在过程可信变革中的运作流程
  9. 补习系列(20)-大话 WebSocket 与 尬聊的实现
  10. C++ 各类树的算法