学习
实践
活动
专区
工具
TVP
写文章

《深度学习》读书笔记系列——线性代数2

本篇知识要点:

特殊类型的矩阵和向量、特征分解、奇异值分解、Moore-Penrose 伪逆、迹运算、行列式

特殊类型的矩阵和向量

对角矩阵(diagonal matrix)只在主对角线上含有非零元素,其他位置都是零。形式上,矩阵 D 是对角矩阵,当且仅当对于所有的 i ̸= j, Di;j = 0。单位矩阵,对角元素全部是 1。

我们用 diag(v) 表示一个对角元素由向量 v 中元素给定的对角方阵。对角矩阵受到关注的部分原因是对角矩阵的乘法计算很高效。计算乘法 diag(v)x,我们只需要将 x 中的每个元素 xi 放大 vi 倍。换言之, diag(v)x = v ⊙ x。计算对角方阵的逆矩阵也很高效。对角方阵的逆矩阵存在,当且仅当对角元素都是非零值,在这种情况下, diag(v)-1 = diag([1/v1; : : : ; 1/vn]⊤)。在很多情况下,我们可以根据任意矩阵导出一些通用的机器学习算法;但通过将一些矩阵限制为对角矩阵,我们可以得到计算代价较低的(并且简明扼要的)算法。不是所有的对角矩阵都是方阵。长方形的矩阵也有可能是对角矩阵。非方阵的对角矩阵没有逆矩阵,但我们仍然可以高效地计算它们的乘法。对于一个长方形对角矩阵 D 而言,乘法 Dx 会涉及到 x 中每个元素的缩放,如果 D 是瘦长型矩阵,那么在缩放后的末尾添加一些零;如果 D 是胖宽型矩阵,那么在缩放后去掉最后一些元素。

对称(symmetric)矩阵是转置和自己相等的矩阵:A = A⊤

当某些不依赖参数顺序的双参数函数生成元素时,对称矩阵经常会出现。例如,如果 A 是一个距离度量矩阵, Ai;j 表示点 i 到点 j 的距离,那么 Ai;j = Aj;i,因为距离函数是对称的。

对称(symmetric)矩阵是转置和自己相等的矩阵:

当某些不依赖参数顺序的双参数函数生成元素时,对称矩阵经常会出现。例如,如果 A 是一个距离度量矩阵, Ai;j 表示点 i 到点 j 的距离,那么 Ai;j = Aj;i,因为距离函数是对称的。

单位向量(unit vector)是具有 单位范数(unit norm)的向量:

如果 x⊤y = 0,那么向量 x 和向量 y 互相 正交(orthogonal)。如果两个向量都有非零范数,那么这两个向量之间的夹角是 90 度。在 Rn 中,至多有 n 个范数非零向量互相正交。如果这些向量不仅互相正交,并且范数都为 1,那么我们称它们是标准正交(orthonormal)。正交矩阵(orthogonal matrix)是指行向量和列向量是分别标准正交的方阵:

这意味着

之所以正交矩阵受到关注是因为求逆计算代价小。正交矩阵的行向量不仅是正交的,还是标准正交的。

特征分解

方阵 A 的 特征向量(eigenvector)是指与 A 相乘后相当于对该向量进行缩放的非零向量 v,标量 λ 被称为这个特征向量对应的 特征值(eigenvalue):

如果 v 是 A 的特征向量,那么任何缩放后的向量 sv (s 2 R, s ̸= 0) 也是 A 的特征向量。此外, sv 和 v 有相同的特征值。基于这个原因,通常我们只考虑单位特征向量。

假设矩阵 A 有 n 个线性无关的特征向量 fv(1); : : : ; v(n)g,对应着特征值fλ1; : : : ; λng。我们将特征向量连接成一个矩阵,使得每一列是一个特征向量:V = [v(1); : : : ; v(n)]. 类似地,我们也可以将特征值连接成一个向量 λ = [λ1; : : : ; λn]⊤。因此 A 的 特征分解(eigendecomposition)可以记作

每个实对称矩阵都可以分解成实特征向量和实特征值:

其中 Q 是 A 的特征向量组成的正交矩阵, Λ 是对角矩阵。特征值 Λi;i 对应的特征向量是矩阵 Q 的第 i 列,记作 Q:;i。因为 Q 是正交矩阵,我们可以将 A 看作沿方向 v(i) 延展 λi 倍的空间。

特征向量和特征值的作用效果。特征向量和特征值的作用效果的一个实例。在这里,矩阵A 有两个标准正交的特征向量,对应特征值为 λ1 的 v(1) 以及对应特征值为 λ2 的 v(2)。 (左) 我们画出了所有的单位向量 u 2 R2 的集合,构成一个单位圆。 (右) 我们画出了所有的 Au 点的集合。通过观察 A 拉伸单位圆的方式,我们可以看到它将 v(i) 方向的空间拉伸了 λi 倍。

