<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 神經網絡中批量和迭代之間的區別是什么? > 原文: [https://machinelearningmastery.com/difference-between-a-batch-and-an-epoch/](https://machinelearningmastery.com/difference-between-a-batch-and-an-epoch/) 隨機梯度下降是一種學習算法,具有許多超參數。 兩個經常讓初學者感到困惑的超參數是批次和迭代次數。它們都是整數值,似乎做同樣的事情。 在這篇文章中,您將了解隨機梯度下降中批次和迭代次數之間的差異。 閱讀這篇文章后,你會知道: * 隨機梯度下降是一種迭代學習算法,它使用訓練數據集來更新模型。 * 批量尺寸是梯度下降的超參數,用來控制在模型的內部參數更新之前訓練樣本的數量。 * 迭代次數是梯度下降的超參數,用來控制完成對訓練數據集進行完整訓練的循環次數。 讓我們開始吧。 ![What is the Difference Between a Batch and an Epoch in a Neural Network?](https://img.kancloud.cn/b6/d0/b6d05b172ffa7fd179e97054f9aa6fe3_640x346.png) 神經網絡中批量和迭代之間的區別是什么? [Graham Cook](https://www.flickr.com/photos/grazza123/9754438586/) 的照片,保留一些權利。 ## 概述 這篇文章分為五個部分;他們是: 1. 隨機梯度下降 2. 什么是樣品? 3. 什么是批次? 4. 什么是迭代次數? 5. Batch 和 Epoch 有什么區別? ## 隨機梯度下降 隨機梯度下降(Stochastic Gradient Descent,簡稱 SGD)是一種用于訓練機器學習算法的優化算法,最常使用在深度學習中的人工神經網絡。 該算法的作用是找到一組內部模型參數,這些參數的運用使得模型的衡量指標很優秀,例如對數損失或均方誤差。 優化是一種搜索過程,您可以將此搜索視為學習。優化算法稱為“_ 梯度下降 _”,其中“_ 梯度 _”是指誤差梯度或誤差斜率的計算,“下降”是指沿著該斜率向下移動朝著某種最低程度的錯誤。 該算法是迭代的。這意味著搜索過程發生在多個不連續的步驟上,每個步驟都希望略微改進模型參數。 每個步驟都涉及將模型與當前內部參數集一起使用,以對某些樣本進行預測,將預測結果與實際的進行比較,計算誤差,并使用誤差更新內部模型參數。 該更新過程對于不同的算法是不同的,但是在人工神經網絡的情況下,使用[反向傳播](https://en.wikipedia.org/wiki/Backpropagation)更新算法。 在我們深入研究批次和時代之前,讓我們來看看樣本的含義。 了解有關梯度下降的更多信息: * [機器學習的梯度下降](https://machinelearningmastery.com/gradient-descent-for-machine-learning/) ## 什么是樣品? 樣本是單行數據。 它包含輸入算法的輸入和用于與預測進行比較并計算錯誤的輸出。 訓練數據集由許多行數據組成,例如,很多樣品。樣本也可以稱為實例,觀測值,輸入向量或特征向量。 現在我們知道了樣本是什么,再讓我們定義一個批次。 ## 什么是批次? 批量大小是一個超參數,用于定義在更新內部模型參數之前要處理的樣本數。 將批量視為對一個或多個樣本進行迭代并進行預測的循環。在批量結束時,將預測與預期輸出變量進行比較,并計算誤差。從該錯誤中,更新算法用于改進模型,例如,沿誤差梯度向下移動。 訓練數據集可以分為一個或多個批次。 當所有訓練樣本用于創建一個批次時,學習算法稱為批量梯度下降。當批量是一個樣本的大小時,學習算法稱為隨機梯度下降。當批量大小超過一個樣本且小于訓練數據集的大小時,學習算法稱為小批量梯度下降。 * **批量梯度下降**。批量大小=訓練集的大小 * **隨機梯度下降**。批量大小= 1 * **小批量梯度下降** 。 1&lt;批量大小&lt;訓練集的大小 在小批量梯度下降的情況下,常用的批量大小包括 32,64 和 128 個樣本。您可能會在文獻和教程中看到這些值經常在模型中使用。 **如果數據集不能按批量大小均勻分配怎么辦?** 在訓練模型時,這可能并且確實經常發生。它只是意味著最終批次的樣品數量少于其他批次。 或者,您可以從數據集中刪除一些樣本或更改批量大小,以便數據集中的樣本數按批次大小均勻劃分。 有關這些梯度下降變化之間差異的更多信息,請參閱帖子: * [微量批量梯度下降的簡要介紹以及如何配置批量大小](https://machinelearningmastery.com/gentle-introduction-mini-batch-gradient-descent-configure-batch-size/) 批量涉及使用樣本更新模型;接下來,讓我們來看一個迭代周期。 ## 什么是迭代周期? 周期數是一個超參數,它定義了學習算法在整個訓練數據集中的工作次數。 一個完整的周期意味著訓練數據集中的每個樣本都有機會更新內部模型參數。一個周期由一個或多個批次組成。例如,如上所述,具有一批的時期稱為批量梯度下降學習算法。 您可以考慮在進行的迭代周期個 for 循環,每次循環中都會遍歷訓練集樣本。在這個 for 循環中是另一個嵌套的 for 循環,它遍歷每批樣本,其中一個批次具有指定的“批量大小”樣本數。 迭代的數量傳統上很大,通常是數百或數千,允許學習算法運行直到模型的誤差被充分最小化。您可能會看到文獻和教程設置為 10,100,500,1000 和更大的時期數量的示例。 通常創建線圖:在 x 軸上顯示的是迭代周期數,在 y 軸上顯示的是模型的誤差或評估能力。這些圖有時稱為學習曲線。這些圖可以幫助診斷模型是否已經過度學習,學習不足或是否適合訓練數據集。 有關使用 LSTM 網絡學習曲線的診斷信息,請參閱帖子: * [如何診斷 LSTM 模型的過度擬合和欠擬合](https://machinelearningmastery.com/diagnose-overfitting-underfitting-lstm-models/) 如果仍然不清楚,讓我們看看批次和時代之間的差異。 ## Batch 和 Epoch 有什么區別? 批量大小是在更新模型之前處理的多個樣本的個數。 迭代次數是對訓練數據集的進行完整訓練的循環次數。 批量的大小必須大于或等于 1 且小于或等于訓練數據集中的樣本數。 迭代次數可以設置為 1 和無窮大之間的整數值。您可以根據需要設定運行算法的次數,甚至可以使用除固定數量的迭代之外的其他標準來停止算法,例如模型錯誤隨時間的變化(或缺少更改)。 它們都是整數值,并且它們都是學習算法的超參數,例如,學習過程的參數,而不是學習過程中找到的內部模型參數。 您必須為學習算法指定批次大小和迭代數。 如何配置這些參數沒有固定的規則。您必須嘗試不同的值,看看哪種方法最適合您的問題。 ### 工作示例 最后,讓我們用一個小例子來具體化這些概念。 假設您有一個包含 200 個樣本(數據行)的數據集,并且您選擇的批量大小為 5 和 1,000 次迭代。 這意味著數據集將分為 40 個批次,每個批次有 5 個樣本。對每批樣本訓練后,模型權重將更新。 這也意味著一次迭代將涉及 40 個批次或 40 個模型更新。 1000 次迭代意味著模型將傳遞整個數據集 1,000 次。則在整個訓練過程中總共有 40,000 批次。 ## 進一步閱讀 如果您希望深入了解,本節將提供有關該主題的更多資源。 * [機器學習的梯度下降](https://machinelearningmastery.com/gradient-descent-for-machine-learning/) * [微量批量梯度下降的簡要介紹以及如何配置批量大小](https://machinelearningmastery.com/gentle-introduction-mini-batch-gradient-descent-configure-batch-size/) * [如何診斷 LSTM 模型的過度擬合和欠擬合](https://machinelearningmastery.com/diagnose-overfitting-underfitting-lstm-models/) * [維基百科上的隨機梯度下降](https://en.wikipedia.org/wiki/Stochastic_gradient_descent) * [維基百科上的反向傳播](https://en.wikipedia.org/wiki/Backpropagation) ## 總結 在這篇文章中,您發現了隨機梯度下降中批次和迭代次數之間的差異。 具體來說,你學到了: * 隨機梯度下降是一種迭代學習算法,它使用訓練數據集來更新模型。 * 批量大小是梯度下降的超參數,在模型的內部參數更新之前控制訓練樣本的數量。 * 時期數是梯度下降的超參數表示訓練整個數據集的次數。 你有任何問題嗎? 在下面的評論中提出您的問題,我會盡力回答。
                  <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>

                              哎呀哎呀视频在线观看