梯度下降背後的數學原理幾何?

AIBigbull2050發表於2019-12-16

對於諸位“機器學習兒”而言,梯度下降這個概念一定不陌生,然而從直觀上來看,梯度下降的複雜性無疑也會讓人“敬而遠之”。本文作者 Suraj Bansal 透過對梯度下降背後的數學原理進行拆解,並配之以簡單的現實案例,以輕鬆而有趣的口吻帶大家深入瞭解梯度下降這一在機器學習領域至關重要的方法。

梯度下降背後的數學原理幾何?

敏捷軟體開發定義了迭代產品開發的過程,以下步驟可透過這一過程執行。

  • 1)市場調查後進行產品構建

  • 2)產品商業化並進入市場

  • 3)評估消費者滿意度和市場滲透率

  • 4)對反饋及時回應,並更新迭代產品

  • 5)重複上述過程

這個過程實質上是將市場測試、 收集反饋和產品迭代反覆進行,直到能以最小的誤差實現最大的市場滲透率。此迴圈重複多次,並確保消費者可以在每個步驟中提供一定的反饋來影響產品的更改策略。

實際上,這種看似簡單的反覆迭代過程很好地體現在梯度下降原理 中。梯度下降能夠透過首先計算出成本函式的梯度、然後更新梯度對應的現有引數從而最小化成本函式來處理。

梯度將具有眾多變數的函式轉換為一個向量,稍後我們將對該話題進行討論。

梯度下降背後的數學原理幾何?

WOAHHHHHHHHHH......就此打住——這看起來太複雜啦!

你也許會對這張圖片感到驚訝,但實際上你完全不用擔心。

瞭解梯度下降 背後的多元演算聽起來可能會讓人十分畏懼,別怕,下面我將對梯度下降背後的原理做出解釋並且僅跟大家探討理解梯度下降所需的數學概念。

在此之前,我強烈建議你們 檢視我此前寫的一篇關於機器學習的文章或影片先對基礎知識進行復習!

  • 文章連結:

  • 影片連結:

一、梯度下降變體:不止一個

梯度下降採用機器學習演算法實現了三種主要的變體,每個變體在計算效率上各異並且都具有各自獨特的優勢。

1、第一種變體:批次梯度下降

批次梯度下降(Batch Gradient Descent)可以說是梯度下降變體中最簡單的一種。這整個過程可以看作是訓練迭代的次數(Epoch),即以決定訓練用來更新模型權重的向量的次數。

批次梯度下降的誤差透過訓練集每一批單獨的樣本計算出來,並且在所有訓練點數都在一個 Epoch 內經過機器學習演算法的訓練後更新模型引數。

更多相關資訊可參考下面這篇文章(文中為大家推薦了五本機器學習相關的書籍):

該方法的誤差梯度和收斂速度較為穩定,可以實現足夠水平的計算效率。但是,由於該模型僅在分析了整個訓練集之後才對權重進行迭代,此時的收斂狀態可能不是最優的狀態,事實上,該模型還可以最佳化以達到更精確的結果!

梯度下降背後的數學原理幾何?

2、第二種變體:隨機梯度下降

下面進入……隨機梯度下降!這兩種方法之間的根本區別在於,隨機梯度下降法隨機化了整個資料集並對每個單獨的訓練樣本進行權重和引數的更新,而批次梯度下降是在分析了整個訓練集之後對引數進行更新。

對模型連續更新可以提供更高的準確率和更快的計算速度。但是,頻繁的更改會產生更多的梯度噪聲,這意味著它會在誤差最小值區域(成本函式最低的點)內來回振盪。因此,每次執行測試都會存在一些差異。

梯度下降背後的數學原理幾何?

好的,這兩種方法都有一些明顯的優缺點,那麼到底哪種方法更適合你的機器學習模型?這也不是什麼很難的問題——都不是!

3、第三種變體:迷你批次梯度下降

再接下來進入……迷你批次梯度下降!它基本上結合了批次梯度下降的效率和隨機梯度下降的整體魯棒性。

