感謝:
最優化問題是機器學習演算法中非常重要的一部分,幾乎每乙個機器學習演算法的核心都是在處理最優化問題。
本文中我講介紹一些機器學習領域中常用的且非常掌握的最優化演算法,看完本篇文章後你將會明白:
讓我們開始吧!
梯度下降法
梯度下降法是乙個用於尋找最小化成本函式的引數值的最優化演算法。當我們無法通過分析計算(比如線性代數運算)求得函式的最優解時,我們可以利用梯度下降法來求解該問題。
梯度下降法的直覺體驗
想象乙個你經常用來吃穀物或儲存受過的大碗,成本函式的形狀類似於這個碗的造型。
碗表面上的任一隨機位置表示當前係數對應的成本值,碗的底部則表示最優解集對應的成本函式值。梯度下降法的目標就是不斷地嘗試不同的系數值,然後評估成本函式並選擇能夠降低成本函式的引數值。重複迭代計算上述步驟直到收斂,我們就能獲得最小成本函式值對應的最優解。
梯度下降法的過程
梯度下降法首先需要設定乙個初始引數值,通常情況下我們將初值設為零(coefficient=0coefficient=0),接下來需要計算成本函式 cost=f(coefficient)cost=f(coefficient) 或者 cost=evaluate(f(coefficient))cost=evaluate(f(coefficient))。然後我們需要計算函式的導數(導數是微積分的乙個概念,它是指函式中某個點處的斜率值),並設定學習效率引數(alpha)的值。
coefficient=coefficient−(alpha∗delta)
coefficient=coefficient−(alpha∗delta)
重複執行上述過程,直到引數值收斂,這樣我們就能獲得函式的最優解。
你可以看出梯度下降法的思路多麼簡單,你只需知道成本函式的梯度值或者需要優化的函式情況即可。接下來我將介紹如何將梯度下降法運用到機器學習領域中。
批量梯度下降法
所有的有監督機器學習演算法的目標都是利用已知的自變數(x)資料來**因變數(y)的值。所有的分類和回歸模型都是在處理這個問題。
機器學習演算法會利用某個統計量來刻畫目標函式的擬合情況。雖然不同的演算法擁有不同的目標函式表示方法和不同的系數值,但是它們擁有乙個共同的目標——即通過最優化目標函式來獲取最佳引數值。
線性回歸模型和邏輯斯蒂回歸模型是利用梯度下降法來尋找最佳引數值的經典案例。
我們可以利用多種衡量方法來評估機器學習模型對目標函式的擬合情況。成本函式法是通過計算每個訓練集的**值和真實值之間的差異程度(比如殘差平方和)來度量模型的擬合情況。
我們可以計算成本函式中每個引數所對應的導數值,然後通過上述的更新方程進行迭代計算。
在梯度下降法的每一步迭代計算後,我們都需要計算成本函式及其導數的情況。每一次的迭代計算過程就被稱為一批次,因此這個形式的梯度下降法也被稱為批量梯度下降法。
批量梯度下降法是機器學習領域中常見的一種梯度下降方法。
隨機梯度下降法
處理大規模的資料時,梯度下降法的運算效率非常低。
因為梯度下降法在每次迭代過程中都需要計算訓練集的**情況,所以當資料量非常大時需要耗費較長的時間。
當你處理大規模的資料時,你可以利用隨機梯度下降法來提高計算效率。
該演算法與上述梯度下降法的不同之處在於它對每個隨機訓練樣本都執行係數更新過程,而不是在每批樣本運算完後才執行係數更新過程。
隨機梯度下降法的第乙個步驟要求訓練集的樣本是隨機排序的,這是為了打亂係數的更新過程。因為我們將在每次訓練例項結束後更新系數值,所以系數值和成本函式值將會出現隨機跳躍的情況。通過打亂係數更新過程的順序,我們可以利用這個隨機遊走的性質來避免模型不收斂的問題。
除了成本函式的計算方式不一致外,隨機梯度下降法的係數更新過程和上述的梯度下降法一模一樣。
對於大規模資料來說,隨機梯度下降法的收斂速度明顯高於其他演算法,通常情況下你只需要乙個小的迭代次數就能得到乙個相對較優的擬合引數。
梯度下降法的一些建議
本節列出了幾個可以幫助你更好地掌握機器學習中梯度下降演算法的技巧: 總結
本文主要介紹了機器學習中的梯度下降法,通過閱讀本文,你了解到:
機器學習之梯度下降法 梯度下降法分析
梯度下降法的基本思想是函式沿著其梯度方向增加最快,反之,沿著其梯度反方向減小最快。在前面的線性回歸和邏輯回歸中,都採用了梯度下降法來求解。梯度下降的迭代公式為 j j j j 在回歸演算法的實驗中,梯度下降的步長 為0.01,當時也指出了該步長是通過多次時間找到的,且換一組資料後,演算法可能不收斂。...
機器學習 梯度下降法
梯度下降法,一般用來求解線性回歸方程,我的理解是根據一組形如 特徵1,特徵2.結果 的資料來找到這些對應的特徵和結果之間的聯絡 例如,我們利用一組 銷量的資料判斷乙個物品的銷量和 之間的關係 我們要求的線性回歸方程可以表示為 銷量 引數 實質上其實就是找到對應的 引數 而當影響乙個結果的特徵不只有乙...
機器學習 梯度下降法
1 梯度下降法的邏輯思路 的取值影響獲得最優解的速度 取值不合適,甚至得不到最優解 是梯度下降法的乙個超引數 一般需要調參找到最適合的 太小,減慢收斂學習速度 太大,導致不收斂 2 梯度下降法的問題 3 其它1 具體實現 模擬損失函式 y x 2.5 2 1 資料集特徵值 plot x np.lin...