zoukankan      html  css  js  c++  java
  • 深度学习——线性代数

    1、标量、向量、矩阵、张量

    1.1 标量(Scalar)

      表示一个单独的数,通常用斜体小写字母表示,如$sin R$ 。

    1.2  向量 (Vector)

      表⽰一列数,这些数有序排列的,可以通过下标获取对应值,通常⽤粗体⼩写字母表⽰:$xin R^{n}$ ,它表⽰元素取实数,且有 n个元素,第⼀个元素表⽰为:$x_{1}$。将向量写成列向量的形式:

        $x=egin{bmatrix}x_{1}\ x_{2}\ ...\ x_{n}end{bmatrix}$  

      有时需要向量的⼦集,例如第 1, 3, 6 个元素,那么我们可以令集合 S = {1, 3, 6} ,然后⽤ xS 来表⽰这个⼦集。另外,我们⽤符号 - 表⽰集合的补集:x−1 表⽰除 x1 外 x 中的所有元素,x−S 表⽰除 x1, x3, x6 外 x 中的所有元素。

    1.3 矩阵 (Matrix)

      表⽰⼀个二维数组,每个元素的下标由两个数字确定,通常⽤⼤写粗体字母表⽰:$Ain R^{n imes m}$,它表⽰元素取实数的 m ⾏ n 列矩阵,其元素可以表⽰为:A1,1, Am,n。我们⽤ : 表⽰矩阵的⼀⾏或者⼀列:Ai,: 为第 i ⾏,A:,j 为第 j 列。

       矩阵可以写成这样的形式:

         $egin{bmatrix}A_{1,1} & A_{1,2}\ A_{2,1} &A_{2,2}end{bmatrix}$

      有时我们需要对矩阵进⾏逐元素操作,如将函数 f 应⽤到 A 的所有元素上,此时我们⽤ f(A)i,j 表⽰。

    1.4 张量 (Tensor)

      超过二维的数组,我们⽤ A 表⽰张量,Ai,j,k 表⽰其元素(三维张量情况下)。

    2、矩阵转置

       矩阵转置 (Transpose) 相当于沿着对角线翻转,定义如下:

         $A_{ij}^{T}=A_{ij}$

      矩阵转置的转置等于矩阵本⾝:

        $(A^{T})^{T}=A$

    3、 矩阵加法

      加法即对应元素相加,要求两个矩阵的形状⼀样:

        $C=A+B,C_{i,j}=A_{i,j}+B_{i,j}$

       数乘即一个标量与矩阵每个元素相乘:

         $D=acdot B+c,D_{i,j}=acdot B_{i,j}+c$

      有时我们允许矩阵和向量相加的,得到⼀个矩阵,把 b 加到了 A 的每⼀⾏上,本质上是构造了⼀个将 b 按⾏复制的⼀个新矩阵,这种机制叫做⼴播 (Broadcasting):
        $C=A+b,C_{i,j}=A_{i,j}+b_{j}$

    4、 矩阵乘法

      两个矩阵相乘得到第三个矩阵,我们需要 A 的形状为 m × n,B 的形状为 n × p,得到的矩阵为 C 的形状为 m × p:

        $C=AB$

      具体定义为:

        $C_{i,j}=sum limits_{k}A_{i,k}B_{i,k}$

    5、 单位矩阵

      为了引⼊矩阵的逆,我们需要先定义单位矩阵 (Identity Matrix):单位矩阵乘以任意⼀个向量等于这个向量本⾝。记 In 为保持 n 维向量不变的单位矩阵,即:

        $I_{n}=R^{n imes m},forall xin R^{n},I_{n}x=x$

      单位矩阵的结构⼗分简单,所有的对⾓元素都为 1 ,其他元素都为 0,如:

        $egin{bmatrix}1 & 0 &0 \ 0&  1& 0\ 0 & 0 & 1end{bmatrix}$

    6、 矩阵的逆

      矩阵 A 的逆 (Inversion) 记作$A^{-1}$,定义为⼀个矩阵使得

        $A^{-1}A=I_{n}$

      如果 $A^{-1}$存在,那么线性⽅程组 Ax = b 的解为:

        $A^{-1}Ax=I_{n}x=x=A^{-1}b$

    7 、范数

      通常我们⽤范数 (norm) 来衡量向量,向量的 Lp 范数定义为:
      $left | x ight |_{p}=(sum limits_{i}|x_{i}|)^{p},pin R,pgeq1$

    8、特征值分解

      如果⼀个 n × n 矩阵 A 有 n 组线性⽆关的单位特征向量$left {v^{(1)}、v^{(2)}...v^{(n)} ight }$,以及对应的特征值 λ1, . . . , λn。将这些特征向量按列拼接成⼀个矩阵:$V=left {v^{(1)}、v^{(2)}...v^{(n)} ight }$,并将对应的特征值拼接成一个向量$lambda =left {lambda_{(1)}、lambda_{(2)}...lambda_{(n)} ight }$。

    9、奇异值分解

      奇异值分解 (Singular Value Decomposition, SVD) 提供了另⼀种分解矩阵的⽅式,将其分解为奇异向量和奇异值。与特征值分解相⽐,奇异值分解更加通⽤,所有的实矩阵都可以进⾏奇异值分解,⽽特征值分解只对某些⽅阵可以。奇异值分解的形式为:
      A = UΣVT 

      若 A 是 m × n 的,那么 U 是 m × m 的,其列向量称为左奇异向量,⽽ V 是 n × n 的,其列向量称为右奇异向量,⽽ Σ 是 m × n 的⼀个对⾓矩阵,其对⾓元素称为矩阵 A 的奇异值。

      事实上,左奇异向量是 AA 的特征向量,⽽右奇异向量是 AA 的特征向量,⾮ 0 奇异值的平⽅是 AA 的⾮ 0 特征值。

    因上求缘,果上努力~~~~ 作者:每天卷学习,转载请注明原文链接:https://www.cnblogs.com/BlairGrowing/p/14797937.html

  • 相关阅读:
    MySQL 8.0.14版本新功能详解
    Uncaught TypeError: Right-hand side of 'instanceof' is not an object
    程序员快速技术提升之道
    Windows 10 cmd命令符的使用
    数据千万条,备份第一条:VFEmail被擦除所有数据面临关停
    netty-socketio 示例代码
    idea中 在接口中如何直接跳转到该接口的是实现类中?
    perl DBD处理超时问题
    springboot 启动配置文件配置
    Office Word 发布文章到博客园
  • 原文地址:https://www.cnblogs.com/BlairGrowing/p/14797937.html
Copyright © 2011-2022 走看看