[CS131] Lecture 3 Linear Algebra Primer Part 2

根据 Stanford CS131 课程写的笔记(大部分为 note 翻译),英语水平一般,如有错误请评论指正

Lecture 3 Linear Algebra Primer Part 2

Transformation Matrices

矩阵可以用多种方式将向量转换,最简单的例子是缩放:

[ s x 0 0 s y ] x [ x y ] = [ s x x s y y ]

Rotate 旋转

也可以用矩阵来逆时针旋转向量 θ 角:

x = c o s θ x s i n θ y y = c o s θ y + s i n θ x R = [ c o s θ s i n θ s i n θ c o s θ ]

Scaling 缩放

Homogeneous Coordinates 齐次坐标,简而言之,用 N + 1 维向量表示 N 维向量。

Cartesian 笛卡尔坐标,也就是常说的 xy 坐标系

笛卡尔坐标于齐次坐标的转换: ( x , y , w ) = ( x / w , y / w )

所以,为了向原有向量添加常数,以下运用到齐次坐标的原理

P = [ x y 1 ] , S = [ s x 0 0 0 s y 0 0 0 1 ] P = S · P

Translating 移动

P = [ x y 1 ] , T = [ 1 0 t x 0 1 t y 0 0 1 ] P = T · P

以上旋转、缩放、移动可以同时应用,即 P = T · R · S · P 。作用顺序从右往左(可以交换),前式表示先移动后旋转再缩放。

Matrix Inverse(逆)

  • A A 1 = I
  • ( A B ) 1 = B 1 A 1
  • A T = ( A T ) 1 = ( A 1 ) T
  • 非方矩阵的逆矩阵不存在

Pseudoinverse(伪逆矩阵)

通常为了解方程 A X = B ,会使用 X = A 1 B ,在 python 上命令为np.linalg.inv(A)*B。但是有时候计算 A 1 十分耗时,甚至 A 1 可能不存在。

所以这时我们需要伪逆矩阵,具体原理暂时不了解,使用 python 命令np.linalg.solve(A,B)会返回方程 A X = B 的最优解。

Matrix Rank(秩)

  • 一个变换矩阵 A 的秩告诉你它会将矩阵转换到几个维度上,例如, r ( A ) = 1 ,则 p = A p 返回一条线
  • col-rank:最大线性无关列数目
  • row-rank:最大线性无关行数目
  • 满秩矩阵: m x m   & a m p ;   r ( A ) = m

Eigenvalues(特征值) and Eigenvectors(特征向量)

定义

当 A 点乘特征向量时,不会改变方向,只会放缩。即 A x = λ x , x 0 x 为特征向量, λ 为特征值。

求解

  1. | λ I A | = 0 得到特征值 λ
  2. 带入原式得特征向量

性质

  • 矩阵的迹 = 特征值之和
  • 行列式 (determinant)A = 特征值之积
  • 矩阵的秩 = 非零特征值的个数
  • 对角矩阵的特征值 = 对角线上的值

Spectral(谱) Theory

特征对 (eigenpair) 特征值和其对应的特征向量

谱 (spectrum) 包含所有特征值的集合

谱半径 (spectrum radius) 绝对值最大的特征值,它的上界为该矩阵的无限范数

Diagonalization 对角化

n x n 矩阵 A 有 n 个线性无关特征值,则 A 可以对角化

  • 满足 A A = A A 的矩阵可以对角化,其中 A 是 A 的复共轭矩阵
  • 有 n 个相异 (distinct) 特征值的矩阵可对角化

计算:对角化矩阵 A = V D V T ,其中 V 为特征向量组合成的矩阵,D 为对角值为特征值的对角矩阵,DV 相对应

Symmetric(对称) Matrix

如果 A 是对称的,则其特征值为真,且特征向量标准正交 (orthonormal)。

应用

  • PageRank
  • 薛定谔方程
  • PCA

矩阵计算

Gradient

Gradient 性质

Hessian

即梯度的梯度

Hessian 性质

  • Hessian 是对称的

矩阵计算例子

梯度例子

Hessian 例子

猜你喜欢

转载自blog.csdn.net/bear507/article/details/82316153
今日推荐