0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

機器學習優(yōu)化算法中梯度下降,牛頓法和擬牛頓法的優(yōu)缺點詳細介紹

Dbwd_Imgtec ? 來源:未知 ? 作者:易水寒 ? 2018-08-04 11:40 ? 次閱讀

1、梯度下降法

梯度下降法實現簡單,當目標函數是凸函數時,梯度下降法的解是全局解。一般情況下,其解不保證是全局最優(yōu)解,梯度下降法的速度也未必是最快的。

梯度下降法的優(yōu)化思想:用當前位置負梯度方向作為搜索方向,因為該方向為當前位置的最快下降方向,所以也被稱為是”最速下降法“。最速下降法越接近目標值,步長越小,前進越慢。

缺點:

靠近極小值時收斂速度減慢,求解需要很多次的迭代;

直線搜索時可能會產生一些問題;

可能會“之字形”地下降。

2、牛頓法

牛頓法最大的特點就在于它的收斂速度很快。

優(yōu)點:二階收斂,收斂速度快;

缺點:

牛頓法是一種迭代算法,每一步都需要求解目標函數的Hessian矩陣的逆矩陣,計算比較復雜。

牛頓法收斂速度為二階,對于正定二次函數一步迭代即達最優(yōu)解。

牛頓法是局部收斂的,當初始點選擇不當時,往往導致不收斂;

二階海塞矩陣必須可逆,否則算法進行困難。

關于牛頓法和梯度下降法的效率對比:

從本質上去看,牛頓法是二階收斂,梯度下降是一階收斂,所以牛頓法就更快。如果更通俗地說的話,比如你想找一條最短的路徑走到一個盆地的最底部,梯度下降法每次只從你當前所處位置選一個坡度最大的方向走一步,牛頓法在選擇方向時,不僅會考慮坡度是否夠大,還會考慮你走了一步之后,坡度是否會變得更大。所以,可以說牛頓法比梯度下降法看得更遠一點,能更快地走到最底部。(牛頓法目光更加長遠,所以少走彎路;相對而言,梯度下降法只考慮了局部的最優(yōu),沒有全局思想。)

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

3、擬牛頓法

擬牛頓法的本質思想是改善牛頓法每次需要求解復雜的Hessian矩陣的逆矩陣的缺陷,它使用正定矩陣來近似Hessian矩陣的逆,從而簡化了運算的復雜度。

擬牛頓法和最速下降法一樣只要求每一步迭代時知道目標函數的梯度。通過測量梯度的變化,構造一個目標函數的模型使之足以產生超線性收斂性。這類方法大大優(yōu)于最速下降法,尤其對于困難的問題。另外,因為擬牛頓法不需要二階導數的信息,所以有時比牛頓法更為有效。如今,優(yōu)化軟件中包含了大量的擬牛頓算法用來解決無約束,約束,和大規(guī)模的優(yōu)化問題。

4、小結

機器學習中的無約束優(yōu)化算法,除了梯度下降以外,還有前面提到的最小二乘法,此外還有牛頓法和擬牛頓法。

梯度下降法和最小二乘法相比,梯度下降法需要選擇步長,而最小二乘法不需要。梯度下降法是迭代求解,最小二乘法是計算解析解。如果樣本量不算很大,且存在解析解,最小二乘法比起梯度下降法要有優(yōu)勢,計算速度很快。但是如果樣本量很大,用最小二乘法由于需要求一個超級大的逆矩陣,這時就很難或者很慢才能求解解析解了,使用迭代的梯度下降法比較有優(yōu)勢。

梯度下降法和牛頓法/擬牛頓法相比,兩者都是迭代求解,不過梯度下降法是梯度求解,而牛頓法/擬牛頓法是用二階的海森矩陣的逆矩陣或偽逆矩陣求解。相對而言,使用牛頓法/擬牛頓法收斂更快。但是每次迭代的時間比梯度下降法長。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 優(yōu)化算法

    關注

    0

    文章

    35

    瀏覽量

    9645
  • 函數
    +關注

    關注

    3

    文章

    4237

    瀏覽量

    61967
  • 機器學習
    +關注

    關注

    66

    文章

    8306

    瀏覽量

    131841

原文標題:機器學習優(yōu)化算法:梯度下降、牛頓法、擬牛頓法

