机器学习中的数学——特殊类型的向量和矩阵

分类目录:《算法设计与分析》总目录


有些特殊类型的向量和矩阵是特别有用的,本文将介绍它们。

单位向量

单位向量是具有单位范数的向量:
∣ ∣ x ∣ ∣ 2 = 1 ||x||_2=1 x2=1

如果 x T y = 0 x^Ty=0 xTy=0,那么向量 x x x和向量 y y y互相正交。如果两个向量都有非零范数,那么这两个向量之间的夹角是90度。在 R n R^n Rn中,至多有 n n n个范数非零向量互相正交。如果这些向量不仅互相正交,并且范数都为1,那么我们称它们
是标准正交。

正交矩阵

正交矩阵是指行向量和列向量是分别标准正交的方阵:
A T A = A A T = I A^TA=AA^T=I ATA=AAT=I
这意味着
A T = A − 1 A^T=A^{-1} AT=A1

所以正交矩阵受到关注是因为求逆计算代价小。我们需要注意正交矩阵的定义。违反直觉的是,正交矩阵的行向量不仅是正交的,还是标准正交的。对于行向量或列向量互相正交但不是标准正交的矩阵,没有对应的专有术语。

对角矩阵

对角矩阵指只在主对角线上含有非零元素,其他位置都是零。

形式上,矩阵 D D D是对角矩阵,当且仅当对于所有的 i ≠ j i\neq j i=j我们有 D i , j = 0 D_{i, j}=0 Di,j=0。前文我们已经看到过一个对角矩阵:单位矩阵,对角元素全部是1。我们用 d i a g ( v ) diag(v) diag(v)表示一个对角元素由向量 v v v中元素给定的对角方阵。对角矩阵受到关注的部分原因是对角矩阵的乘法计算很高效。计算乘法 d i a g ( v ) x diag(v)x diag(v)x,我们只需要将 x x x中的每个元素 x i x_i xi放大 v i v_i vi倍。换言之, diag ( v ) x = v ⊙ x \text{diag}(v)x=v\odot x diag(v)x=vx。计算对角方阵的逆矩阵也很高效。对角方阵的逆矩阵存在,当且仅当对角元素都是非零值,在这种情况下, diag ( v ) − 1 = diag ( [ 1 v 1 , 1 v 2 , ⋯   , 1 v n ] T ) \text{diag}(v)^{-1}=\text{diag}([\frac{1}{v_1}, \frac{1}{v_2}, \cdots, \frac{1}{v_n}]^T) diag(v)1=diag([v11,v21,,vn1]T)

在很多情况下,我们可以根据任意矩阵导出一些通用的机器学习算法;但通过将一些矩阵限制为对角矩阵,我们可以得到计算代价较低的算法。

不是所有的对角矩阵都是方阵。长方形的矩阵也有可能是对角矩阵。非方阵的对角矩阵没有逆矩阵,但我们仍然可以高效地计算它们的乘法。对于一个长方形对角矩阵 D D D而言,乘法 D x Dx Dx会涉及到 x x x中每个元素的缩放,如果 D D D是瘦长型矩阵,那么在缩放后的末尾添加一些零;如果 D D D是胖宽型矩阵,那么在缩放后去掉最后一些元素。

对称矩阵

对称矩阵是转置和自己相等的矩阵:
A = A T A=A^T A=AT

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

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

von Neumann

您的赞赏是我创作最大的动力~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值