3blue1brown线性代数系列学习笔记01-点积和对偶性

线性代数系列学习笔记 - 点积和对偶性

定义点积(dot product):
v ⃗ ⋅ w ⃗ = [ v 1 v 2 v 3 ] ⋅ [ w 1 w 2 w 3 ] = v 1 w 1 + v 2 w 2 + v 3 w 3 \vec{v} \cdot \vec{w} = \begin{bmatrix} v_1 \\ v_2 \\ v_3 \\ \end{bmatrix} \cdot \begin{bmatrix} w_1 \\ w_2 \\ w_3 \\ \end{bmatrix} = v_1w_1+v_2w_2+v_3w_3 v w =v1v2v3w1w2w3=v1w1+v2w2+v3w3

首先作者提及我们可能对点积这个概念有一定的理解,知道它可以通过做投影(projection)后相乘的方式被理解。但是为何按照上述的定义,在数学操作层面,先把对应元素配对相乘后再相加得到的一个数值,会恰恰同几何学上的一个特殊的投影变换操作(transformation)对应起来呢?

作者提醒我们从对偶性(duality)的角度去看待这个问题,由此也引出了所谓的点积的两重性的概念。

正文

不同与数学书上的概念性解读:
L ( a v ⃗ + b w ⃗ ) = a L ( v ⃗ ) + b L ( w ⃗ ) L(a\vec{v}+b\vec{w})=aL(\vec{v})+bL(\vec{w}) L(av +bw )=aL(v )+bL(w )
作者提出先从直观上理解什么是线性变换(linear transformation):

假设存在一个向量空间为二维平面,任意找一条直线,假若一个函数能把其上均匀分布(evenly spaced)的一系列点(也即是向量),都最终输出为一条新的直线,且对应的一系列点之间的距离也是均匀分布的,那么这个函数(变换)就是一个将二维输入转换为一维输出的线性变换。

事实上,只需知道变换 L L L i ^ \hat{i} i^ j ^ \hat{j} j^ 分别映射为哪两个数值,以这两个数值构成的 1 × 2 1 \times 2 1×2 矩阵就完全表示了该变换。那么,任意给定二维平面中的向量 u ⃗ \vec{u} u ,都可以由下式:
[ L ( i ^ ) L ( j ^ ) ] ⏞ T r a n s f o r m [ u 1 u 2 ] ⏟ V e c t o r = L ( i ^ ) ⋅ u 1 + L ( j ^ ) ⋅ u 2 \overbrace{ \begin{bmatrix} L(\hat{i}) & L(\hat{j}) \end{bmatrix} }^{Transform} \underbrace{ \begin{bmatrix} u_1 \\ u_2 \\ \end{bmatrix} }_{Vector}= L(\hat{i}) \cdot u_1 + L(\hat{j}) \cdot u_2 [L(i^)L(j^)] TransformVector [u1u2]=L(i^)u1+L(j^)u2
唯一确定经变换后的一维输出的数值。

注意到:上式这个运算过程和前面点积的数学定义有着惊人的相似之处,这揭露了这样一个事实,以列向量的形式存在的向量 [ L ( i ^ ) L ( i ^ ) ] \begin{bmatrix} L(\hat{i}) \\ L(\hat{i}) \end{bmatrix} [L(i^)L(i^)]本身,必然与以 1 × 2 1 \times 2 1×2 矩阵形式存在的 [ L ( i ^ ) L ( j ^ ) ] \begin{bmatrix} L(\hat{i}) & L(\hat{j}) \end{bmatrix} [L(i^)L(j^)]线性变换存在密不可分的联系。

