@分布式機器學習筆記
基本概述
1)機器學習的優化框架
① 正則化經驗風險最小化
模型在訓練資料上的平均損失函式值盡可能小;同時對模型複雜度進行懲罰
② 優化演算法的收斂速率
有效的優化演算法:隨著迭代的進行使輸出模型越來越接近於最優模型
收斂性:e(t)趨近於0
收斂速率:一般使用log e(t)的衰減速率來定義優化演算法收斂速率
③ 假設條件:凸性與光滑性
基於目標函式良好的數學屬性
凸性:函式幾何性質,任何區域性最優解都是全域性最優解
可進一步區分凸性強度,結論:f為α強凸當且僅當f-α/2|| ||^2為凸函式
光滑性:函式變化緩急程度,自變數微小變化引起函式值微小變化
關於可導函式(β光滑)與不可導函式(βlipschitz)有不同的數學定義
結論:凸函式f是β光滑的充要條件是其導數是βlipschitz的
2)優化演算法的分類和發展
根據是否對資料/特徵維度進行取樣:確定性演算法和隨機演算法
根據演算法在優化過程中使用的資訊:一階方法和二階方法
根據演算法的問題空間:原始方法和對偶方法
一階確定性演算法介紹演算法和其收斂速率
1)梯度下降法
適用範圍 ①無約束優化問題 ②目標函式梯度存在
思想:最小化目標函式在當前狀態的一階泰勒展開
特點:針對目標函式梯度存在的情形,即光滑函式
收斂速率:
對於強凸函式,線性收斂速率;凸函式,次線性收斂速率;
強凸性質和光滑性質一定程度上刻畫優化問題的難易程度和收斂速度
2)投影次梯度下降法
解決梯度下降法的侷限性,與梯度下降法不同之處:
①若當前狀態梯度不存在,計算當前狀態的次梯度進行梯度下降
②若計算出的引數不屬於約束域,則尋找它到約束域的投影(即約束域距離計算出的值最近的點)
收斂速度:
與步長選擇有關
在光滑函式情形下,與梯度下降法收斂速率相同;在lipshcitz連續函式情形下,強凸/凸函式都具有次線性收斂速率
3)近端梯度下降法
投影次梯度下降法的一種推廣,適用於不可微的凸目標函式
參考 對近端梯度演算法(proximal gradient method)的理解.
近端對映的定義性質:w關於函式r近端對映的方向與w沿著函式r某個次梯度方向更新是一樣的,即近端對映可用於次梯度更新的替代
適用範圍:通常用於解決如下的凸優化問題 min f(w) = l(w)+r(w)
其中l(w)為可微的凸函式,r(w)是不可微的凸函式(指示函式/l1範數正則項)
演算法思想:按照可微的l函式梯度方向先進性梯度下降更新,然後計算新的狀態關於不可微函式的近端對映值
收斂速率:(一定條件下)目標函式是α強凸函式,且β光滑時,具有線性收斂速率
4)frank-wolfe演算法
投影次梯度下降法的另乙個替代演算法,解決由於投影計算過於複雜而導致的演算法效率低下
特點:在近似目標函式泰勒展開時就將約束條件考慮進去,得到滿足約束的函式最小值
收斂速率:與投影次梯度下降法相同
5)nesterov加速法
對於lipschitz連續函式,梯度下降法達到了一階演算法收斂速率下界
而對於光滑函式,梯度下降法需採用nesterov加速,才可達到一階演算法收斂速率下界
針對光滑的目標函式,加快一階優化演算法收斂速度
對每乙個狀態計算輔助變數,引數根據一定的線性加權進行更新
6)座標下降法
特點:在迭代的每一步,演算法都選擇一部分維度進行更新,其他維度不變;維度的選擇遵循本徵迴圈選擇規則
收斂速率:對於強凸且光滑的目標函式,具有線性收斂速率
二階確定性演算法
1)牛頓法
思想:最小化目標函式在當前狀態的二階泰勒展開
適用:目標函式當前狀態處的hessian矩陣正定
特點:相比一階梯度下降法提供了更為精細的步長調節,收斂速率加快,二次收斂
問題:① 每個時刻都需要計算當前時刻的hessian矩陣,計算量儲存量大
② hessian矩陣不一定正定
2)擬牛頓法
思想:為解決牛頓法的問題而提出,構造與hessian矩陣相差不太大的矩陣作為替代品,迭代更新hessian逆矩陣
流程:計算導數和模型的更新量迭代計算海森矩陣和其逆矩陣
特點:二次收斂速率
對偶方法
情形:當原始問題變數維度很高,而約束條件個數不多時,對偶問題的複雜度遠小於原始問題的複雜度,更容易求解
構造原優化問題的拉格朗日函式:凹函式,為原始問題最優值的下界
原始問題的對偶問題:將拉格朗日函式在約束條件係數空間中取最大值,將得到原問題的最大下界
求解步驟:
①求解對偶問題h(λ,v)得(λ*,v*) ,可採用對偶座標上公升法
②將所得解帶入原問題求解minl(w,λ*,v*),若求得解為可行解,則為最優解
一些概念
弱對偶條件與強對偶條件
sup 的定義:乙個集合最小的上界
inf 的定義:乙個集合最大的下界
總結
分布式機器學習第3章 分布式機器學習框架
q 需要使用到分布式機器學習有哪三種情形?q 對於計算量太大時的分布式機器學習解決辦法 q 對於訓練資料太多時的分布式機器學習解決辦法 q 對於模型規模太大時的分布式機器學習解決辦法 q 目前分布式機器學習領域的主要矛盾是?q 分布式機器學習的主要組成模組有哪四個?q 分布式機器學習的資料劃分中,對...
分布式機器學習主要筆記
mahout是hadoop的乙個機器學習庫,主要的程式設計模型是mapreduce 每個企業的資料都是多樣的和特別針對他們需求的。然而,在對那些資料的分析種類上卻沒多少多樣性。mahout專案是實施普通分析計算的乙個hadoop庫。用例包括使用者協同過濾 使用者建議 聚類和分類。mllib 執行在s...
分布式機器學習筆記1
分布式機器學習筆記 本人是電子資訊領域相關專業女研究生一枚,研究方向下一代移動通訊網路。本科時期玩心未泯 未深入接觸科研。現階段摸索進入科研狀態,有一定知識基礎,自學機器學習 分布式機器學習相關方法知識 比較看重知識的體系性與連貫度,以及自己的思維流等,將較為重要的概念內容記錄於此!分布式機器學習的...