<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 機器學習的梯度下降 > 原文: [https://machinelearningmastery.com/gradient-descent-for-machine-learning/](https://machinelearningmastery.com/gradient-descent-for-machine-learning/) 優化是機器學習的重要組成部分。幾乎每種機器學習算法都有一個優化算法。 在這篇文章中,您將發現一個簡單的優化算法,您可以將其與任何機器學習算法一起使用。它易于理解且易于實施。閱讀這篇文章后你會知道: * 什么是梯度下降? * 如何在線性回歸等算法中使用梯度下降? * 梯度下降如何擴展到非常大的數據集? * 從梯度下降中獲得最大收益的一些技巧是什么? 讓我們開始吧。 ![Gradient Descent For Machine Learning](img/e7e5f9d79ca5ef4c851099f4ba67aebe.jpg) 機器學習的梯度下降 照片由[大峽谷國家公園](https://www.flickr.com/photos/grand_canyon_nps/7417904696/),保留一些權利。 ## 梯度下降 梯度下降是用于找到函數(f)的參數(系數)的值的優化算法,其最小化成本函數(成本)。 當無法通過分析計算參數(例如,使用線性代數)時,最好使用梯度下降,并且必須通過優化算法進行搜索。 ### 梯度下降的直覺 想象一個大碗,就像你吃谷物或儲存水果一樣。這個碗是成本函數(f)的圖。 ![Large Bowl](img/11508080f4f62208079a8119119dced4.jpg) 大碗 攝影: [William Warby](https://www.flickr.com/photos/wwarby/4046737583/) ,保留一些權利。 碗表面上的隨機位置是系數(成本)的當前值的成本。 碗的底部是最佳系數集的成本,即函數的最小值。 目標是繼續嘗試不同的系數值,評估其成本并選擇具有稍好(較低)成本的新系數。 重復此過程足夠的時間將導致碗的底部,您將知道導致最低成本的系數值。 ## 獲取免費算法思維導圖 ![Machine Learning Algorithms Mind Map](img/2ce1275c2a1cac30a9f4eea6edd42d61.jpg) 方便的機器學習算法思維導圖的樣本。 我已經創建了一個由類型組織的60多種算法的方便思維導圖。 下載,打印并使用它。 ### 梯度下降程序 該過程從系數的初始值或函數的系數開始。這些可以是0.0或小的隨機值。 系數= 0.0 通過將系數插入函數并計算成本來評估系數的成本。 成本= f(系數) 要么 成本=評估(f(系數)) 計算成本的導數。導數是來自微積分的概念,指的是給定點處函數的斜率。我們需要知道斜率,以便我們知道移動系數值的方向(符號),以便在下一次迭代中獲得更低的成本。 delta =衍生物(成本) 現在我們從導數中知道哪個方向是下坡,我們現在可以更新系數值。必須指定學習率參數(alpha),以控制系數在每次更新時可以更改的程度。 系數=系數 - (alpha * delta) 重復該過程,直到系數(成本)的成本為0.0或足夠接近零以使其足夠好。 你可以看到梯度下降是多么簡單。它確實需要您了解成本函數的梯度或您正在優化的函數,但除此之外,它非常簡單。接下來我們將看到如何在機器學習算法中使用它。 ## 機器學習的批量梯度下降 所有監督機器學習算法的目標是最佳地估計將輸入數據(X)映射到輸出變量(Y)的目標函數(f)。這描述了所有分類和回歸問題。 一些機器學習算法具有表征目標函數(f)的算法估計的系數。不同的算法具有不同的表示和不同的系數,但是其中許多算法需要優化過程以找到導致目標函數的最佳估計的系數集。 具有可以使用梯度下降優化的系數的算法的常見示例是線性回歸和邏輯回歸。 可以通過多種不同的方式來計算機器學習模型擬合估計目標函數的接近程度的評估,這些方式通常特定于機器學習算法。成本函數涉及通過計算數據集中每個訓練實例的模型預測并將預測與實際輸出值進行比較并計算總和或平均誤差(例如平方殘差之和)來評估機器學習模型中的系數。或線性回歸情況下的SSR)。 根據成本函數,可以為每個系數計算導數,以便可以使用上述更新方程更新它。 對于梯度下降算法的每次迭代,針對整個訓練數據集的機器學習算法計算成本。算法的一次迭代稱為一批,這種梯度下降形式稱為批量梯度下降。 批量梯度下降是機器學習中描述的最常見的梯度下降形式。 ## 機器學習的隨機梯度下降 在非常大的數據集上運行時,梯度下降可能會很慢。 因為梯度下降算法的一次迭代需要對訓練數據集中的每個實例進行預測,所以當您有數百萬個實例時可能需要很長時間。 在有大量數據的情況下,您可以使用稱為隨機梯度下降的梯度下降變化。 在該變型中,運行上述梯度下降過程,但是對于每個訓練實例而不是在該批實例的末尾執行對系數的更新。 該過程的第一步要求訓練數據集的順序是隨機的。這是為了混淆對系數進行更新的順序。因為系數在每個訓練實例之后被更新,所以更新將在整個地方嘈雜地跳躍,并且相應的成本函數也是如此。通過混合更新系數的順序,它利用這種隨機游走并避免它分心或卡住。 系數的更新過程與上述相同,除了成本不是對所有訓練模式求和,而是針對一個訓練模式計算。 對于非常大的訓練數據集,隨機梯度下降可以更快地學習,并且通常只需要通過數據集的少量傳遞來達到良好或足夠好的系數集,例如, 1到10次通過數據集。 ## 梯度下降的提示 本節列出了一些提示和技巧,可以充分利用梯度下降算法進行機器學習。 * **繪圖成本與時間**:收集并繪制每次迭代算法計算的成本值。對表現良好的梯度下降運行的期望是每次迭代的成本降低。如果沒有減少,請嘗試降低學習率。 * **學習率**:學習率值是一個小的實際值,如0.1,0.001或0.0001。為您的問題嘗試不同的值,看看哪個效果最好。 * **重新定標輸入**:如果成本函數的形狀沒有偏斜和扭曲,算法將更快地達到最低成本。您可以通過將所有輸入變量(X)重新調整到相同的范圍來實現此目的,例如[0,1]或[-1,1]。 * **幾次通過**:隨機梯度下降通常不需要超過1到10次通過訓練數據集就可以收斂到足夠好或足夠好的系數。 * **Plot Mean Cost** :當使用隨機梯度下降時,每個訓練數據集實例的更新可能導致成本隨時間的噪聲圖。平均超過10,100或1000次更新可以讓您更好地了解算法的學習趨勢。 ## 摘要 在這篇文章中,您發現了機器學習的梯度下降。你了解到: * 優化是機器學習的重要組成部分。 * 梯度下降是一個簡單的優化過程,可以與許多機器學習算法一起使用。 * 批量梯度下降是指在計算更新之前計算來自所有訓練數據的導數。 * 隨機梯度下降是指計算每個訓練數據實例的導數并立即計算更新。 您對機器學習或此帖的梯度下降有任何疑問嗎?發表評論并提出您的問題,我會盡力回答。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看