機器學習中的範數問題

2021-08-18 02:09:06 字數 1008 閱讀 7683

一、l0範數與l1範數(範數相當於衡量乙個矩陣的大小)

l0範數是指向量中非0的元素的個數。如果我們用l0範數來規則化乙個引數矩陣w的話,就是希望w的大部分元素都是0。這太直觀了,太露骨了吧,換句話說,讓引數w是稀疏的。ok,看到了「稀疏」二字,大家都應該從當下風風火火的「壓縮感知」和「稀疏編碼」中醒悟過來,原來用的漫山遍野的「稀疏」就是通過這玩意來實現的。但你又開始懷疑了,是這樣嗎?看到的*****s世界中,稀疏不是都通過l1範數來實現嗎?腦海裡是不是到處都是||w||

1影子呀!幾乎是抬頭不見低頭見。沒錯,這就是這節的題目把l0和l1放在一起的原因,因為他們有著某種不尋常的關係。那我們再來看看l1範數是什麼?它為什麼可以實現稀疏?為什麼大家都用l1範數去實現稀疏,而不是l0範數呢?

接下來就對l1範數進行相關說明。。。。。

l1範數是指向量中各個元素絕對值之和,也有個美稱叫「稀疏規則運算元」(lasso regularization)。現在我們來分析下這個價值乙個億的問題:為什麼l1範數會使權值稀疏?有人可能會這樣給你回答「它是l0範數的最優凸近似」。實際上,還存在乙個更美的回答:任何的規則化運算元,如果他在w

i=0的地方不可微,並且可以分解為乙個「求和」的形式,那麼這個規則化運算元就可以實現稀疏。這麼說吧,w的l1範數是絕對值,|w|在w=0處是不可微,但這還是不夠直觀。這裡因為我們需要和l2範數進行對比分析。

對了,上面還有乙個問題:既然l0可以實現稀疏,為什麼不用l0,而要用l1呢?個人理解一是因為l0範數很難優化求解(np難問題),二是l1範數是l0範數的最優凸近似,而且它比l0範數要容易優化求解。所以大家才把目光和萬千寵愛轉於l1範數。

ok,來個一句話總結:l1範數和l0範數可以實現稀疏,l1因具有比l0更好的優化求解特性而被廣泛應用。

機器學習中的範數

lo範數是向量中非零元素的數目如果採用l0範數來規劃化乙個引數矩陣的,就是為了讓矩陣稀疏,希望大部分權值都為0。但是,這個術語在數學意義上是不對的,非零元素的數目不是範數,因為對向量縮放 倍不會改變該向量的非零數目。l1範數是向量中各個元素的絕對值的和,也叫做 稀疏規則運算元 l1範數能夠實現權值稀...

機器學習中的範數規則化

機器學習中的範數規則化之 一 l0 l1與l2範數 l1範數是指向量中各個元素絕對值之和,也有個美稱叫 稀疏規則運算元 lasso regularization 現在我們來分析下這個價值乙個億的問題 為什麼l1範數會使權值稀疏?有人可能會這樣給你回答 它是l0範數的最優凸近似 實際上,還存在乙個更美...

機器學習中的範數規則化

在深度學習中,監督類學習問題其實就是在規則化引數同時最小化誤差。最小化誤差目的是讓模型擬合訓練資料,而規則化引數的目的是防止模型過分擬合訓練資料。引數太多,會導致模型複雜度上公升,容易過擬合,也就是訓練誤差小,測試誤差大。因此,我們需要保證模型足夠簡單,並在此基礎上訓練誤差小,這樣訓練得到的引數才能...