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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

介紹機(jī)器學(xué)習(xí)中常用的三種優(yōu)化算法

汽車玩家 ? 來源:人工智能遇見磐創(chuàng) ? 作者:Walker ? 2020-05-04 18:19 ? 次閱讀

本文主要介紹了常用的一些機(jī)器學(xué)習(xí)中常用的優(yōu)化算法。

在機(jī)器學(xué)習(xí)的世界中,通常我們會發(fā)現(xiàn)有很多問題并沒有最優(yōu)的解,或是要計算出最優(yōu)的解要花費(fèi)很大的計算量,面對這類問題一般的做法是利用迭代的思想盡可能的逼近問題的最優(yōu)解。我們把解決此類優(yōu)化問題的方法叫做優(yōu)化算法,優(yōu)化算法本質(zhì)上是一種數(shù)學(xué)方法,常見的優(yōu)化算法包括梯度下降法、牛頓法、Momentum,Nesterov Momentum,Adagrad,Adam等。其實大部分機(jī)器學(xué)習(xí)算法的本質(zhì)都是建立優(yōu)化模型,通過優(yōu)化算法對損失函數(shù)(優(yōu)化的目標(biāo)函數(shù))進(jìn)行優(yōu)化,從而訓(xùn)練出最好的模型。

(1)梯度下降法

梯度下降法是最常用的一種優(yōu)化算法。其核心思想是:在當(dāng)前位置尋找梯度下降最快的方向,來逐漸逼近優(yōu)化的目標(biāo)函數(shù)。且離目標(biāo)函數(shù)越近,逼近的“步伐”也就越小。梯度下降法本質(zhì)是一種迭代方法,常用于機(jī)器學(xué)習(xí)算法的模型參數(shù)求解。其示意圖如下圖1所示:

圖1梯度下降法

梯度下降法的更新公式為:

介紹機(jī)器學(xué)習(xí)中常用的三種優(yōu)化算法

其中α為梯度上每次逼近的步長,前邊的“-”表示搜索方向為負(fù)梯度的方向,L我損失函數(shù)。算法更新終止的條件是梯度向量接近于0即可。此外需要特別注意的是,梯度下降法不一定能夠找到全局的最優(yōu)解,很有可能找到的是一個局部最優(yōu)解。

(2)梯度下降法的變式

通常基于梯度的下降方法又有很多變式,我們主要為大家介紹:隨機(jī)梯度下降法(SGD), Momentum, Nesterov Momentum, Adagrad, Adam。

隨機(jī)梯度下降法是每次使用一批數(shù)據(jù)進(jìn)行梯度的計算,而非計算全部數(shù)據(jù)的梯度,因為如果每次計算全部數(shù)據(jù)的梯度,會導(dǎo)致運(yùn)算量加大,運(yùn)算時間變長,容易陷入局部最優(yōu)解,而隨機(jī)梯度下降可能每次不是朝著真正最小的方向,這樣反而可以跳出局部的最優(yōu)解。

Momentum是在隨機(jī)梯度下降法的基礎(chǔ)上,增加了動量(Momentum)的技術(shù)。其核心是通過優(yōu)化相關(guān)方向的訓(xùn)練和弱化無關(guān)方向的振蕩,來加速SGD訓(xùn)練。Momentum的方法能夠在一定程度上緩解隨機(jī)梯度下降法收斂不穩(wěn)定的問題,并且有一定的擺脫陷入局部最優(yōu)解的能力。

Nesterov Momentum是基于Momentum的加速算法,相比于傳統(tǒng)的動量算法,最大的優(yōu)化是計算經(jīng)過動量更新之后的位置梯度。

Adagrad即adaptive gradient,是一種自適應(yīng)學(xué)習(xí)率的梯度法。它通過記錄并調(diào)整每次迭代過程中的前進(jìn)方向和距離,使得針對不同問題都有一套自適應(yīng)學(xué)習(xí)率的方法。Adagrad最大的優(yōu)勢是不需要手動來調(diào)整學(xué)習(xí)率,但與此同時會降低學(xué)習(xí)率。

Adam即Adaptive Moment Estimation,是能夠自適應(yīng)時刻的估計方法,能夠針對每個參數(shù),計算自適應(yīng)學(xué)習(xí)率。這是一種綜合性的優(yōu)化方法,在機(jī)器學(xué)習(xí)實際訓(xùn)練中,往往能夠取得不錯的效果。

(3)牛頓法和擬牛頓法

與上述梯度類型的優(yōu)化算法最大的不同是,牛頓法是一種二階收斂算法,所以它的收斂速度相較于一階算法會更快。牛頓法二階的意義在于它不僅會沿著梯度最大的方向下降,還會考慮走的下一步坡度是不是也很大,它能夠以較遠(yuǎn)的目光全局的逼近目標(biāo)函數(shù)。其算法的具體步驟為:

