几种简单范数介绍
什么是范數(shù)?
我們知道距離的定義是一個寬泛的概念,只要滿足非負(fù)、自反、三角不等式就可以稱之為距離。范數(shù)是一種強化了的距離概念,它在定義上比距離多了一條數(shù)乘的運算法則。有時候為了便于理解,我們可以把范數(shù)當(dāng)作距離來理解。
在數(shù)學(xué)上,范數(shù)包括向量范數(shù)和矩陣范數(shù),向量范數(shù)表征向量空間中向量的大小,矩陣范數(shù)表征矩陣引起變化的大小。一種非嚴(yán)密的解釋就是,對應(yīng)向量范數(shù),向量空間中的向量都是有大小的,這個大小如何度量,就是用范數(shù)來度量的,不同的范數(shù)都可以來度量這個大小,就好比米和尺都可以來度量遠(yuǎn)近一樣;對于矩陣范數(shù),學(xué)過線性代數(shù),我們知道,通過運算AX=B,可以將向量X變化為B,矩陣范數(shù)就是來度量這個變化大小的。
這里簡單地介紹以下幾種向量范數(shù)的定義和含義?
1、 L-P范數(shù)?
與閔可夫斯基距離的定義一樣,L-P范數(shù)不是一個范數(shù),而是一組范數(shù),其定義如下:?
Lp=∑1nxpi????√p,x=(x1,x2,?,xn)?
根據(jù)P 的變化,范數(shù)也有著不同的變化,一個經(jīng)典的有關(guān)P范數(shù)的變化圖如下:?
上圖表示了p從無窮到0變化時,三維空間中到原點的距離(范數(shù))為1的點構(gòu)成的圖形的變化情況。以常見的L-2范數(shù)(p=2)為例,此時的范數(shù)也即歐氏距離,空間中到原點的歐氏距離為1的點構(gòu)成了一個球面。
實際上,在0≤p<1時,Lp并不滿足三角不等式的性質(zhì),也就不是嚴(yán)格意義下的范數(shù)。以p=0.5,二維坐標(biāo)(1,4)、(4,1)、(1,9)為例,(1+4√)???????√0.5+(4√+1)???????√0.5<(1+9√)???????√0.5。因此這里的L-P范數(shù)只是一個概念上的寬泛說法。
2、L0范數(shù)?
當(dāng)P=0時,也就是L0范數(shù),由上面可知,L0范數(shù)并不是一個真正的范數(shù),它主要被用來度量向量中非零元素的個數(shù)。用上面的L-P定義可以得到的L-0的定義為:?
||x||=∑1nx0i????√0,x=(x1,x2,?,xn)?
這里就有點問題了,我們知道非零元素的零次方為1,但零的零次方,非零數(shù)開零次方都是什么鬼,很不好說明L0的意義,所以在通常情況下,大家都用的是:?
||x||0=#(i|xi≠0)?
表示向量x中非零元素的個數(shù)。
對于L0范數(shù),其優(yōu)化問題為:?
min||x||0?
s.t. Ax=b?
在實際應(yīng)用中,由于L0范數(shù)本身不容易有一個好的數(shù)學(xué)表示形式,給出上面問題的形式化表示是一個很難的問題,故被人認(rèn)為是一個NP難問題。所以在實際情況中,L0的最優(yōu)問題會被放寬到L1或L2下的最優(yōu)化。
3、L1范數(shù)?
L1范數(shù)是我們經(jīng)常見到的一種范數(shù),它的定義如下:?
||x||1=∑i|xi|?
表示向量x中非零元素的絕對值之和。
L1范數(shù)有很多的名字,例如我們熟悉的曼哈頓距離、最小絕對誤差等。使用L1范數(shù)可以度量兩個向量間的差異,如絕對誤差和(Sum of Absolute Difference):?
SAD(x1,x2)=∑i|x1i?x2i|?
對于L1范數(shù),它的優(yōu)化問題如下:?
min||x||1?
s.t.Ax=b?
由于L1范數(shù)的天然性質(zhì),對L1優(yōu)化的解是一個稀疏解,因此L1范數(shù)也被叫做稀疏規(guī)則算子。通過L1可以實現(xiàn)特征的稀疏,去掉一些沒有信息的特征,例如在對用戶的電影愛好做分類的時候,用戶有100個特征,可能只有十幾個特征是對分類有用的,大部分特征如身高體重等可能都是無用的,利用L1范數(shù)就可以過濾掉。
4、L2范數(shù)?
L2范數(shù)是我們最常見最常用的范數(shù)了,我們用的最多的度量距離歐氏距離就是一種L2范數(shù),它的定義如下:?
||x||2=∑ix2i?????√?
表示向量元素的平方和再開平方。?
像L1范數(shù)一樣,L2也可以度量兩個向量間的差異,如平方差和(Sum of Squared Difference):?
SSD(x1,x2)=∑i(x1i?x2i)2?
對于L2范數(shù),它的優(yōu)化問題如下:?
min||x||2?
s.t.Ax=b?
L2范數(shù)通常會被用來做優(yōu)化目標(biāo)函數(shù)的正則化項,防止模型為了迎合訓(xùn)練集而過于復(fù)雜造成過擬合的情況,從而提高模型的泛化能力。
5、L-∞范數(shù)?
當(dāng)P=∞時,也就是L-∞范數(shù),它主要被用來度量向量元素的最大值。用上面的L-P定義可以得到的L∞的定義為:?
||x||∞=∑1nx∞i?????√∞,x=(x1,x2,?,xn)?
與L0一樣,在通常情況下,大家都用的是:?
||x||∞=max(|xi|)?
來表示L∞
總結(jié)
- 上一篇: Java Web应用的代码分层最佳实践。
- 下一篇: 你知道荷兰旗问题吗?