(笔记—深度学习):Chapter2-线性代数

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

  • 标量( s c a l a r s ):是一个单独的数,用斜体小写字母表示, e.g. x R
  • 向量( v e c t o r s ):是一组数字,用粗体小写字母表示, e.g. x R n
    x = [ x 1 x 2 . . x n ]

    有时需要索引向量的一组元素,例如对于 x R 5 ,令 S = { 1 , 3 , 5 } ,则 x S = { x 1 , x 3 , x 5 } , x S = { x 2 , x 4 }
  • 矩阵( m a t r i x ): 是一个二维数数组,用大写粗体表示,e.g. X R m × n
    X = [ x 1 , 1 x 1 , 2 . . . x 1 , n x 2 , 1 . . . . . . x 2 , n . . . . . . . . . . . . x m , 1 . . . . . . x m , n ]
  • 张量( T e n s o r s ):具有三个维度以上的数组,e.g 一个d维张量可以表示为 X R n 1 × n 2 × . . . × n d

2-基础运算

  • 矩阵转置(transpose):
    ( A T ) i , j = A j , i
  • 向量的转置: 向量一般视为列向量,用行向量的形式表示为 x = [ x 1 , x 2 , . . . x n ] T
  • 矩阵加法:

    C = A + B           C i , j = A i , j + B i , j

    根据broadcasting
    C = A + b C i , : = A i , : + b i

  • 矩阵乘法( m a t r i x   p r o d u c t ):

    C = A B C i , j = k A i , k B k , i

  • H a d a m a r d   p r o d u c t :
    C = A B C = A B } C i , j = A i , j B i , j
  • k r o n e c k e r   p r o d u c t :
    A m × n B p × q = [ a 1 , 1 B a 1 , 2 B . . . a 1 , n B a 2 , 1 B . . . . . . . . . . . . . . . . . . . . . a m , 1 B . . . . . . a m , n B ]

3-单位矩阵和逆矩阵

  • 单位矩阵:
    I n = [ 1 0 0 . . . 0 0 1 0 . . . 0 0 0 1 . . . 0 . . . . . . . . . . . . 0 0 . . . . . . . . . 1 ] n × n
  • 逆矩阵:只有满秩的方阵才有逆矩阵
    A A 1 = I n

    利用逆矩阵可以用来求解线性方程 A x = b x = A 1 b ; 但是在实际应用中并不是经常使用这种方式,因为 A 1 在计算中的表示的精度有限,相对而言可以利用b的值获取更精确的解。

4-范数

  在机器学习中,通常使用范数( n o r m )来衡量向量的大小. L p   n o r m 的公式为:

| | x | | p = ( i | x i | p ) 1 / p

直观地看,范数是向量 x 到原点的距离;( p = 1 时,称为曼哈顿距离, p = 2 时,称为欧几里得距离。)。
严格来讲,范数可以是一切满足以下条件的函数 f :

  • f ( x ) = 0   x = 0
  • f ( x + y ) f ( x ) + f ( y )
  • α R , f ( α x ) = | α | f ( x )

L 2 范数又称为欧几里得范数,常表示为 | | x | | ,不过通常使用 L 2 范数的平方,因为更容易进行导数运算。
L 1 范数常用于当元素的零或非零比较重要时的情况
L 0 范数用于计算非零元素的个数,但其实并不符合范数的限制条件(3),通常使用 L 1 范数作为替代来计算非零项
F r o b e n i u s n o r m 用于衡量矩阵的大小,在和 L 2   n o r m 的作用相似 :

A F = i , j A i , j 2

5-特征分解

  通过分解矩阵,可以展现一些在数组表示形式时不明显的函数属性。特征分解( e i g e n d e c o m p o s i t i o n )是最常用的分解方式之一,可以将矩阵分解为一系列的特征值( e i g e n v a l u e )和特征向量( e i g e n v e c t o r )。

扫描二维码关注公众号,回复: 1586123 查看本文章
A v = λ v
v 即为方阵 A 的一个特征向量, λ 则是对应于 v 的特征值。
  假设 A 有n个线性独立的特征向量 { v 1 , . . . v n } ,相应的特征值 { λ 1 , . . . λ n } ,可将其组合成矩阵 V = [ v 1 , . . . v n ] ,则 A 的特征分解为:
A = V d i a g ( λ ) V 1
  并非每个矩阵都可以进行特征分解,不过每个实对称矩阵都可以得到实特征值和实特征向量:
A = Q Λ Q T
其中: Q 是由特征向量组成的正交矩阵, ( Q T = Q 1 ) 对于标准正交的特征向量组,矩阵A就相当于在n维 的特征空间各个方向进行了以特征值绝对值为幅度的缩放。

当且仅当矩阵含有为零特征值时,矩阵是奇异的(不满秩)
特征值全部为正数的矩阵为正定矩阵,特征值全部为非负数时为半正定矩阵
半正定矩阵保证了: x , x T A x >= 0
正定矩阵保证了: x T A x = 0 x = 0

6-奇异值分解

奇异值分解( S i n g u l a r   V a l u e   D e c o m p o s i t i o n )相对于特征分解具有更广泛的应用,可以对非方阵进行分解。可以应用于求矩阵的伪逆,和在神经网络中对权重矩阵进行SVD分解降秩,对网络进行压缩和加速。
SVD将矩阵分解为三个矩阵的乘积:

A m × n = U m × m D m × n V n × n T

其中: U 的列向量被称为左奇异向量, V 的列向量被称为右奇异向量, D 对角线的元素是奇异值。
SVD可以利用特征分解来求解:
A 的左奇异向量等于 A A T 的特征向量,右奇异向量是 A T A 的特征向量,奇异值则是 A T A (同时也是 A A T )的特征值的平方根。

7-伪逆矩阵

对于线性方程: A x = y ,我们希望可以利用 A 的左逆 B 来进行求解:

x = B y
然而当 A 的行数大于列数时,方程误解,当行数小于列数是,方程有多个解。一般而言,只有 A 是方阵时,才有可能得到唯一解。
伪逆的计算公式:
A = V D U
其中 U , V , D 是A的奇异值分解的结果, D D 的非零元素去倒数之后转置得到的。

  • 当A的行数大于列数时,伪逆求解线性方程得到的结果 x = A y ,使得 | | A x y | | 2 最小
  • 当A的列数大于行数时,得到的结果,是所有可行解之中范数 | | x | | 2 最小的那个。

8-迹运算

迹运算 ( T r a c e ) 得到的是矩阵所有对角元素的和,这一运算可以使得很多表达式具有更简洁的表达方式:

T r ( A ) = i A i , i

描述 F r o b e n i u s   n o r m :
| | A | | F = T r ( A A T )

9-行列式

 只有方阵才会有行列式,矩阵的行列式等于特征值的乘积,行列式的绝对值可以用来衡量矩阵参与矩阵乘法后空间扩大或者缩小了多少。
行列式为零的矩阵是非奇异矩阵。

猜你喜欢

转载自blog.csdn.net/qq_35588560/article/details/78982609