該方法透過將資料集聚類為更小的批次(通常在30–500個訓練點數之間),並且模型對每個單獨批次執行迭代。它透過使用高度最佳化的矩陣來提高效率和準確性,這有效減小了引數更新的方差。

梯度下降背後的數學原理幾何?

所有梯度下降變體都將使用以下公式進行建模。每當模型進行反向傳播後,都會執行此迭代,直到成本函式達到其收斂點為止。

梯度下降背後的數學原理幾何?

權重向量存在於 x-y 平面中,將對應每個權重的損失函式的梯度與學習率相乘,然後用向量減去二者的乘積。

偏導數是用於更新引數 θ0、θ1和alpha(學習率)的梯度,而alpha是需要使用者自己給定的非常重要的超引數。M 代表更新的次數,i 代表梯度更新的起始點。

二、涉及到的一些數學概念

1、偏導數

我們知道一個多變數函式的偏導數,就是它關於其中一個變數的導數而保持其他變數恆定。但是該函式的整個求導過程是怎樣的呢?

首先,讓我們瞭解偏導數背後的數學原理。計算像 f(x,y)=x²* y 這樣的多變數函式的過程可以分解如下:

梯度下降背後的數學原理幾何?

好吧,我知道你此時在想什麼——導數本身已經很複雜很枯燥,為什麼還使用偏導數而不完全使用導數!

函式輸入由多個變數組成,因此,其中涉及的概念就是多變數演算。偏導數用於評估每個變數相對於其他變數作為常量時的變化情況。

2、梯度

梯度實質上輸出的是標量值多變數函式多維輸入的一維值。梯度表示圖形切線的斜率,該斜率指向函式最大增長率的方向。這個導數代表了成本函式的趨勢或斜率值。

本質上,任何給定函式 f 的梯度(通常用∇f表示)可以解釋為一個向量所有偏導數的集合。

梯度下降背後的數學原理幾何?

想象自己站在函式 f 以一定間隔排列的點(x0,y0…)之中。向量∇f(x0,y0…)將識別出使 f函式值增加的最快行進方向。有趣的是,梯度向量∇f(x0,yo…)也垂直於函式 f 的輪廓線!

是的,多變數函式計算絕對是令人生畏的。下面,我們來總結一下。

假設偏導數是具有 n 個偏導數的 n 次導數,這些偏導數可以將每個單獨的變數與其他看作常數的變數隔離開來。而梯度將每個偏導陣列合成一個向量。

3、學習率

梯度可以確定移動的方向。學習率將決定我們採取步長的大小。學習率本質上是一個超引數,它定義了神經網路中權重相對於損失梯度下降的調整幅度。

這個引數決定了我們朝著最佳權重移動的速度的快慢,同時將每個步長的成本函式最小化。高學習率可以在每一步中覆蓋更多的區域,但是可能會跳過成本函式的最小值;低學習率則需要花上很久的時間才能到達成本函式的最小值。

梯度下降背後的數學原理幾何?

下面我以我的小外甥和他對狗的喜愛為例,來對這兩種情況進行說明:

我們假設 Arnav 美夢成真:看到了25只漂亮的拉布拉多犬,並且它們都是黑色的。那自然而然地,Arnav 就會識別出這種一致的黑色,並將這種黑色關聯為他之後在辨認狗這種動物時要尋找的主要特徵。

梯度下降背後的數學原理幾何?

假設我突然給他看一條白色的狗,然後告訴他這是一隻狗,如果學習率低,他會繼續認為所有的狗都一定具備黑色的特徵,而這條白色的狗就是一條異常的狗。

如果學習率高,Arnav 就會轉而相信所有的狗都應該是白色的,並且任何跟他的新預想不一致的情況都會被視為錯誤,即便之前他看到過 25只黑色狗。

在理想的學習率下,Arnav 將意識到顏色不是對狗進行分類的主要屬性,他將繼續去發現狗的其他特徵。理想的學習速率無疑是最好的,因為它能夠在準確性和時間成本之間找到一個平衡點。

4、成本函式