1)首先選擇接近于函數(shù)f(x)的零點x0,并計算f(x0)處的斜率f’(x0)。然后我們求解以下方程,得到比剛剛的x0更加準(zhǔn)確的解x1。

2)接下來我們利用x1進(jìn)行下一輪的迭代,迭代公式如下所示。這樣經(jīng)過反復(fù)的迭代過程,我們便能取得函數(shù)f(x)的最優(yōu)解。

介紹機(jī)器學(xué)習(xí)中常用的三種優(yōu)化算法

牛頓法的迭代示意圖如下所示:

介紹機(jī)器學(xué)習(xí)中常用的三種優(yōu)化算法

圖2 牛頓法

雖然牛頓法相較于梯度下降法等優(yōu)化算法收斂速度更快,但每一步都需要求解復(fù)雜的Hessian矩陣,計算非常不易。所以后來美國Argonne國家實驗室的物理學(xué)家W.C.Davidon又針對牛頓法計算復(fù)雜的缺陷提出了擬牛頓法。它的核心思想是使用正定矩陣來近似Hessian矩陣的逆,從而簡化了運(yùn)算的復(fù)雜。另外,因為擬牛頓法不需要二階導(dǎo)數(shù)的信息,所以現(xiàn)在擬牛頓法在機(jī)器學(xué)習(xí)實際問題中應(yīng)用更加的廣泛。

【總結(jié)】:除了以上幾類較為常見的優(yōu)化算法以外,還有共軛梯度法、啟發(fā)式優(yōu)化算法等。在實際的機(jī)器學(xué)習(xí)問題中,往往需要具體問題具體分析,根據(jù)每類優(yōu)化問題的特征,選擇合適的優(yōu)化算法。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4615

    瀏覽量

    92984
  • 機(jī)器學(xué)習(xí)

    關(guān)注

    66

    文章

    8422

    瀏覽量

    132720
