<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/the-model-performance-mismatch-problem/](https://machinelearningmastery.com/the-model-performance-mismatch-problem/) #### 如果模型測試結果比訓練更糟,該怎么辦 評估機器學習模型時的過程是在訓練數據上擬合和評估它們,然后驗證模型在保留的測試數據集上具有良好的技能。 通常,在評估訓練數據集上的模型時,您將獲得非常有前途的表現,并且在評估測試集上的模型時表現較差。 在這篇文章中,您將發現遇到此常見問題時需要考慮的技巧和問題。 閱讀這篇文章后,你會知道: * 評估機器學習算法時可能出現的模型表現不匹配問題。 * 過度擬合,代表性不足的數據樣本和隨機算法的原因。 * 如何加強你的測試設備,以避免問題。 這篇文章是基于一個讀者問題;謝謝!保持問題的到來! 讓我們開始吧。 ![The Model Performance Mismatch Problem (and what to do about it)](https://img.kancloud.cn/68/b3/68b3e275ecac4bc225d40daa2ea3b7cf_640x427.jpg) 模型表現不匹配問題(以及如何處理) [Arapaoa Moffat](https://www.flickr.com/photos/arapaoaphotography/33705234080/) 的照片,保留一些權利。 ## 概觀 這篇文章分為4部分;他們是: 1. 模型評估 2. 模型表現不匹配 3. 可能的原因和補救措施 4. 更強大的測試工具 ## 模型評估 在為預測建模問題開發模型時,您需要一個測試工具。 測試工具定義了如何使用域中的數據樣本來評估和比較預測建模問題的候選模型。 構建測試工具的方法有很多種,而且沒有一種方法可以用于所有項目。 一種流行的方法是使用一部分數據來擬合和調整模型,以及一部分用于在樣本外數據上提供調整模型的技能的客觀估計。 數據樣本分為訓練和測試數據集。使用諸如k折交叉驗證的重采樣方法在訓練數據集上評估模型,并且可以將集合本身??進一步劃分為用于調整模型的超參數的驗證數據集。 測試集被阻止并用于評估和比較調諧模型。 有關訓練,驗證和測試集的更多信息,請參閱帖子: * [測試和驗證數據集有什么區別?](https://machinelearningmastery.com/difference-test-validation-datasets/) ## 模型表現不匹配 通過使用訓練數據集,重采樣方法將為您提供模型對未見數據的技能估計。 測試數據集提供了第二個數據點,理想情況下是模型預期執行情況的客觀概念,證實了估計的模型技能。 如果訓練數據集上的模型技能估計與測試數據集上的模型技能不匹配,該怎么辦? 分數一般不匹配。我們確實期待一些差異,因為在超參數調整的情況下,訓練數據集的一些小的過度擬合是不可避免的,這使得訓練分數變得樂觀。 但如果差異令人擔憂地大呢? * 你信任哪個分數? * 你還可以使用測試數據集比較模型嗎? * 模型調整過程是否失效? 在應用機器學習中這是一個具有挑戰性且非常普遍的情況。 我們可以將此問題稱為“_模型表現不匹配_”問題。 **注意**:模型表現中“_大差異_”的想法與您選擇的表現指標,數據集和模型有關。我們不能客觀地談論一般的差異,只能說出你必須解釋的相對差異。 ## 可能的原因和補救措施 模型表現不匹配問題有很多可能的原因。 最終,您的目標是擁有一個您知道的測試工具,可以讓您就哪個模型和模型配置作為最終模型做出正確的決策。 在本節中,我們將介紹可用于調查問題的一些可能原因,診斷和技術。 讓我們看看三個主要方面:模型過度擬合,數據樣本的質量,以及學習算法的隨機性。 ### 1.模型過度擬合 也許最常見的原因是你過度訓練訓練數據。 您已經找到了一個模型,一組模型超參數,一個數據視圖,或這些元素的組合等等,恰好可以對訓練數據集進行良好的技能評估。 使用k折交叉驗證在某種程度上有所幫助。使用具有單獨數據集的調整模型也會有所幫助。然而,可以在訓練數據集上繼續推進和過度擬合。 如果是這種情況,測試技能可能更能代表所選模型和配置的真實技能。 診斷您是否過度訓練訓練數據集的一種簡單(但不容易)的方法是獲得關于模型技能的另一個數據點。在另一組數據上評估所選模型。例如,要嘗試的一些想法包括: * 嘗試在測試數據集上對模型進行k折交叉驗證評估。 * 嘗試在訓練數據集上擬合模型,并對測試和新數據樣本進行評估。 如果你過度適合,你可以選擇。 * 也許您可以廢棄當前的訓練數據集并收集新的訓練數據集。 * 也許你可以用更軟的方法將樣本重新分成訓練/測試,以獲得新的訓練數據集。 我建議您迄今為止獲得的結果是可疑的,應該重新考慮。特別是你可能花了太長時間調整的那些。 過度擬合可能是模型分數差異的最終原因,盡管它可能不是首先攻擊的區域。 ### 2.不具代表性的數據樣本 您的訓練或測試數據集可能是來自域的不具代表性的數據樣本。 這意味著樣本量太小或樣本中的示例沒有有效地“覆蓋”在更廣泛的領域中觀察到的情況。 如果您看到嘈雜的模型表現結果,這可以很明顯地發現。例如: * 交叉驗證分數差異很大。 * 測試數據集上類似模型類型的大差異。 此外,您將看到訓練和考試成績之間的差異。 另一個好的第二個測試是檢查訓練和測試集上每個變量的匯總統計數據,最好是交叉驗證折疊。您正在尋找樣本均值和標準差的較大差異。 補救措施通常是從域中獲取更大,更具代表性的數據樣本。或者,在準備數據樣本和分割時使用更多區別的方法。考慮分層k折交叉驗證,但應用于輸入變量,以試圖除了分類變量的分布之外,還保持實值變量的總體均值和標準差。 通常,當我看到過度擬合項目時,這是因為測試工具不像應該的那樣健壯,而不是因為攀爬測試數據集。 ### 3.隨機算法 由于算法的隨機性,您可能會看到模型分數的差異。 許多機器學習算法涉及隨機分量。例如,神經網絡中的隨機初始權重,數據的混亂以及隨機梯度下降中的梯度更新等等。 這意味著,每次在相同數據上運行相同算法時,使用不同的隨機數序列,并且反過來,將產生具有不同技能的不同模型。 您可以在帖子中了解更多相關信息: * [在機器學習中擁抱隨機性](https://machinelearningmastery.com/randomness-in-machine-learning/) 這個問題可以通過交叉驗證的模型技能得分的變化來看出,就像擁有一個不具代表性的數據樣本一樣。 這里的不同之處在于可以通過重復模型評估過程來清除方差,例如,交叉驗證,以控制訓練模型的隨機性。 這通常被稱為多次重復k次交叉驗證,并且在資源允許時用于神經網絡和隨機優化算法。 我有更多關于評估帖子中模型的方法: * [如何評估深度學習模型的技巧](https://machinelearningmastery.com/evaluate-skill-deep-learning-models/) ## 更強大的測試工具 通過設計一個強大的測試工具然后收集證據來證明您的測試工具確實是健壯的,可以盡早解決許多這些問題。 這可能包括在開始評估真實模型之前運行實驗。實驗如下: * 訓練/測試分裂的靈敏度分析。 * 交叉驗證的k值靈敏度分析。 * 對給定模型行為的敏感性分析。 * 對重復次數的敏感性分析。 在最后一點,請看帖子: * [估計隨機機器學習算法的實驗重復次數](https://machinelearningmastery.com/estimate-number-experiment-repeats-stochastic-machine-learning-algorithms/) 您正在尋找: * 交叉驗證中測試之間評估得分的低方差和一致均值。 * 相關人口是指訓練和測試集之間的模型得分。 如果需要,使用標準錯誤和顯著性測試等統計工具。 使用現代且未經調整的模型,該模型在此類測試中表現良好,例如隨機森林。 * 如果你發現訓練和測試集之間技能分數的差異,并且它是一致的,那可能沒問題。你知道會發生什么。 * 如果您在給定測試中測量平均技能分數的方差,則可以使用誤差線來解釋結果。 我甚至會說沒有強大的測試工具,你實現的結果將是一團糟。你將無法有效地解釋它們。在脆弱的測試工具的結果介紹中,將存在風險因素(或欺詐,如果您是學術人員)。并且再現性/穩健性是應用機器學習等數值領域中的一個大問題。 最后,避免過多使用測試數據集。一旦您有充分的證據表明您的線束是健壯的,請不要觸摸測試數據集,直到最終模型選擇。 ## 進一步閱讀 如果您希望深入了解,本節將提供有關該主題的更多資源。 * [測試和驗證數據集有什么區別?](https://machinelearningmastery.com/difference-test-validation-datasets/) * [在機器學習中擁抱隨機性](https://machinelearningmastery.com/randomness-in-machine-learning/) * [估計隨機機器學習算法的實驗重復次數](https://machinelearningmastery.com/estimate-number-experiment-repeats-stochastic-machine-learning-algorithms/) * [如何評估深度學習模型的技巧](https://machinelearningmastery.com/evaluate-skill-deep-learning-models/) ## 摘要 在這篇文章中,您發現了模型表現不匹配問題,其中模型表現在訓練和測試集之間差別很大,以及診斷和解決問題的技術。 具體來說,你學到了: * 評估機器學習算法時可能出現的模型表現不匹配問題。 * 過度擬合,代表性不足的數據樣本和隨機算法的原因。 * 如何加強你的測試設備,以避免問題。 你有任何問題嗎? 在下面的評論中提出您的問題,我會盡力回答。
                  <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>

                              哎呀哎呀视频在线观看