• 论文中的小细节——为什么论文中总是写WX而不是XW?


    这是最近一个师弟问我的问题,为什么在论文里面总是写的 Y = W X Y=WX Y=WX,而不是 Y = X W Y=XW Y=XW?就算有的时候需要转置 W W W 或者 X X X,都不写 Y = X W Y=XW Y=XW

    这个问题我最开始回答的是这就是约定俗成的写法,因为我也确实没思考过这个问题,我估计大部分的人也没有思考过这个问题,后来我发现这个是个数学问题,而不是约定俗成的写法。

    • 首先,矩阵是没有交换律的,即大部分时候 A B ≠ B A AB\neq BA AB=BA,举个直观的例子:
      A = [ 1 2 3 4 ] , B = [ 5 6 7 8 ] A=[1234],B=[5678]
      A=[1324],B=[5768]
      A=[1324],B=[5768]

    A B = [ 19 22 43 50 ] , B A = [ 23 34 31 46 ] AB=[19224350],BA=[23343146]

    AB=[19432250],BA=[23313446]
    AB=[19432250],BA=[23313446]

    • 接着,我们要考虑矩阵的本质,矩阵的本质是一种线性映射,即将一个空间中的向量按照一定的规则进行旋转、缩放。在一个常规二维坐标系中,即基向量为 [ 1 , 0 ] [1, 0] [1,0] [ 0 , 1 ] [0, 1] [0,1],假设有一个矩阵:
      [ 2 − 1 1 1 ] \left[ 2111

      2111
      \right] [2111]
      那么这个矩阵代表着将基向量变换到了 [ 2 , 1 ] [2, 1] [2,1] [ − 1 , 1 ] [-1, 1] [1,1],如下图所示:
      在这里插入图片描述
      当这个矩阵乘以一个向量 [ 0.5 , 2 ] [0.5, 2] [0.5,2] 的时候,就将这个矩阵的这种旋转与拉伸给作用到了这个向量之上:
      [ 2 − 1 1 1 ] [ 0.5 2 ] = [ − 1 2.5 ] , \left[ 2111
      2111
      \right] \left[ 0.52
      0.52
      \right] = \left[ 12.5
      \right],
      [2111][0.52]=[12.5],

      如下图所示:
      matrix dot vector
      而这只是一个举例的向量,实际上这个矩阵 W W W 会将整个空间中的向量按照这种方式进行旋转与拉伸,即 W X WX WX 中这个 X X X 可以是任何满足矩阵乘法条件的向量。

    • 第三点则是,大部分语种的阅读顺序是从左到右的,然而对于矩阵乘法,实际上是从右到左的读法。

    在理解了上面三个简单的线代概念后,我们在回过头来看 W X WX WX X W XW XW 的区别。对于 W X WX WX 而言,其表达的物理意义是:X 在 W 的作用下映射到了另外一个位置,而 X W XW XW 表达的物理意义是:W 在 X 的作用下映射到了另外一个位置。那么这样就能够回答为什么论文中总是 W X WX WX 而不是 X W XW XW 了,因为 X X X 代表的是输入向量, W W W 是映射函数。当然如果在你论文中 X X X 是映射函数, W W W 是输入数据,那你写 X W XW XW 肯定是完全对的,不过这与大部分人的直觉都不同罢了。

    当然还有个更简单的例子,考虑 3 × 5 3\times5 3×5 5 × 3 5\times3 5×3,虽然最后的结果都是 15 15 15,但是前者代表的是有5个3,后者代表的是有3个5

  • 相关阅读:
    数据结构与算法设计分析——动态规划
    redis的常用命令及使用特点
    7-39 计算阶乘和
    2023年数维杯国际赛B题实现代码
    基于SpringBoot的冬奥会科普平台设计与实现-计算机毕业设计源码
    Python自动化之跨平台GUI利器PyAutoGUI
    Tomcat Takeover
    linux性能诊断神器pstat
    从零开始使用webpack搭建一个react项目
    【差分演化算法相关文献总结】
  • 原文地址:https://blog.csdn.net/qq_35357274/article/details/132896619