zoukankan      html  css  js  c++  java
  • 为什么点积等价于投影后的乘积

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

    先上结论:

    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)不是单位向量,再乘以其范数即可。这就是完整的点积:投影→相乘!

    解释完毕!

  • 相关阅读:
    CSS盒子模型
    getContextPath、getServletPath、getRequestURI、request.getRealPath的区别
    MYSQL中的CASE WHEN END AS
    单点登录的精华总结
    git&github
    June 21st 2017 Week 25th Wednesday
    June 20th 2017 Week 25th Tuesday
    June 19th 2017 Week 25th Monday
    June 18th 2017 Week 25th Sunday
    June 17th 2017 Week 24th Saturday
  • 原文地址:https://www.cnblogs.com/RyanXing/p/dot_product.html
Copyright © 2011-2022 走看看