📜  ML |线性代数运算

📅  最后修改于: 2021-05-07 08:36:21             🧑  作者: Mango

线性代数原理对于理解机器学习以及深度学习背后的概念至关重要,即使许多想法都难以创建精确的数学模型,线性代数仍然是研究它们的重要工具。代数让您更好地了解算法实际上是如何在后台运行的,因此开发人员可以做出更好的选择,并且如果要成为机器学习或深度学习的专业人士,就无法逃脱学习其中的某些技术。

什么是线性代数?
它是数学的一个分支,它允许以简洁的方式定义和执行高维坐标和平面相互作用。线性代数是对未定义尺寸的代数扩展。线性代数涉及对线性方程组的关注。它是一种连续的数学类型,可应用于科学和工程领域,因为它有助于建模和有效地模拟自然现象。

在学习线性代数概念之前,我们必须了解以下属性:

  • 关联属性:这是数学中的一个属性,它声明如果abc是数学对象,则a +(b + c)=(a + b)+ c ,其中+是二进制运算。
  • 可交换属性:这是数学中的一个属性,它声明如果ab是数学对象,则a + b = b + a ,其中+是二进制运算。
  • 分布属性:这是数学中的一个属性,它声明如果abc是数学对象,则a *(b + c)=(a * b)+(a * c) ,其中*+是二元运算符。

以下是一些线性代数概念,这些概念主要用于机器学习实现中:

  • 标量:这是一个用单个元素描述的物理量,它只有大小,没有方向。基本上,标量只是一个数字。
    Example: 
    17 and 256
  • 向量:这是一个既具有大小又具有方向的几何对象,是有序的数字数组,始终位于行或列中。向量只有一个索引,可以引用向量中的特定值。

    这里V是一个向量,其中e1e2e3e4是其元素,而V [2]e3
    Example: 
    [2, 3, 4] and [34, 53]

    运作方式:

    • 标量向量乘法:
    p = [e1, e2, e3]

    标量与向量的乘积给出以下结果:

    p * 2 = [2 * e1, 2 * e2, 2 * e3]

    当标量2由矢量p相乘则向量p的所有元素是由标量相乘。该操作满足可交换性。

    Example:
    x = [1, 2]
    x * 4 = [4, 8]
  • 矩阵:它是数字,符号或表达式的有序2D数组,排列成行和列。它有两个索引,第一个索引指向行,第二个索引指向列。矩阵可以具有多个行和列。

    M之上是一个2矩阵,具有e1e2e3e4作为元素,并且M [1] [0]e3
    Example:
    2 3 6  and 56 12 
    4 5 8      45 78
               34 67 

    其左对角元素为1且其他元素为0的矩阵恒等矩阵

    Example:
    1 0 
    0 1 is 2D Identity Matrix.
    
    1 0 0
    0 1 0
    0 0 1 is 3D Identity Matrix.

    运作方式:

    • 标量矩阵乘法:
      p = e1 e2 
          e3 e4
      a is a scalar.
      p * a = (a * e1)  (a * e2)
              (a * e3)  (a * e4)

      当标量A由矩阵P相乘然后将矩阵P的所有元素是由标量相乘。标量矩阵乘法是关联的,分布的和可交换的。

      Example:
      x = 1 2 3
          4 5 6
      x * 4 = 4  8  12
              16 20 24
    • 向量矩阵乘法:
      p = e1 e2
          e3 e4
          e5 e6
      q = a
          b

      将矩阵p与向量q相乘得出以下乘积-

      p * q = (e1 * a) + (e2 * b)
              (e3 * a) + (e4 * b)
              (e5 * a) + (e6 * b)

      矩阵的行数应等于向量的元素数,然后才能将它们相乘。向量矩阵乘法是关联的和分布的,但不是可交换的。

      Example:
      m = 1 2  and n = 1
          3 4          2 
          5 6
      then m * n = 5
                   11
                   17
    • 矩阵-矩阵加法:
      m1 = a b  and m2 = p q 
           c d           r s

      为了添加矩阵,矩阵的行和列应相等。矩阵m1m2相加得出以下结果-

      m1 + m2 = (a + p) (b + q)
                (c + r) (d + s)

      将第一矩阵的每个元素与另一个矩阵的相应元素都具有相同的行和列值相加。矩阵矩阵加法是关联的,分配的和可交换的。

      Example:
      1 2   5 5   6 7
      2 1 + 5 5 = 7 6
      1 2   5 5   6 7 
    • 矩阵-矩阵减法:
      m1 = a b  and m2 = p q 
           c d           r s

      为了减去矩阵,矩阵的行和列应相等。矩阵m1m2之间的减法得出以下结果:

      m1 - m2 = (a - p) (b - q)
                (c - r) (d - s)

      将第一矩阵的每个元素与另一个矩阵的相应元素都具有相同的行和列值相减。矩阵矩阵加法是关联的,分配的和可交换的。

      Example:
      1 2   5 5   -4 -3
      2 1 - 5 5 = -3 -4
      1 2   5 5   -4 -3
    • 矩阵-矩阵乘法:
      m1 = a b  and m2 = p q 
           c d           r s

      为了将两个矩阵相乘,第一个矩阵的列数应等于第二个矩阵的行数,下面给出矩阵m1m2的乘积-

      m1 * m2 = ((a * p) + (b * r))   ((a * q) + (b * s))  
                ((c * p) + (d * r))   ((c * q) + (d * s))

      矩阵-矩阵乘法是关联的和分布的,但不是可交换的。

      Example:
      1 3 2   1 3    11 10
      4 0 1 * 0 1 =  9  14
              5 2
      1 3 2   1    11
      4 0 1 * 0 =  9 
              5 
      1 3 2   3    10
      4 0 1 * 1 =  14
              2 

      x1,x2x3是矩阵使得X1具有多个行和列的数量为Bx2具有行和列和x 3C数的数量Bx1x2这样的产物,X3具有许多行和c列数。 X1 * X2 = X3,其中X 3具有行和c列。

    • 转置:
      矩阵的转置会生成一个新的矩阵,在该矩阵中,行变为原始矩阵的列,而列变为原始矩阵的行。
      m = a b
          c d
      Transpose(m) = a c 
                     b d  

      如果A是矩阵,而B是矩阵A的转置,则矩阵B的转置就是原始矩阵A。
      B = Transpose(A)然后, Transpose(B)= Transpose(Transpose(A))= A

      Example:
      x = 1 2 3
      Transpose of matrix x is 1
                               2 
                               3

      m * n矩阵的转置将得到n * m矩阵。

    • 逆:
      矩阵的逆矩阵是矩阵与原始矩阵相乘时的乘积,从而得出恒等矩阵。如果m是一个矩阵, nm的逆矩阵,则m * n = I ,其中I表示恒等矩阵。
      Example:
      m = 4 7 and inverse(m) =  0.6 -0.7  
          2 6                  -0.2 0.4
      4 7  *  0.6 -0.7 = 1 0 
      2 6    -0.2  0.4   0 1 
  • 张量:它是一个代数对象,表示代数对象从一组到另一组的线性映射。它实际上是3D数字数组,具有可变数量的轴,排列在规则的网格上。张量具有三个索引,第一个索引指向行,第二个索引指向列,第三个索引指向轴。

    张量T在这里具有8个元素e1e2e3e4e5e6e7e8 ,其中T [0] [3] [1]e8