Skip to content
矩阵与范数

线性代数与基本运算

标量,向量,矩阵与张量

我们可以简单的把后者视为前者的推广

哈达玛积

假设矩阵AB都是m×n维的矩阵,其元素分别表示为AijBij

我们把两个矩阵按元素相乘称之为Hadamard product,表示为AB

AB的Hadamard积C的元素Cij可以表示为

Cij=Aij×Bij

点积

对于n维向量x与y,其点积表示为<x,y>或者xTy[1]

点积是对于向量的相同位置的按元素乘积的和:

xTy=inxiyi

矩阵-向量积

m×n的矩阵A可以表示为由m个行向量aiT组成,其中每个aiRn:

A=[a1Ta2TamT]

对于一个n维向量x对矩阵A做矩阵向量积:

Ax=[a1Ta2TamT]x=[a1Txa2TxamTx]

Ax的结果是一个m维向量,其中每个元素是对应行向量aiTx的点积

因此我们可以把矩阵向量积视为一种将n维向量转为m维向量的变换

矩阵-矩阵乘法

设A为m×p的矩阵,B为p×n的矩阵

我们可以将矩阵-矩阵乘法看作简单地执行n次矩阵-向量积,并将结果拼接在一起,形成一个n×m矩阵

AB=[a1Ta2TamT][b1 b2  bn]=[a1Tb1a1Tb2a1Tbna2Tb1a2Tb2a2TbnamTb1amTb2amTbn]

线性代数与范数基础

在深度学习中,我们经常试图解决优化问题:

最大化分配给观测数据的概率; 最小化预测和真实观测之间的距离。

用向量表示物品(如单词、产品或新闻文章),以便最小化相似项目之间的距离,最大化不同项目之间的距离。

目标,或许是深度学习算法最重要的组成部分(除了数据),通常被表达为范数

-- 动手学习深度学习

定义与性质

向量的范数(Norm)是一个函数,用于度量向量空间中向量的“长度”或“大小”

一般范数需要满足一些基本性质[2]:

  • 非负
  • 绝对值缩放
  • 三角不等式

范数有很多形式,在深度学习中我们一般使用L2范数的平方与L1范数进行衡量"大小"

L1范数

相对于L2受异常值的影响较小

曼哈顿范数,向量各分量绝对值之和

x1=i=1n|xi|

L2范数

欧几里得范数,向量各分量平方和的平方根,即常规意义上的向量长度

x2=i=1nxi2

Lp范数

L1和L2都是Lp的特例

对于 p1,向量 x 的Lp范数定义为

xp=(i=1n|xi|p)1p

其中 xi 是向量 x 的第 i 个分量,n 是向量的维数

无穷范数

切比雪夫范数,向量各分量绝对值的最大值

x=maxi=1n|xi|

Frobenius范数

类似L2范数,不过定义在矩阵意义上

xF=i=1nj=1mxij2

注释


  1. 这里使用xTy而不是xy是因为我们默认x,y中一个为行向量一个为列向量,后面涉及到的点积公式转置的原因也都相同 ↩︎

  2. 非正式范数可能不满足以上性质,但依然能在某些情况下较好的度量向量空间中向量的“长度”或“大小” ↩︎