8.5 范数

本文介绍了机器学习中常用的几种范数,包括L1、L2、L∞及Frobenius范数,解释了它们如何衡量向量大小,并探讨了不同范数的应用场景。特别是对于区分零和非零元素的重要性。

  在机器学习中,我们经常使用被称为范数(norm)的函数衡量向量大小。形式上,Lp范数的定义如下:

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

其中pRp1
  范数(包括Lp范数)是将向量映射到非负值的函数。直观上说,向量x的范数衡量从原点到点x的距离。更严格地说,范数是满足下列性质的任意函数:
f(x)=0x=0f(x+y)f(x)+f(y)αR,f(αx)=|α|f(x)

  当p=2时,L2范数被称为欧几里得范数(Euclidean norm)。它表示从原点出发到向量x确定的点的欧几里得距离。L2范数在机器学习中出现地十分频繁,经常简化为||x||,略去下标2。平方L2范数也经常用来衡量向量的大小,可以简单地通过点积XTX计算。
  平方L2范数在数学和计算上都比L2范数本身更方便。例如,平方L2范数对x中每个元素的导数只取决于对应的元素,而L2范数对每个元素的导数却和整个向量相关。但是在很多情况下,平方L2范数也可能不受欢迎,因为它在原点附近增长得十分缓慢。在某些机器学习应用中,区分恰好是零的元素和非零但值很小的元素是很重要的。在这些情况下,我们转而使用在各个位置斜率相同,同时保持简单的数学形式的函数:L1范数。L1范数可以简化如下:
||x||1=i|xi|

当机器学习问题中零和非零元素之间的差异非常重要时,通常会使用L1范数。每当x中某个元素从0增加到ϵ,对应的L1范数也会增加ϵ
  有时候我们会统计向量中非零元素的个数来衡量向量的大小。有些书籍将这种函数称为“L0范数”,但是这个术语在数学意义上是不对的。向量的非零元素的数目不是范数,因为对向量缩放α倍不会改变该向量非零元素的数目。因此,L1范数经常作为表示非零元素数目的替代函数。
另外一个经常在机器学习中出现的范数是L范数,也被称为最大范数(max norm)。这个范数表示向量中具有最大幅值的元素的绝对值:
||x||=maxi|xi|

  有时候我们可能也希望衡量矩阵的大小。在深度学习中,最常见的做法是使用Frobenius范数(Frobenius norm)
||A||F=i,jA2i,j

其类似于向量的L2范数。
  两个向量的点积(dot product)可以用范数来表示。具体地,
xTy=||x||2||y||2cosθ

其中θ表示xy之间的夹角。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值