1. 程式人生 > >機器學習 最優化演算法 總結

機器學習 最優化演算法 總結

1. 牛頓法

假設任務是優化一個目標函式f,求函 數f的極大極小問題,可以轉化為求解函式f的導數f'=0的問題,這樣求可以把優化問題看成方程求解問題(f'=0)。為了求解f'=0的根,把f(x)的泰勒展開,展開到2階形式:


這個式子是成立的,當且僅當 Δx 無線趨近於0。此時上式等價與:

求解:

得出迭代公式:

一般認為牛頓法可以利用到曲線本身的資訊,比梯度下降法更容易收斂(迭代更少次數),如下圖是一個最小化一個目標方程的例子,紅色曲線是利用牛頓法迭代求解,綠色曲線是利用梯度下降法求解。

在上面討論的是2維情況,高維情況的牛頓迭代公式是:


其中H是Hessian矩陣,定義為:


    經典牛頓法雖然具有二次收斂性,但是要求初始點需要儘量靠近極小點,否則有可能不收斂。計算過程中需要計算目標函式的二階偏導數,難度較大。更為複雜的是目標函式的Hesse矩陣無法保持正定,會導致演算法產生的方向不能保證是f在Xk 處的下降方向,從而令牛頓法失效(只有Hesse矩陣正定時,才能保證f在x處下降

);特別的,如果Hesse矩陣奇異,牛頓方向可能根本是不存在的。

2. 擬牛頓法

    牛頓法收斂速度快,但是計算過程中需要計算目標函式的二階偏導數,難度較大;目標函式的Hesse矩陣無法保持正定,從而令牛頓法失效。為了解決這兩個問題,人們提出了擬牛頓法,即“模擬”牛頓法的改進型演算法。基本思想是不用二階偏導數而構造出可以近似Hesse矩陣的逆的正定對稱陣,從而在“擬牛頓”的條件下優化目標函式。Hesse陣的構造方法的不同決定了不同的擬牛頓法。


    搜尋方向為:

                                         


BGFS演算法

      BFGS演算法是Broyden,Fletcher,Goldfarb,Shanno四位優化大家在1970年幾乎同時從不同的優化角度提出的。從發明到現在的40多年時間裡,它仍然被認為是最好的擬牛頓演算法。


    BFGS演算法有一個變種,叫作“Limited-memory BFGS”,簡稱“L-BFGS”。使用L-BFGS演算法來編寫程式時,它會比BFGS算法佔用的記憶體小。

問題:牛頓法為什麼比梯度下降法快?

     牛頓法是二階收斂,梯度下降是一階收斂,所以牛頓法就更快。如果更通俗地說的話,比如你想找一條最短的路徑走到一個盆地的最底部,梯度下降法每次只從你當前所處位置選一個坡度最大的方向走一步,牛頓法在選擇方向時,不僅會考慮坡度是否夠大,還會考慮你走了一步之後,坡度是否會變得更大。所以,可以說牛頓法比梯度下降法看得更遠一點,能更快地走到最底部。

      根據wiki上的解釋,從幾何上說,牛頓法就是用一個二次曲面去擬合你當前所處位置的局部曲面,而梯度下降法是用一個平面去擬合當前的局部曲面,通常情況下,二次曲面的擬合會比平面更好,所以牛頓法選擇的下降路徑會更符合真實的最優下降路徑。


相關推薦

機器學習 最優化演算法 總結

1. 牛頓法 假設任務是優化一個目標函式f,求函 數f的極大極小問題,可以轉化為求解函式f的導數f'=0的問題,這樣求可以把優化問題看成方程求解問題(f'=0)。為了求解f'=0的根,把f(x)的泰

機器學習經典演算法總結 一.線性迴歸

一.基本形式 hθ(x)=θ0+θ1x1+θ2x2+....+θnxn=θTxh_θ(x)=θ_0+θ_1x_1+θ_2x_2+....+θ_nx_n=θ^Txhθ​(x)=θ0​+θ1​x1​+θ2​x2​+....+θn​xn​=θTx 二.損失函式 最常用

機器學習整合演算法總結

一.Voting 思想:選取多個分類器,少數服從多數 二.Bagging 特點: 放回抽樣 方法: 1.放回抽樣訓練集 2.Outofbagging:放回抽樣中總有一部分資料沒被抽到,可將這部分作為驗證集 3.隨機取樣特徵 4.隨機取樣特徵+隨機取樣訓練集,如隨機森林 隨機森林 優點 可

機器學習基本演算法總結4

機器學習基本演算法總結 ☞其他工具 程式碼在這,基於python3(原書程式碼是python2) 這裡只是一個總結,原書已經講解很清楚了,不清楚的直接看程式碼 目錄 ========================== 一、預測數

資料探勘與機器學習基本演算法總結