成本函式可以衡量模型的效能,在神經網路訓練過程中,我們要確保將成本函式一直減小,直到達到最小值。

成本函式實質上是透過迴歸指標,例如平均絕對誤差和均方誤差,來量化預測值和期望值之間的總誤差。

5、平均絕對誤差

平均絕對誤差測量的是一組預測樣本中平均誤差的大小,而無需評估其方向或向量,可以透過以下公式進行建模。

梯度下降背後的數學原理幾何?

6、均方誤差

均方誤差可找到預測值與實際值之間平均差的平方。除了最後取值為平方而不是絕對值這一點以外,均方誤差與平均絕對誤差 MAE 的原理基本一致。其對於部分誤差值的度量標準不再是座標系內點之間的距離,而是找到由測量點之間的距離產生的形狀(通常為正方形)區域。

梯度下降背後的數學原理幾何?

7、梯度下降(再次介紹)

讓我們看這樣一個類比,以進一步瞭解梯度下降的直觀原理!

梯度下降背後的數學原理幾何?

想象一下,你站在珠穆朗瑪峰峰頂上,現在要完成通往山底的任務,這聽起來相當簡單且直觀對吧?

然而,(現在有一個你需要考慮的細節資訊是——你完全是一個盲人)這裡出現了一則你需要重新考慮的小資訊——你是盲人。

這無疑使得任務變得更加艱鉅,但目標也並非完全不可能實現。在你開始朝著更大傾斜度的方向移動前,你需要邁出一小步一小步。在你抵達山底之前,此方法需要進行無數次迭代以最終達到目的地。

這從本質上模仿了梯度下降的理念,在梯度下降中,模型透過後向傳播以最終到達山的最低點。

山脈類似於在空間中繪製的資料圖,行走的步長類似於學習率,感受地形陡峭程度就類似於演算法計算資料集引數的梯度。

若假設正確,選擇的方向會降低成本函式。山的底部代表了機器的權重的最佳值(成本函式已經被最小化)。

梯度下降背後的數學原理幾何?

梯度下降背後的數學原理幾何?

8、線性迴歸

對於那些不熟悉的變數,在所有統計模型學科中常常使用迴歸分析來研究多變數函式之間的關係以進行預測分析。

代表期望值和實驗值之間誤差的線稱為迴歸線,每個殘差值都可以透過與其方差與最佳擬合線連線的垂直線段描繪出來。

下面的公式將 x 表示為輸入的訓練資料(引數為單變數或單輸入變數),假設進行了監督學習,則 y 表示資料的標籤。

梯度下降背後的數學原理幾何?

讓我們透過以下示例對此做進一步瞭解。

Elon 在 salesx 擔任兼職市場總監,他收集了過去一年的促銷工作促銷活動的付款額與銷售額的資料,給未來銷售和促銷提供一些指導性建議。

Elon認為該資料應該是線性的,所以用散點圖的方式來呈現這些資訊,橫縱座標分別為新客戶數量和花費的成本。Elon構造了迴歸線,其目的是為了更好地理解和預測salesx將透過新的營銷理念獲得多少客戶。

9、多項式迴歸

線性迴歸可以很好地顯示資料集中兩個相關變數中存在的結構和趨勢。但是,考慮到線性函式的行為,而由於在非線性關係中依然可以清楚地表現出一定的相關性,它們無法將非線性的迴歸關係進行準確反映。

多項式迴歸能夠對 n 次方函式之間的關係進行建模,並且可以以低於線性迴歸的誤差函式值擬合某些資料集。

儘管多項式迴歸可以更好地擬合函式的曲率,並且可以最準確地表示兩個變數之間的關係,但它們對異常值極為敏感,那些異常值很容易造成資料偏離。

梯度下降背後的數學原理幾何?

梯度下降背後的數學原理幾何?

感謝閱讀我的文章,希望大家能學到更多有關梯度下降的知識, 以及如何將這些原理應用到機器學習和人工智慧中!

Via  






來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946223/viewspace-2668758/,如需轉載,請註明出處,否則將追究法律責任。

相關文章