1:解決的問題模型如下:
或者約束條件可以適當的鬆弛,即為如下模型:
當然約束條件取範數,資料獲取的比較準確,結果逼近的效果更好,防止過擬合。如果取 範數,則是獲取的資料,受到汙染比較嚴重。並且 本身就是稀疏的。這也是人的經驗對於模型的成功也是很重要的。
2:幾類優化演算法
(1)梯度投影演算法gradient projection methods
原問題可以變為如下問題:
下面介紹兩種方法對其進行處理。
i)上式又等價於:
所以就有如下記號和約定:
更新 時沿著負梯度的方向下降最快。但是只是區域性最小值。
其中 是步長,可以用線搜尋的方法來確定最優步長。
下介紹第二種方法 truncated newton interior-point method.
ii)上式又等價於:
利用內點法的把約束條件給罰到目標函式上去。
在這裡我們對約束條件利用logarithmic barrier函式進行改寫。
在這裡,我們可以看到當 越接近的時候,函式值會變得越大。當 無限趨近於時,則函式值無限趨於無窮大。所以只有當 趨近於0時候,函式值才趨近於乙個常數。
所以上式可以等價於如下模型:
然後利用牛頓演算法進行求解計算。
(2)迭代閾值收縮演算法 iterative shrinkage-thresholding methods
對於一般的模型:
其中:對 二次近似。則問題轉變成如下:
可以適用迭代閾值演算法。關於l_範數最優化的迭代閾值演算法的證明可以參見我的另一篇部落格
(3)近端梯度演算法 proximal gradient method
其處理的模型如下:
其中是連續可微的,微分函式滿足利普希茨條件成立:
其中相當於代替的二階偏導。
那麼可以進行如下演算法來解決問題:
說明:
第一步的更新:按照沿著負梯度的方向下降最快
第二步的更新:有數值解,進行軟閾值操作。
(4)交替方向法 alternating direction methods
其實利用的是拉格朗日演算法,來進行更新出來。解決的模型如下:
其拉格朗日函式如下:
問題變為分別最小化。
說明:
更新時,固定,直接求導,有數值解。
更新 時,固定經過化簡,可以運用軟閾值進行操作計算。
更新時,固定,直接求導,有數值解。
L1範數與L2範數對比
l0範數是指向量中非0的元素的個數。l0範數很難優化求解 l1範數是指向量中各個元素絕對值之和 l2範數是指向量各元素的平方和然後求平方根 l1範數可以進行特徵選擇,即讓特徵的係數變為0.l2範數可以防止過擬合,提公升模型的泛化能力,有助於處理 condition number不好下的矩陣 資料變化...
L1範數 係數表達
摘自 l1範數 通常情況下,欠定線性方程是沒有唯一解的,如果加上其他的條件則可以縮小解得範圍,比如加上二範數最小化這個條件,則方程可以得到最小範數解,該解唯一,我們知道二範數是能量的度量單位,它是用來度量重構誤差的,如果我們不用二範數改用另外的附加條件,比如稀疏性,要求方程的解具有最小數目的非零項,...
L1和L2正規化 範數
範數是形容乙個公式具有廣泛性,類似於有人指桑罵槐但不說名字,但一旦說了名字這句話就有意義了.l1l2都從l p範數中得來,1和2就是p 1和p 2的結果.雖然p可以隨便取,但有被人提到的也只有0,1,2這三個值.l0範數僅靠p 0代入l p範數是很迷惑的,既有0次方也有0次開方,數學上的表示就很怪,...