为揭露这一联系,作者让我们先忘记先前知道的点积与投影相关的知识:
投影图
任意找到斜放在二维平面且过原点的一维数轴,数轴的原点与二维平面的原点重合,考虑定义这样一个特殊的变换(函数):输入为二维向量,将平面上的每一个二维向量(点)垂直投影到这条数轴上,输出为相应的一维坐标数值。可以注意到这其实是个线性变换,因为根据直观检验,直线上的均匀点系列被输出为数轴上的均匀点系列(下面的3张图片):
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
根据前面所学的知识,这个特殊的变换 L L L 可以表示为矩阵形式 [ ? ? ] \begin{bmatrix} ?&?\end{bmatrix} [] ,只要先找到 i ^ \hat{i} i^ j ^ \hat{j} j^ 分别被映射为哪两个数值,两个问号被这两个数值填充即可。在这个过程中,与倾斜数轴上单位长度所在点重合的二维单位向量 u ⃗ \vec{u} u 起着很关键的作用,它的存在方便了我们去理解其中的对偶性从何而来(下面的2张图片):
在这里插入图片描述
在这里插入图片描述
由上面两张图所展示出的对偶性可以轻松的确定出变换 L L L 的矩阵形式为 [ u x u y ] \begin{bmatrix} u_x & u_y \end{bmatrix} [uxuy],巧合的是这恰恰就是 u ⃗ \vec{u} u 的横纵坐标值。相应的,任意向量 v ⃗ \vec{v} v 被映射为:
[ u x u y ] ⏞ T r a n s f o r m [ v 1 v 2 ] ⏟ V e c t o r = u x ⋅ v 1 + u y ⋅ v 2 \overbrace{ \begin{bmatrix} u_x & u_y \end{bmatrix} }^{Transform} \underbrace{ \begin{bmatrix} v_1 \\ v_2 \\ \end{bmatrix} }_{Vector}= u_x \cdot v_1 + u_y \cdot v_2 [uxuy] TransformVector [v1v2]=uxv1+uyv2
这一投影变换的操作过程,同抛却上述所展示的方法,纯粹按定义实施任意单位向量 u ⃗ \vec{u} u 和任意向量 v ⃗ \vec{v} v 的点积
u ⃗ ⋅ v ⃗ = [ u x u y ] ⋅ [ v 1 v 2 ] = u x ⋅ v 1 + u y ⋅ v 2 \vec{u} \cdot \vec{v} = \begin{bmatrix} u_x \\ u_y \\ \end{bmatrix} \cdot \begin{bmatrix} v_1 \\ v_2 \\ \end{bmatrix} = u_x \cdot v_1+u_y \cdot v_2 u v =[uxuy][v1v2]=uxv1+uyv2
有着近乎完美的契合,从对比两个过程所站立的
M a t r i x − V e c t o r   P r o d u c t ⇔ V e c t o r   P r o d u c t Matrix-Vector \ Product \Leftrightarrow Vector \ Product MatrixVector ProductVector Product这个角度,我们便能够理解为何将单位向量与另一个向量做点积可以解读为将该向量投影到单位向量所在的直线上,并取其投影长度(可正可负,计算结果是多少就是多少)这一特定的操作(变换),这就与我们的原有的认知相吻合。如果参与运算的不是单位向量而是任意向量,则可以将这个向量看作一个标量乘以单位向量,标量就是这个向量的模,因而最终变换的结果是投射长度乘以没有变化的向量的模值(以下3张图片):
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

思考一下这个过程,我们有一个从二维空间到数轴的线性变换,它并不是由向量数值或点积运算定义得到的,而只是通过将空间投影到给定数轴上来定义,但是因为这个变换是线性的,所以它必然可以用某个 1 × 2 1 \times 2 1×2矩阵描述,又因为 1 × 2 1 \times 2 1×2矩阵与二维向量相乘的计算过程和转置该矩阵并求点积的计算过程相同,所以这个投影变换必然会与某个二维向量相关。这里给你的启发是,你在任何时候看到一个线性变换,它的输出空间是一维数轴,无论它是如何定义的,空间中会存在唯一的向量 v ⃗ \vec{v} v 与之相关,就这一意义而言,应用变换和与向量 v ⃗ \vec{v} v 做点积是一样的。
在这里插入图片描述
在这里插入图片描述