虽然任意一个实对称矩阵 A 都有特征分解,但是特征分解可能并不唯一。按照惯例,我们通常按降序排列 Λ 的元素。在该

约定下,特征分解唯一当且仅当所有的特征值都是唯一的。

所有特征值都是正数的矩阵被称为 正定(positive definite);所有特征值都是非负数的矩阵被称为 半正定(positive semidefinite)。同样地,所有特征值都是负数的矩阵被称为负定(negative definite);所有特征值都是非正数的矩阵被称为半负定(negative semidefinite)。半正定矩阵受到关注是因为它们保证 x⊤Ax ≥ 0。此外,正定矩阵还保证 x⊤Ax = 0 ) x = 0。

奇异值分解

奇异值分解(singular value decomposition, SVD),将矩阵分解为 奇异向量(singular vector)和 奇异值(singular value)。每个实数矩阵都有一个奇异值分解,但不一定都有特征分解。例如,非方阵的矩阵没有特征分解,这时我们只能使用奇异值分解。我们将矩阵 A 分解成三个矩阵的乘积:

假设 A 是一个 m × n 的矩阵,那么 U 是一个 m × m 的矩阵, D 是一个 m × n的矩阵, V 是一个 n × n 矩阵。

这些矩阵中的每一个经定义后都拥有特殊的结构。矩阵 U 和 V 都定义为正交矩阵,而矩阵 D 定义为对角矩阵。注意,矩阵 D 不一定是方阵。

对角矩阵 D 对角线上的元素被称为矩阵 A 的 奇异值(singular value)。矩阵U 的列向量被称为 左奇异向量(left singular vector),矩阵 V 的列向量被称 右奇异向量(right singular vector)

A 的左奇异向量(left singular vector)是 AA⊤ 的特征向量。 A 的 右奇异向量(right singularvector)是 A⊤A 的特征向量。 A 的非零奇异值是 A⊤A 特征值的平方根,同时也是AA⊤ 特征值的平方根。

SVD 最有用的一个性质可能是拓展矩阵求逆到非方矩阵上。

Moore-Penrose 伪逆

对于非方矩阵而言,其逆矩阵没有定义。Moore-Penrose 伪逆(Moore-Penrose pseudoinverse)使我们在这类问题上

取得了一定的进展。矩阵 A 的伪逆定义为:

计算伪逆的实际算法没有基于这个定义,而是使用下面的公式:

其中,矩阵 U, D 和 V 是矩阵 A奇异值分解后得到的矩阵。对角矩阵 D 的伪逆D+ 是其非零元素取倒数之后再转置得到的。

当矩阵 A 的列数多于行数时,使用伪逆求解线性方程是众多可能解法中的一种。特别地, x = A+y 是方程所有可行解中欧几里得范数 ∥x∥2 最小的一个。

当矩阵 A 的行数多于列数时,可能没有解。在这种情况下,通过伪逆得到的 x使得 Ax 和 y 的欧几里得距离 ∥Ax - y∥2 最小。

迹运算

迹运算返回的是矩阵对角元素的和:

迹运算提供了另一种描述矩阵Frobenius范数的方式:

迹运算在转置运算下是不变的:

多个矩阵相乘得到的方阵的迹,和将这些矩阵中的最后一个挪到最前面之后相乘的迹是相同的。

或者更一般地,

即使循环置换后矩阵乘积得到的矩阵形状变了,迹运算的结果依然不变。例如,假设矩阵 A 2 Rm×n,矩阵 B 2 Rn×m,我们可以得到

尽管 AB:Rm×m 和 BA:Rn×n。

另一个有用的事实是标量在迹运算后仍然是它自己: a = Tr(a)。

行列式

行列式,记作 det(A),是一个将方阵 A 映射到实数的函数。行列式等于矩阵特征值的乘积。行列式的绝对值可以用来衡量矩阵参与矩阵乘法后空间扩大或者缩小了多少。如果行列式是 0,那么空间至少沿着某一维完全收缩了,使其失去了所有的体积。如果行列式是 1,那么这个转换保持空间体积不变。

近期文章回顾:

关于,你想了解的AI,你想知道的未来

《深度学习》读书笔记系列——开宗明要

《深度学习》读书笔记系列——线性代数(1)

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180421A1FTHF00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

关注

腾讯云开发者公众号
10元无门槛代金券
洞察腾讯核心技术
剖析业界实践案例
腾讯云开发者公众号二维码

扫码关注腾讯云开发者

领取腾讯云代金券