梯度降低算法

原文地址:https://kasheemlew.github.io/...git

梯度降低(gradient descent,steepest descent)是用來求函數最小值的迭代優化算法。梯度降低有可能獲得是一個局部最優解。當損失函數是凸函數時,梯度降低法獲得的解必定是全局最優解。所以梯度降低算法能夠用來求解均方差的最小值。github

相關概念

  • Gradient(梯度)算法

    微積分中,對多元函數的參數求∂偏導數,把求得的各個參數的偏導數的向量形式就是**梯度**,如函數`f(x,y)`, 分別對x,y求偏導數,求得的梯度向量就是`(∂f/∂x, ∂f/∂y)T`,即`grad f(x,y)`或者`▽f(x,y)`。對於在點`(x0,y0)`的具體梯度向量就是`(∂f/∂x0, ∂f/∂y0)T`.或者`▽f(x0,y0)`,若是是3個參數的向量梯度,就是`(∂f/∂x, ∂f/∂y,∂f/∂z)T`。
    
    從幾何意義上講,梯度越大函數變化增長越快。如函數`f(x,y)`,沿着梯度向量的方向就是`(∂f/∂x0, ∂f/∂y0)T`,經過梯度的變化能夠找到函數的極值,沿着梯度向量的方向更容易找到函數的最大值,沿着梯度向量相反的方向`-(∂f/∂x0, ∂f/∂y0)T`,梯度減小最快,更容易找到函數的最小值。
  • Learning rate(步長,學習效率)函數

    梯度降低算法中,步長決定了在梯度降低迭代的過程當中,每一步沿梯度負方向前進的長度。
  • feature(特徵)學習

    樣本中的輸入部分,如樣本 `{(x0, y0), (x1, y1)}`中的x0和x1
  • hypothesis function(假設函數)優化

    監督學習中,預測得出的結果,記爲hθ(x)。線性迴歸中對於樣本`(xi,yi)(i=1,2,...n)`,能夠採用擬合函數: `hθ(x) = θ0+θ1x`。
  • loss function(損失函數)spa

    評估模型擬合好壞程度的函數。損失函數極小化,意味着擬合程度最好,對應的模型參數即爲最優參數。在線性迴歸中,損失函數一般爲樣本輸出和假設函數的差取平方。好比對於樣本(xi,yi)(i=1,2,...n),採用線性迴歸,損失函數爲:`J(θ0,θ1)=∑(i=1)(m)(hθ(xi)−yi)^2`(xi表示樣本特徵x的第i個元素,yi表示樣本輸出y的第i個元素,hθ(xi)爲假設函數)。梯度降低就是爲了求出這個損失函數的最小值。

梯度降低算法

以線性迴歸爲例,code

假設函數hθ(x1,x2,...xn)=θ0+θ1x1+...+θnxn=θi(i = 0,1,2... n)爲模型參數,xi(i = 0,1,2... n)爲每一個樣本的n個特徵值, 令x0=1。rem

損失函數get

初始化參數(能夠將步長初始化爲1,其餘參數初始化爲0)後求J關於θi的偏導數獲得梯度,用步長(隨着梯度降低會減少)乘梯度獲得降低的距離,重複直到降低的距離小於某一個閾值,此時的參數就是最優參數。

Batch Gradient Descent(批量梯度降低)

在更新參數時使用全部的樣原本進行更新,使用BGD迭代次數較少,能夠較容易地求得全局最優解,可是當樣本數量不少時訓練的時間會很長。

ꭤ爲步長

收斂曲線

Stochastic Gradient Descent(隨機梯度降低)

隨機梯度降低是經過每一個樣原本迭代更新一次,所以SGD並非每次迭代都向着總體最優化方向,獲得的也不必定是全局最優解。可是SGD訓練速度較快,適合樣本數量不少的狀況。

收斂曲線

Mini-batch Gradient Descent(小批量梯度降低法)

MBGD在每次更新參數時使用b個樣本, 綜合了BGD和SGD的優勢。

與其餘無約束優化算法比較

和最小二乘法相比

梯度降低法須要選擇步長,而最小二乘法不須要。梯度降低法是迭代求解,最小二乘法是計算解析解。若是樣本量不算很大,且存在解析解,最小二乘法比起梯度降低法要有優點,計算速度很快。可是若是樣本量很大,用最小二乘法因爲須要求一個超級大的逆矩陣,這時就很難或者很慢才能求解解析解了,使用迭代的梯度降低法比較有優點。

和牛頓法/擬牛頓法相比

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

其餘問題

  • 怎麼取ꭤ值?

    隨時觀察值,若是cost function變小了,則正常。不然則再取一個更小的值;若是Learning rate取值後發現J function 增加了,則須要減少Learning rate的值;
相關文章
相關標籤/搜索