在這種學習模式下,輸入資料作為對模型的反饋,不像監督模型那樣,輸入資料僅僅是作為一個檢查模型對錯的方式,在強化學習下,輸入資料直接反饋到模型,模型必須對此立刻作出調整。常見的應用場景包括動態系統以及機器人控制等。常見演算法包括Q-Learning以及時間差學習(Temporal difference le

機器學習常用演算法總結

機器學習無疑是當前資料分析領域的一個熱點內容。很多人在平時的工作中都或多或少會用到機器學習的演算法。本文總結一下常見的機器學習演算法,以供參考。機器學習的演算法很多,很多演算法是一類演算法,而有些演算法又是從其他演算法中延伸出來的。這裡從兩個方面進行總結,第一個方面是學習的

機器學習常見演算法總結(二)

5. Adaboost adaboost演算法通俗地講,就是在一個數據集上的隨機資料使用一個分類訓練多次,每次對分類正確的資料賦權值較小,同時增大分類錯誤的資料的權重,如此反覆迭代,直到達到所需的要求。Adaboost演算法步驟如下: 步驟1. 首先初

機器學習經典演算法總結(3)——特徵選擇

一、特徵的分類1. 相關特徵:對當前學習任務有用的屬性。2. 無關特徵:對當前學習任務沒有用的屬性。3. 冗餘特徵:包含的資訊能從其他特徵中推演出來,冗餘特徵有時候不起作用,有時候則是有益的,對應了學習任務所需的“中間變數”。二、特徵選擇1. 概念:從給定的特徵集合中選擇出相

機器學習-組合演算法總結

組合模型下面簡單的介紹下Bootstraping, Bagging, Boosting, AdaBoost, RandomForest 和Gradient boosting這些組合型演算法. 1.BootstrapingBootstraping: 名字來自成語“pull up by

機器學習常見演算法總結+ 面試題

1.http://kubicode.me/2015/08/16/Machine%20Learning/Algorithm-Summary-for-Interview/ 2.http://kubicode.me/2015/08/16/Machine%20Learning/Co

機器學習常見演算法總結(面試用)

樸素貝葉斯 參考[1] 事件A和B同時發生的概率為在A發生的情況下發生B或者在B發生的情況下發生A P(A∩B)=P(A)∗P(B|A)=P(B)∗P(A|B) 所以有: P(A|B)=P(B|A)∗P(A)P(B) 對於給出的待分

機器學習 —— 各類演算法優缺點總結

在我們日常生活中所用到的推薦系統、智慧圖片美化應用和聊天機器人等應用中,各種各樣的機器學習和資料處理演算法正盡職盡責地發揮著自己的功效。本文篩選並簡單介紹了一些最常見演算法類別,還為每一個類別列出了一些實際的演算法並簡單介紹了它們的優缺點。目錄正則化演算法(Regularization Algorithms)

KNN演算法優缺點總結,以及機器學習流程的總結

KNN演算法作為一個最簡單,也是一個很實用的機器學習的演算法,日常的使用中也能處理很多問題,這裡做一下總結記錄 優點 1、KNN可以處理分類問題,同時天然可以處理多分類問題,比如鳶尾花的分類 2、簡單,易懂,同時也很強大,對於手寫數字的識別,鳶尾花這一類問題來說,準確率

機器學習常用演算法的優缺點總結

決策樹 一、  決策樹優點 1、決策樹易於理解和解釋,可以視覺化分析,容易提取出規則。 2、可以同時處理標稱型和數值型資料。 3、測試資料集時,執行速度比較快。 4、決策樹可以很好的擴充套件到大型資料庫中,同時它的大小獨立於資料庫大小。 二、決策樹缺點 1、對缺

機器學習常見演算法及原理總結(乾貨)

樸素貝葉斯 參考[1] 事件A和B同時發生的概率為在A發生的情況下發生B或者在B發生的情況下發生A P(A∩B)=P(A)∗P(B|A)=P(B)∗P(A|B) 所以有: P(A|B)=P(B|A)∗P(A)P(B) 對於給出的待分類項,求解在此項出現的條件下各個目標類別出

機器學習常見演算法優缺點總結

K近鄰:演算法採用測量不同特徵值之間的距離的方法進行分類。 優點: 1.簡單好用,容易理解,精度高,理論成熟,既可以用來做分類也可以用來做迴歸; 2.可用於數值型資料和離散型資料; 3.訓練時間

機器學習常用演算法優點及缺點總結

決策樹 一、  決策樹優點 1、決策樹易於理解和解釋,可以視覺化分析,容易提取出規則。 2、可以同時處理標稱型和數值型資料。 3、測試資料集時,執行速度比較快。 4、決策樹可以很好的擴充套件到大型資料庫中,同時它的大小獨立於資料庫大小。 二、決策樹缺點 1、

機器學習基本概念總結(轉載)

9.png png log images es2017 enter 08-18 機器學習 style 機器學習基本概念總結(轉載)

輕松入門機器學習之概念總結(二)

消息 目的 作者 固定 erp 效率 dev 常用 度量 歡迎大家前往雲加社區,獲取更多騰訊海量技術實踐幹貨哦~ 作者:許敏 接上篇:機器學習概念總結筆記(一) 8)邏輯回歸 logistic回歸又稱logistic回歸分析,是一種廣義的線性回歸分析模型,常用於數據挖掘

吳恩達《機器學習》課程總結(7)正則化

額外 分享 哪些 TP 回歸 分享圖片 表現 例子 兩個 7.1過擬合的問題 訓練集表現良好,測試集表現差。魯棒性差。以下是兩個例子(一個是回歸問題,一個是分類問題) 解決辦法: (1)丟棄一些不能幫助我們正確預測的特征。可以使用工選擇保留哪些特征,或者使用一些模型選擇