機器學習方法 機器學習中的優化方法

2021-10-12 08:20:52 字數 2559 閱讀 3688

機器學習是離不開優化方法的,pedro domingos這樣概括機器學習和優化方法的關係:

「machine learning=representation+optimization+evaluation」

後面三項對應於三步:建立模型,求解模型,驗證模型。

首先介紹一下機器學習中常見的優化問題

1.分類回歸問題

很多的分類回歸問題都可以寫成問題(1)的乙個特例,比如svm,正則的logistic回歸,多層感知器,線性回歸,嶺回歸,lasso問題等。

2.adaboost

通常資料的分類面可能是很複雜的,我們可以通過多個簡單的線性分類器組合而成。

3.生成對抗網路

4.automl

自動超引數的選取,這是乙個雙層優化問題。

根據所需要的資訊,演算法大概分為三種:零階,一階、二階

機器學習中,一階用的是最廣泛的。當然也不排除有零階和二階的,這適用於那些具有特殊結構的問題。

1.基本模組:

通常的優化演算法主要有以下幾個模組,將這些模組以不同的方式組合一下就得到了不同的優化方法。

上面的四個模組在不同的拼接下就形成了很多現有的優化演算法。

考慮無約束問題:

假設函式

是光滑的(如果不光滑,我們可以用次梯度,光滑化等)

當目標函式是二次的時候,選出來的方向

是共軛方向。

是 處hessian矩陣逆的近似,需要滿足

,主要有兩類近似:秩1和秩2近似。

上面說到的逆牛頓需要儲存乙個大的矩陣

,考慮到他是秩1或秩2近似,因此我們可以通過儲存一些向量來代替。

考慮可分問題:

其中 光滑,

為非光滑。臨近梯度演算法對光滑的那部分做二次近似,每一步求解如下問題:

該演算法需要假設對於g的proximal operator是容易計算的。

考慮一般問題:

其中 是乙個約束集合。

首先走乙個梯度步,然後投影回去。

通過罰引數將約束集放到目標函式上,其中

要滿足一些條件:連續非負,以及

當且僅當

。該方法依賴於罰引數。

其中需要

是乙個緊集(歐氏空間下等價於有界閉集)。方向

的求解相當於對函式

做泰勒一次展開。這個演算法適用於稀疏低秩問題,這時候

可能是乙個低秩範數球,這時候關於

的求解有很高效的演算法。

當約束是線性約束並且可分的時,可以採用admm,考慮問題:

對應的增廣拉格朗日函式為:

admm演算法交替的去更新增廣拉格朗日函式中的三個變數:

如果對於

還是不好求,我們可以對後面的二次項做線性化,得到線性化的admm。

如果問題中的變數可以分為多塊,比如:

這種情況下可以採取塊座標下降方法:本質上是交替極小的乙個擴充套件。

考慮如下形式的問題:

找到乙個近似的方向

近似梯度,只要滿足

即可。有很多的變種,adam,adagrad,adadelta,ada...

通常情況下的加速策略都是利用內插和外推。

後面那一項稱為momentum。

將nesterov加速應用到了非光滑的可分問題(2)上:

考慮問題:

我們可以用梯度方法:

, 如果n太大,每一步的計算量太大,

那麼我們就採用最原始的隨機梯度方法:

,也就是一次選乙個去走。

這兩個方法似乎都是一種極端,所以中間存在一種tradeoff。思考如何做到在降低variance的情況下計算量不要增長的太快。下面幾個方法就是從這個角度入手。

這個方法的思想就是,每隔一段時間算一次完整梯度,用這個資訊去矯正每一步的隨機梯度方向。

這個方法是nesterov加速和variance reduction的結合。

注意到第三步,你可以使用任何乙個可以計算的方法去求解第三步中的問題

這個相對於svrg方差更小。

大規模優化的展望主要有一些這幾點

最後林老師推薦了機器學習的人應該學習哪些優化書籍,最後一本林老師自己的。

我的專欄

最優化理論和一階方法​zhuanlan.zhihu.com

參考文獻

機器學習方法

根據資料型別的不同,對乙個問題的建模有不同的方式。在機器學習或者人工智慧領域,人們首先會考慮演算法的學習方式。在機器學習領域,有幾種主要的學習方式。將演算法按照學習方式分類是乙個不錯的想法,這樣可以讓人們在建模和演算法選擇的時候考慮能根據輸入資料來選擇最合適的演算法來獲得最好的結果。監督式學習 在監...

機器學習方法 機器學習模型評估方法

通常我們採用實驗測試的方法對模型的泛化誤差做出評估。為此我們就需要乙個測試集用來測試訓練好的模型。通常情況下,在我們拿到資料之後,在正式開始訓練模型前,就會將資料劃分為訓練集合測試集。需要注意的是 訓練集與測試集應盡可能互斥,也就是盡量不要重複。測試集要符合真實樣本的分布,也就是說在劃分時要隨機抽樣...

機器學習筆記 機器學習方法的其他分類

機器學習其他分類 批量學習 離線學習 batch learning 批量學習 優點 簡單 問題 如何適應環境變化?解決方案 定時重新批量學習 缺點 每次重新批量學習,運算量巨大 在某些環境變化非常快的情況下,甚至不可能 優點 及時反映新的環境變化 問題 新的資料帶來不好的變化 解決方案 需要加強對資...