• 为什么点积等价于投影后的乘积


    为什么点积等价于投影后的乘积

    先上结论:

    1. (oldsymbol v)(oldsymbol w)点积,就是向量乘法(oldsymbol v × oldsymbol w^T)

    2. (oldsymbol w)象征着一个降维变换矩阵,因此该矩阵乘法本质上是一个(oldsymbol v)降维的过程;

    3. 该降维变换在几何上正是投影过程。

    综上,点积的几何意义就是投影相乘。

    摘自《Essence of linear algebra》系列视频,非常精彩。B站上有全集~

    要理解这一点,需要线性代数基础,要理解矩阵和变换之间的关系。

    1. 复习点积

    我们所学的向量点积是这样的:

    dot product

    其几何解释为:向量(oldsymbol w)在向量(oldsymbol v)上投影,投影长度和(|oldsymbol v|)相乘。

    explain for dot product

    借助这一几何解释,我们可以直观地理解:

    • 向量正交:点积为0

    • 投影为反方向:点积为负。

    2. 点积的对称性

    注意!理解、证明点积的对称性,对我们的证明至关重要!

    假设(oldsymbol w igodot oldsymbol v),对称性的意思是:
    无论是(oldsymbol v)(oldsymbol w)上作投影再乘,还是(oldsymbol w)(oldsymbol v)上作投影再乘,结果都是一样的。

    现在我们证明这一点。

    symmetry

    如图,假设二者长度相同,那么对称性显然成立:因为投影长度是一样的。

    现在,假设(oldsymbol w)更长。
    我们在(oldsymbol w)的方向上取(oldsymbol w'),使得(|oldsymbol w'|)等于(|oldsymbol v|)

    我们先考虑(oldsymbol w' igodot oldsymbol v)。由于长度相同,对称性是显然的。
    (oldsymbol w igodot oldsymbol v),和(oldsymbol w' igodot oldsymbol v)只相差常数(alpha)倍:

    [alpha = frac{|oldsymbol w|}{|oldsymbol w'|} ]

    3. 矩阵与变换的关系

    这一节内容,强烈建议观看推荐视频:《Essence of linear algebra》。

    假设现在有矩阵:

    [ egin{bmatrix} 1 & 0 \ 0 & 1 \ end{bmatrix} ]

    这是一个单位阵,作用在任何一个向量([a,b])上,仍然会得到([a,b])

    本质原因是:

    • 单位阵第一行([1,0]),代表的是基向量(oldsymbol i = [1,0])变换后的位置;

    • 同理,单位阵第二行([0,1]),代表的是基向量(oldsymbol j = [0,1])变换后的位置。

    显然两个基向量的位置都没发生变化,因此这个变换没有任何变化效果。

    (a)是基向量(oldsymbol i)是权重,(b)是基向量(oldsymbol j)是权重,([a,b])可以拆解为(aoldsymbol i + boldsymbol j)
    由线性性,对任意一个向量([a,b])进行线性变换,等于两个分量分别变换,再相加。
    因此任意一个向量与单位阵相乘仍然是其本身。

    再举一个例子。设有矩阵:

    [ egin{bmatrix} 1 & 0 \ frac{1}{sqrt{2}} & frac{1}{sqrt{2}} \ end{bmatrix} ]

    与向量([a,b])相乘,结果为:

    [[a,b] egin{bmatrix} 1 & 0 \ frac{1}{sqrt{2}} & frac{1}{sqrt{2}} \ end{bmatrix} = [a+frac{1}{sqrt{2}}b,frac{1}{sqrt{2}}b] ]

    如果理解了矩阵和变换的含义,理解这个结果就特别简单:

    1. 基向量(oldsymbol i)纹丝不动,而基向量(oldsymbol j)变换到了([frac{1}{sqrt{2}}, frac{1}{sqrt{2}}])

    2. ([a,b])可以拆解为(aoldsymbol i + boldsymbol j)

    3. 因此([a,b])变换到了(a[1,0] + b[frac{1}{sqrt{2}}, frac{1}{sqrt{2}}]),结果就是([a+frac{1}{sqrt{2}}b,frac{1}{sqrt{2}}b])

    4. 一维矩阵也是一种线性变换

    线性性对我们的证明特别重要,可以解释为什么能分别对基向量作变换,再叠加。

    我们都知道,线性性包含齐次性和叠加性。
    要证明某一个变换是线性变换,就必须证明该变换具有这两个性质。

    我们在这里省略严格的证明,换一个直观的角度予以证明。
    线性变换有一个直观的特点:
    在二维空间中,如果有一系列等距分布于同一直线上的点:

    dots in 2D

    那么线性变换之后,这些点在数轴上仍是等距分布的

    dots in 1

    能证明这一点暂时就足够了。
    与上一节不同的是,我们现在介绍的是降维变换(2D→1D)。但矩阵和变换的关系还是相同的:
    原本二维空间的基向量是[1,0],[0,1]:

    orginal

    现在变成了数轴上的两个点,也就是两个数(动画更直观,推荐看视频):

    after

    该过程满足保持等距条件。
    因为如果把作用向量放大(alpha)倍,实际上就是把两个基向量的权重分别放大(alpha)倍。
    被变换作用后再叠加,效果也是放大(alpha)倍。因此等距点仍然是等距点。

    这样,我们就粗略说明了该变换是线性变换。

    因此我们完全可以认为:
    向量[2,1]表征一个从二维到一维的线性变换,将基向量(oldsymbol i)变换至数轴点2,将基向量(oldsymbol j)变换至数轴点1。

    5. 最终解释:为什么是投影

    现在,我们解释为什么点积可以用投影后的乘积来解释。

    我们先来看一个单位向量(oldsymbol u)

    basicproject

    由于是单位向量,因此(oldsymbol i = [1,0])(oldsymbol u)上做投影,和(oldsymbol u)(oldsymbol i = [1,0])(也即x轴)上做投影,长度是一样的!
    也就是说:图中绿色虚线投影得到的投影长度,等于(oldsymbol u)的横坐标(u_x)
    同理:图中红色虚线投影得到的投影长度,等于(oldsymbol u)的纵坐标(u_y)

    becauseofsymmetry

    好了。此时假设向量(oldsymbol w)要和单位向量(oldsymbol u)点积。
    由上一节推出的性质,基向量在变换(oldsymbol u)下,会分别映射(降维)到点(u_x)(u_y)

    (oldsymbol w = [w_x,w_y]),那么(oldsymbol w)就会映射到(w_xu_x+w_yu_y)
    这就是点积!!!

    所以,为什么可以理解为:(oldsymbol w)先投影到(oldsymbol u)上,再做乘积呢?

    1. (oldsymbol w)可以拆解为基向量的加权组合。

    2. 每一个基向量与变换(oldsymbol u)(先规定为单位向量)作用的结果,又可以分为:

      1. 该变换相当于投影到(oldsymbol v)所在数轴上的一点

      2. 该点的坐标,正是(oldsymbol u)的横坐标或纵坐标

      3. 由线性性,基向量分别变换后再相加,等价于向量(oldsymbol w)整体变换的结果。因此我们把两个投影值相加,就得到了最终结果。

    3. 因此,从计算过程上看就是:坐标和权重相乘,再相加。这就是点积!

    4. 从投影过程上看:(oldsymbol w)(oldsymbol v)上投影,恰好也可以拆分成两个基向量在(oldsymbol v)投影的叠加。因此点积都是投影!

    5. 如果(oldsymbol u)不是单位向量,再乘以其范数即可。这就是完整的点积:投影→相乘!

    解释完毕!

  • 相关阅读:
    李晋的YIM每日签名
    C语言的基础知识
    数据库的分页方法总结
    C#操作XML的代码
    ASP文件操作的类
    spring配置文件的基本语法
    预测球队比赛成绩
    文件的读写和我的第一个网页
    python中关于turtle库的学习笔记
    python科学计算与可视化
  • 原文地址:https://www.cnblogs.com/RyanXing/p/dot_product.html
Copyright © 2020-2023  润新知