文章出處:【微信號:Imgtec,微信公眾號:Imagination Tech】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    matlab牛頓迭代全解

    非線性方程(或方程組)問題可以描述為求 x 使得f(x) = 0。在求解非線性方程的方法,牛頓迭代是求非線性方程(非線性方程組)數值解的一種重要的方法。牛頓是微積分創(chuàng)立者之一,微積
    發(fā)表于 03-08 16:22

    機器學習新手必學的三種優(yōu)化算法牛頓、梯度下降法、最速下降法)

    轉換的算法復雜度是非常高的(O(n3)),因此牛頓在這種情形下并不常用。梯度下降梯度
    發(fā)表于 05-07 08:30

    基于牛頓迭代的FPGA定點小數計算

    倒數運算分為這兩個步驟則需要更多的時間開銷和空間開銷。而采用常規(guī)的浮點運算單元(FPU)來求解的話,同樣需要很長的計算時間。本文介紹一種基于牛頓迭代(又稱Newton-Raphson算法
    發(fā)表于 07-18 07:33

    梯度下降法、牛頓牛頓它們的聯系與區(qū)別是什么

    梯度下降法、牛頓牛頓,淺談它們的聯系與區(qū)別
    發(fā)表于 05-21 11:06

    約束優(yōu)化問題大致分為哪幾類

    一、算法原理之前我們了解過的算法大部分都是無約束優(yōu)化問題,其算法有:黃金分割法,牛頓,
    發(fā)表于 08-17 08:09

    MATLAB多維極值之單純形算法原理

    一、算法原理1、問題引入在之前講解過的多維極值的算法(最速下降法、牛頓、共軛
    發(fā)表于 08-17 09:24

    高斯-牛頓迭代簡介

    高斯牛頓迭代簡介,包括高斯牛頓迭代推演及及結論
    發(fā)表于 01-08 16:21 ?0次下載

    采用改進牛頓計算配電網理論線損

    采用改進牛頓計算配電網理論線損
    發(fā)表于 01-17 19:47 ?9次下載

    Ptl00鉑熱電阻溫度計算問題及牛頓與解析的應用特性

    針對Ptl00鉑熱電阻溫度計算問題,詳細分析了牛頓與解析的應用特性,在vC 6.O編程環(huán)境下對比了兩種方法的絕對計算精度以及相對運行速度。結果表明,
    發(fā)表于 11-20 15:37 ?5次下載
    Ptl00鉑熱電阻溫度計算問題及<b class='flag-5'>牛頓</b><b class='flag-5'>法</b>與解析<b class='flag-5'>法</b>的應用特性

    牛頓環(huán)形成的原理是什么_牛頓環(huán)原理和分析

    本文首先闡述了牛頓環(huán)的概念與牛頓環(huán)的產生機理,其次介紹了實際生產中牛頓環(huán)產生的地方與原因分析及分析了如何測算預防牛頓環(huán)產生的設計參數,最后
    的頭像 發(fā)表于 03-13 11:07 ?13.2w次閱讀
    <b class='flag-5'>牛頓</b>環(huán)形成的原理是什么_<b class='flag-5'>牛頓</b>環(huán)原理和分析

    基于牛頓的自適應高階跑分距離推薦模型

    基于牛頓的自適應高階跑分距離推薦模型
    發(fā)表于 06-17 15:34 ?10次下載

    Python實現所有算法-基本牛頓

    Python實現所有算法-二分 Python實現所有算法-力系統(tǒng)是否靜態(tài)平衡 Python實現所有算法-力系統(tǒng)是否靜態(tài)平衡(補篇) Python實現所有
    的頭像 發(fā)表于 07-13 10:40 ?1528次閱讀

    牛頓-拉夫遜迭代原理及其實現

    直接看數學公式描述如何迭代不直觀,先來看動圖就很容易理解牛頓迭代為什么叫迭代以及怎樣迭代的
    的頭像 發(fā)表于 04-17 09:04 ?2862次閱讀

    機器學習算法總結 機器學習算法是什么 機器學習算法優(yōu)缺點

    機器學習算法總結 機器學習算法是什么?機器
    的頭像 發(fā)表于 08-17 16:11 ?1588次閱讀

    python牛頓迭代

    軸的交點處得到近似解。通過不斷迭代切線與x軸的交點,可以逐漸接近方程的解。牛頓迭代在數學和工程領域有廣泛的應用,如求根、優(yōu)化等問題。 牛頓迭代
    的頭像 發(fā)表于 11-21 15:06 ?785次閱讀