宝塔服务器面板,一键全能部署及管理,送你10850元礼包,点我领取

一、范数的定义

范数是一种求向量长度的衡量方法,是一个正值标量。在数学中有多种范数定义方法,但是它们都满足以下三条性质:

1、非负性:对于任意向量x∈Rn,有∥x∥≥0,且只有当x=0时,才有 ∥x∥=0。

2、齐次性:对于任意向量x∈Rn和任意标量α∈R,有∥αx∥=|α|∥x∥。

3、三角不等式:对于任意向量x,y∈Rn,有∥x+y∥≤∥x∥+∥y∥。

二、Lp范数的计算公式

Lp范数是指对向量x中各元素绝对值的p次方和再求p次方根,即∥x∥p=(∑|xi|p)1/p,其中i∈[1,n]。其中,p的取值不同,范数也不同,以下是常见的几种范数:

1、L1范数

定义:向量x中各元素绝对值之和即为L1范数,计算公式为∥x∥1=∑|xi|,其中i∈[1,n]。


def l1_norm(x):
    return sum(abs(x))

2、L2范数

定义:向量x中各元素平方和再开平方即为L2范数,计算公式为∥x∥2=√(∑|xi|2),其中i∈[1,n]。


import math

def l2_norm(x):
    return math.sqrt(sum(pow(i,2) for i in x))

3、L∞范数

定义:向量x中绝对值最大的元素即为L∞范数,计算公式为∥x∥=maxi∈[1,n]|xi|。


def l_inf_norm(x):
    return max(abs(i) for i in x)

三、范数的应用场景

1、优化问题:L1范数经常在稀疏优化问题中运用。例如,当我们进行特征选择或模型正则化时,L1范数能够使得优化问题的解更加稀疏,因为它会将一些不太相干的特征置于0。

2、相似性计算:L2范数通常用于度量两个向量间的相似度,尤其在深度学习中常用于计算误差函数。

3、聚类:L2范数经常被用于欧几里得空间下的K-Means聚类算法中,因为它能够帮助我们更好地理解数据的分布情况。