2.5 范数
有时我们需要衡量一个向量的大小。在机器学习中,我们经常使用称为范数(norm)的函数来衡量向量大小。形式上,Lp范数定义如下
其中。
范数(包括Lp范数)是将向量映射到非负值的函数。直观上来说,向量x的范数衡量从原点到点x的距离。更严格地说,范数是满足下列性质的任意函数:
;
(三角不等式(triangle inequality));
。
当p=2时,L2范数称为欧几里得范数(Euclidean norm)。它表示从原点出发到向量x确定的点的欧几里得距离。L2范数在机器学习中出现得十分频繁,经常简化表示为,略去了下标2。平方L2范数也经常用来衡量向量的大小,可以简单地通过点积计算。
平方L2范数在数学和计算上都比L2范数本身更方便。例如,平方L2范数对x中每个元素的导数只取决于对应的元素,而L2范数对每个元素的导数和整个向量相关。但是在很多情况下,平方L2范数也可能不受欢迎,因为它在原点附近增长得十分缓慢。在某些机器学习应用中,区分恰好是零的元素和非零但值很小的元素是很重要的。在这些情况下,我们转而使用在各个位置斜率相同,同时保持简单的数学形式的函数:L1范数。L1范数可以简化如下
当机器学习问题中零和非零元素之间的差异非常重要时,通常会使用L1范数。每当x中某个元素从0增加,对应的L1范数也会增加。
有时候我们会统计向量中非零元素的个数来衡量向量的大小。有些作者将这种函数称为“L0范数”,但是这个术语在数学意义上是不对的。向量的非零元素的数目不是范数,因为对向量缩放α倍不会改变该向量非零元素的数目。因此,L1范数经常作为表示非零元素数目的替代函数。
另外一个经常在机器学习中出现的范数是L∞范数,也被称为最大范数(max norm)。这个范数表示向量中具有最大幅值的元素的绝对值:
有时候我们可能也希望衡量矩阵的大小。在深度学习中,最常见的做法是使用Frobenius范数(Frobenius norm),即
其类似于向量的L2范数。
两个向量的点积可以用范数来表示,具体如下
其中θ表示x和y之间的夹角。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论