收藏 人收藏

    評論

    相關(guān)推薦

    NPU與機(jī)器學(xué)習(xí)算法的關(guān)系

    在人工智能領(lǐng)域,機(jī)器學(xué)習(xí)算法是實現(xiàn)智能系統(tǒng)的核心。隨著數(shù)據(jù)量的激增和算法復(fù)雜度的提升,對計算資源的需求也在不斷增長。NPU作為一專門為深度
    的頭像 發(fā)表于 11-15 09:19 ?494次閱讀

    Windows管理內(nèi)存的三種主要方式

    Windows操作系統(tǒng)提供了多種方式來管理內(nèi)存,以確保系統(tǒng)資源的有效利用和性能的優(yōu)化。以下是關(guān)于Windows管理內(nèi)存的三種主要方式的詳細(xì)闡述,包括堆內(nèi)存管理、虛擬內(nèi)存管理以及共享內(nèi)存管理,每種方式都將從概念、原理、運(yùn)作機(jī)制和應(yīng)用等方面進(jìn)行
    的頭像 發(fā)表于 10-12 17:09 ?840次閱讀

    干貨!恒流電路常用三種設(shè)計方案

    作為硬件研發(fā)工程師相信對恒流電路不會陌生,本文介紹三種恒流電路的原理圖。 極管恒流電路 極管恒流電路 極管的恒流電路,主要是利用Q
    發(fā)表于 09-09 10:40

    常用的pwm跟蹤控制方式是哪三種

    PWM(脈寬調(diào)制)跟蹤控制是一廣泛應(yīng)用于電機(jī)控制、電源管理、通信等領(lǐng)域的技術(shù)。它通過調(diào)整脈沖的寬度來控制輸出信號的占空比,從而實現(xiàn)對系統(tǒng)的精確控制。常用的PWM跟蹤控制方式主要有三種:增量式PWM
    的頭像 發(fā)表于 08-14 10:34 ?1364次閱讀

    請問IR900NAT配置常用三種情景是什么?

    IR900NAT配置常用三種情景
    發(fā)表于 07-26 07:02

    放大電路的三種組態(tài)可以放大什么

    是對這三種放大電路組態(tài)的介紹。 1. 共射放大電路(Common Emitter Amplifier) 共射放大電路是三種組態(tài)中最常用的一
    的頭像 發(fā)表于 07-09 14:31 ?1200次閱讀

    機(jī)器視覺中常用的光源類型及優(yōu)點?

    機(jī)器視覺是一利用計算機(jī)視覺技術(shù)來實現(xiàn)對圖像的獲取、處理和分析的技術(shù)。在機(jī)器視覺系統(tǒng)中,光源是至關(guān)重要的組成部分,它直接影響到圖像的質(zhì)量,進(jìn)而影響到整個系統(tǒng)的準(zhǔn)確性和可靠性。本文將詳細(xì)介紹
    的頭像 發(fā)表于 07-04 10:28 ?631次閱讀

    機(jī)器學(xué)習(xí)算法原理詳解

    機(jī)器學(xué)習(xí)作為人工智能的一個重要分支,其目標(biāo)是通過讓計算機(jī)自動從數(shù)據(jù)中學(xué)習(xí)并改進(jìn)其性能,而無需進(jìn)行明確的編程。本文將深入解讀幾種常見的機(jī)器學(xué)習(xí)
    的頭像 發(fā)表于 07-02 11:25 ?1108次閱讀

    機(jī)器學(xué)習(xí)的經(jīng)典算法與應(yīng)用

    關(guān)于數(shù)據(jù)機(jī)器學(xué)習(xí)就是喂入算法和數(shù)據(jù),讓算法從數(shù)據(jù)中尋找一相應(yīng)的關(guān)系。Iris鳶尾花數(shù)據(jù)集是一個經(jīng)典數(shù)據(jù)集,在統(tǒng)計
    的頭像 發(fā)表于 06-27 08:27 ?1672次閱讀
    <b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>的經(jīng)典<b class='flag-5'>算法</b>與應(yīng)用

    abb工業(yè)機(jī)器人手動操作有哪三種模式?

    插補(bǔ)模式和手動重定位模式。下面,我們將詳細(xì)介紹三種模式的特點、操作方法以及應(yīng)用場景。 一、手動單軸移動模式 模式特點 手動單軸移動模式是ABB工業(yè)機(jī)器人最基本的手動操作模式。在這種模式下,操作者可以通過控制
    的頭像 發(fā)表于 06-16 16:44 ?4603次閱讀

    伺服電機(jī)常用三種控制模式有哪些

    伺服電機(jī)是一高精度、高響應(yīng)速度的電機(jī),廣泛應(yīng)用于自動化設(shè)備、機(jī)器人、數(shù)控機(jī)床等領(lǐng)域。伺服電機(jī)的控制模式對于整個系統(tǒng)的穩(wěn)定性、精度和性能至關(guān)重要。本文將詳細(xì)介紹伺服電機(jī)常用
    的頭像 發(fā)表于 06-05 15:51 ?5647次閱讀

    淺析FreeRTOS任務(wù)調(diào)度器的三種調(diào)度算法和應(yīng)用

    FreeRTOS在MCU領(lǐng)域應(yīng)用非常廣泛,今天就給大家講解一下FreeRTOS調(diào)度器中的三種調(diào)度算法,以及在瑞薩RZ/T2L MPU中的應(yīng)用。
    的頭像 發(fā)表于 05-10 14:02 ?7531次閱讀
    淺析FreeRTOS任務(wù)調(diào)度器的<b class='flag-5'>三種</b>調(diào)度<b class='flag-5'>算法</b>和應(yīng)用

    gis中常用的空間分析方法

    將詳細(xì)介紹GIS中常用的空間分析方法,包括空間插值、緩沖區(qū)分析、空間統(tǒng)計、領(lǐng)域分析、網(wǎng)絡(luò)分析和多標(biāo)準(zhǔn)決策等。 一、空間插值 空間插值是一將有限數(shù)量的點數(shù)據(jù)轉(zhuǎn)換為連續(xù)表面的方法。常見的空間插值方法包括反距離加權(quán)插值(IDW)、克
    的頭像 發(fā)表于 02-25 13:44 ?5741次閱讀

    VMware虛擬機(jī)的三種網(wǎng)絡(luò)模式

    。VMware提供了三種網(wǎng)絡(luò)模式:橋接模式、NAT模式和主機(jī)模式。在本文中,我們將詳細(xì)介紹三種網(wǎng)絡(luò)模式的特點和用途。 1. 橋接模式: 橋接模式是虛擬機(jī)最常用的網(wǎng)絡(luò)模式之一。在橋接模
    的頭像 發(fā)表于 02-04 11:17 ?2037次閱讀

    介紹三種建模方式

    據(jù)量大,而是指樣本的完備性。還有就是大數(shù)據(jù)或者AI被專業(yè)學(xué)者或者行業(yè)工程師所詬病的就是,純粹的數(shù)據(jù)驅(qū)動搞不出所以然出來,需要領(lǐng)域知識(即Domain Knowledge)的協(xié)助。此外,還有第三種建模方式就是混合驅(qū)動,即基礎(chǔ)物理模型加上數(shù)據(jù)驅(qū)動的方式。下文詳細(xì)介紹一下
    的頭像 發(fā)表于 01-23 10:48 ?1939次閱讀