L0范数、L1范数和L2范数的区别

什么是范数

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

在数学上,范数包括向量范数和矩阵范数,向量范数表征向量空间中向量的大小,矩阵范数表征矩阵引起变化的大小。一种非严密的解释就是,对应向量范数,向量空间中的向量都是有大小的,这个大小如何度量,就是用范数来度量的,不同的范数都可以来度量这个大小,就好比米和尺都可以来度量远近一样;对于矩阵范数,学过线性代数,我们知道,通过运算AX=B,可以将向量X变化为B,矩阵范数就是来度量这个变化大小的。

这里简单地介绍以下几种向量范数的定义和含义 。

L-P范数

与闵可夫斯基距离的定义一样,L-P范数不是一个范数,而是一组范数,其定义如下: 



L0范数

当P=0时,也就是L0范数,L0范数并不是一个真正的范数,它主要被用来度量向量中非零元素的个数。用L-P定义可以得到的L-0的定义为: 



这里就有点问题了,我们知道非零元素的零次方为1,但零的零次方为0,非零数开零次方都是什么鬼,很不好说明L0的意义,所以在通常情况下,大家都用的是: 

表示向量x中非零元素的个数。


对于L0范数,其优化问题为: 


在实际应用中,由于L0范数本身不容易有一个好的数学表示形式,给出上面问题的形式化表示是一个很难的问题,故被人认为是一个NP难问题。所以在实际情况中,L0的最优问题会被放宽到L1或L2下的最优化。

L1范数和L2范数经常用于机器学习的正则化中,详细参考我这篇文章:

https://blog.csdn.net/program_developer/article/details/79436657

猜你喜欢

转载自blog.csdn.net/program_developer/article/details/80177487