之后作者提及他对对偶性的粗略解读:

duality指的是看似毫不相干的两个数学概念之间的本质上的契合。
在这里插入图片描述

扫描二维码关注公众号,回复: 13101610 查看本文章

并举这个视频中学到的例子来说明:

在这里插入图片描述
一个向量的对偶是:由它定义的线性变换,而:
在这里插入图片描述
一个多维空间到一维空间的线性变换的对偶是:多维空间中的某个特定向量。

作者最终补充到:

两个向量点乘,就是将其中一个向量转化为线性变换,在数值上强调它可能显得没有意义,因为只是两种看上去恰好相似的计算过程而已,但是我认为这一过程非常重要,因为从始至终你都在和向量打交道,一旦你真正了解了向量的“个性”,有时候你就会意识到,不把它看作空间中的箭头,而把它看作线性变换的物质载体,会更容易理解向量。向量就仿佛是一个特定变换的概念性记号,因为对我们来说,想象空间中的向量比想象整个空间移动到数轴上更加容易。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

后记

  • 我个人在看这个视频的过程中,注意到视频当中并没有牵涉到基底的变换这部分的知识,即由矩阵表示的线性变换所涉及的两组都是不言而自明的,默认都是在自然基底下。
  • 事实上,有的线性代数教材,例如《线性代数及其应用》这本书在定义两个向量的点积时是用下式定义的:
    u ⃗ ⋅ v ⃗ = u ⃗ T v ⃗ = [ u 1 u 2 u 3 ] [ v 1 v 2 v 3 ] = u 1 v 1 + u 2 v 2 + u 3 v 3 \vec{u} \cdot \vec{v} = \vec{u}^T \vec{v} = \begin{bmatrix} u_1 & u_2 & u_3 \end{bmatrix} \begin{bmatrix} v_1 \\ v_2 \\ v_3 \end{bmatrix} = u_1v_1 + u_2v_2 + u_3v_3 u v =u Tv =[u1u2u3]v1v2v3=u1v1+u2v2+u3v3
    当时我就不能理解为什么定义两个以列向量形式存在的向量之间的一种运算,会涉及到把其中一个向量转置为行向量?这个视频的知识结合我在《线性代数应该这样学》中对线性变换的理解,才意识到原来《线性代数及其应用》的作者把那个式子当作点积的定义式其实是不太合理的,应该定义为:
    u ⃗ ⋅ v ⃗ = [ u 1 u 2 u 3 ] ⋅ [ v 1 v 2 v 3 ] = u 1 v 1 + u 2 v 2 + u 3 v 3 \vec{u} \cdot \vec{v} = \begin{bmatrix} u_1 \\ u_2 \\ u_3 \end{bmatrix} \cdot \begin{bmatrix} v_1 \\ v_2 \\ v_3 \end{bmatrix} = u_1v_1 + u_2v_2 + u_3v_3 u v =u1u2u3v1v2v3=u1v1+u2v2+u3v3并且在定义该式之后,补充上这样一句:
     
    [ u 1 u 2 u 3 ] ⋅ [ v 1 v 2 v 3 ] 可 以 等 价 理 解 为 [ u 1 u 2 u 3 ] [ v 1 v 2 v 3 ] \begin{bmatrix} u_1 \\ u_2 \\ u_3 \end{bmatrix} \cdot \begin{bmatrix} v_1 \\ v_2 \\ v_3 \end{bmatrix}可以等价理解为\begin{bmatrix} u_1 & u_2 & u_3 \end{bmatrix} \begin{bmatrix} v_1 \\ v_2 \\ v_3 \end{bmatrix} u1u2u3v1v2v3[u1u2u3]v1v2v3,这样才可以称得上在逻辑体系上是很完善的了。

猜你喜欢

转载自blog.csdn.net/chenzz444/article/details/104505012