一、定义

我们知道距离的定义是一个宽泛的概念,只要满足非负、自反、三角不等式就可以称之为距离。范数是一种强化了的距离概念,它在定义上比距离多了一条数乘的运算法则。有时候为了便于理解,我们可以把范数当作距离来理解。

二、常用范数
L-P范数

与闵可夫斯基距离的定义一样,L-P范数不是一个范数,而是一组范数,其定义如下:
v2-2e775b7de565040937e554fcd5409144_720w.png
常见范数有:
l.png

L1-P范数

1-范数:
l1.png

L2-P范数

2-范数:
l2.png
在深度学习中,我们常用l2范数做特征归一化:

def normalize(x, axis=-1):
    """Normalizing to unit length along the specified dimension.
    Args:
      x: pytorch Variable
    Returns:
      x: pytorch Variable, same shape as input
    """
    x = 1. * x / (torch.norm(x, 2, axis, keepdim=True).expand_as(x) + 1e-12)#2是范数计算中的幂指数值,就是取2范式
    return x

标签: none

添加新评论