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

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # 比較機器學習算法的統計顯著性檢驗 > 原文: [https://machinelearningmastery.com/statistical-significance-tests-for-comparing-machine-learning-algorithms/](https://machinelearningmastery.com/statistical-significance-tests-for-comparing-machine-learning-algorithms/) 比較機器學習方法和選擇最終模型是應用機器學習中的常見操作。 模型通常使用重新采樣方法進行評估,例如k折疊交叉驗證,從中計算并直接比較平均技能分數。雖然簡單,但這種方法可能會產生誤導,因為很難知道平均技能得分之間的差異是真實的還是統計僥幸的結果。 設計統計顯著性檢驗以解決該問題,并且假設它們是從相同分布中抽取而量化觀察技能分數樣本的可能性。如果拒絕這種假設或零假設,則表明技能分數的差異具有統計學意義。 雖然不是萬無一失,但統計假設檢驗可以提高您對解釋的信心以及在模型選擇過程中對結果的呈現。 在本教程中,您將發現選擇統計假設檢驗來比較機器學習模型的重要性和挑戰。 完成本教程后,您將了解: * 統計假設檢驗有助于比較機器學習模型和選擇最終模型。 * 統計假設檢驗的幼稚應用可能導致誤導性結果。 * 正確使用統計檢驗具有挑戰性,對于使用McNemar檢驗或5×2交叉驗證與修改后的配對Student t檢驗存在一些共識。 讓我們開始吧。 * **更新Oct / 2018** :添加了使用 [McNemar測試](https://machinelearningmastery.com/mcnemars-test-for-machine-learning/)的示例的鏈接。 ![Statistical Significance Tests for Comparing Machine Learning Algorithms](img/5416b82764f164702c545e65ebdd8329.jpg) 用于比較機器學習算法的統計顯著性檢驗 照片由[FotografíasdeJavier](https://www.flickr.com/photos/69487670@N04/6351929452/) 拍攝,保留一些權利。 ## 教程概述 本教程分為5個部分;他們是: 1. 模型選擇問題 2. 統計假設檢驗 3. 選擇假設檢驗的問題 4. 一些調查結果摘要 5. 建議 ## 模型選擇問題 應用機器學習的一個重要部分是模型選擇。 我們可以用最簡單的形式來描述: > 鑒于對數據集的兩種機器學習方法的評估,您選擇哪種模型? 您選擇具有最佳技能的模型。 也就是說,在對看不見的數據進行預測時估計技能的模型是最佳的。在分類和回歸問題的情況下,這可能分別是最大準確度或最小誤差。 選擇具有最佳技能的模型的挑戰在于確定您可以信任每種模型的估計技能的程度。更普遍: > 兩種機器學習模型之間的技能差異是真實的,還是由于統計機會? 我們可以使用統計假設檢驗來解決這個問題。 ## 統計假設檢驗 通常,用于比較樣本的統計假設檢驗量化了在假設樣本具有相同分布的情況下觀察兩個數據樣本的可能性。 統計檢驗的假設稱為零假設,我們可以計算統計指標并對其進行解釋,以決定是否接受或拒絕原假設。 在基于其估計技能選擇模型的情況下,我們有興趣知道兩個模型之間是否存在實際或統計上顯著的差異。 * 如果測試結果表明沒有足夠的證據拒絕零假設,那么任何觀察到的模型技能差異都可能是由于統計機會。 * 如果測試結果表明有足夠的證據拒絕零假設,則模型技能的任何觀察到的差異可能是由于模型的差異。 測試的結果是概率性的,這意味著,可以正確地解釋結果,并且結果對于類型I或類型II錯誤是錯誤的。簡而言之,假陽性或假陰性發現。 通過統計顯著性檢驗比較機器學習模型會產生一些預期,反過來會影響可以使用的統計檢驗類型;例如: * **技能評估**。必須選擇特定的模型技能度量。這可能是分類準確度(一個比例)或平均絕對誤差(匯總統計量),這將限制可以使用的測試類型。 * **重復估計**。需要一個技能分數樣本來計算統計數據。對相同或不同數據重復訓練和測試給定模型將影響可以使用的測試類型。 * **估算分布**。技能分數估計的樣本將具有分布,可能是高斯分布或者可能不是。這將確定是否可以使用參數測試或非參數測試。 * **中心趨勢**。通常使用諸如平均值或中值的匯總統計來描述和比較模型技能,這取決于技能分數的分布。測試可能會也可能不會直接考慮到這一點。 統計檢驗的結果通常是檢驗統計量和p值,兩者都可以在結果的呈現中被解釋和使用,以便量化模型之間差異的置信水平或顯著性。這允許更強的聲明作為模型選擇的一部分而不是使用統計假設檢驗。 鑒于使用統計假設檢驗似乎是模型選擇的一部分,您如何選擇適合您特定用例的測試? ## 選擇假設檢驗的問題 讓我們看一個用于評估和比較均衡二元分類問題的分類器的常見示例。 通常的做法是使用分類準確度評估分類方法,使用10倍交叉驗證評估每個模型,假設10個模型技能估計樣本的高斯分布,并使用樣本的平均值作為總結模特的技巧。 我們可以要求使用此過程評估的每個分類器通過10倍交叉驗證在完全相同的數據集分割上進行評估。這將給出兩個分類器之間匹配的配對測量的樣本,因為每個分類器在相同的10個測試集上進行評估。 然后我們可以選擇并使用配對的[學生t檢驗](https://en.wikipedia.org/wiki/Student%27s_t-test)來檢查兩個模型之間平均準確度的差異是否具有統計學意義,例如拒絕假設兩個樣本具有相同分布的零假設。 事實上,這是使用這種方法將分類器與可能數百篇已發表論文進行比較的常用方法。 問題是,配對學生t檢驗的關鍵假設已被違反。 即,每個樣本中的觀察結果不是獨立的。作為k折交叉驗證程序的一部分,將在訓練數據集(k-1)中使用給定的觀察。這意味著估計的技能分數是依賴的,而不是獨立的,反過來,測試中的t統計量的計算將與誤差統計和p值的任何解釋一起誤導。 這種觀察需要仔細了解所使用的重采樣方法,在這種情況下是k次交叉驗證,以及所選假設檢驗的期望,在這種情況下是配對學生t檢驗。沒有這個背景,測試看起來是合適的,結果將被計算和解釋,一切都會好看。 不幸的是,在應用機器學習中為模型選擇選擇適當的統計假設檢驗比首次出現時更具挑戰性。幸運的是,越來越多的研究有助于指出樸素方法的缺陷,并提出修正和替代方法。 ## 一些調查結果摘要 在本節中,我們來看一些關于機器學習中模型選擇的適當統計顯著性檢驗選擇的研究。 ### 使用McNemar的測試或5×2交叉驗證 也許關于這一主題的開創性工作是1998年題為“[用于比較監督分類學習算法](http://ieeexplore.ieee.org/document/6790639/)的近似統計檢驗”的論文,作者是Thomas Dietterich。 這是關于該主題的優秀論文和推薦閱讀。它首先介紹了一個很好的框架,用于在機器學習項目中考慮可能需要進行統計假設檢驗的點,討論與比較分類器機器學習方法相關的常見違反統計檢驗的期望,以及對方法的經驗評估的結束確認調查結果。 > 本文回顧了五種近似的統計檢驗,用于確定一種學習算法是否優于另一種學習算法。 本文中統計假設檢驗的選擇和經驗評估的重點是I型誤差或誤報的校準。也就是說,選擇最小化在沒有這種差異時建議顯著差異的情況的測試。 本文中有許多重要發現。 第一個發現是,對于通過訓練數據集的隨機重采樣估計的技能結果,使用配對學生t檢驗絕對不應該進行。 > ......我們可以自信地得出結論,不應該采用重采樣t檢驗。 在隨機重采樣的情況下和在k折交叉驗證的情況下(如上所述),違反了配對t檢驗的假設。然而,在k折交叉驗證的情況下,t檢驗將是樂觀的,導致I類錯誤更高,但只有適度的II類錯誤。這意味著這種組合可用于避免類型II錯誤比屈服于類型I錯誤更重要的情況。 > 10倍交叉驗證t檢驗具有高I型誤差。然而,它也具有高功率,因此,可以推薦在II類錯誤(未能檢測到算法之間的真正差異)更重要的情況下。 Dietterich建議 [McNemar的統計假設檢驗](https://machinelearningmastery.com/mcnemars-test-for-machine-learning/)用于數據量有限且每種算法只能評估一次的情況。 McNemar的測試類似于Chi-Squared測試,在這種情況下用于確定算法的列聯表中觀察到的比例的差異是否與預期的比例顯著不同。對于需要數天或數周訓練的大型深度學習神經網絡,這是一個有用的發現。 > 我們的實驗引導我們推薦McNemar的測試,適用于學習算法只能運行一次的情況。 Dietterich還推薦了他自己設計的重新取樣方法,稱為5×2交叉驗證,涉及5次重復的2倍[交叉驗證](https://en.wikipedia.org/wiki/Cross-validation_(statistics))。 選擇兩個折疊以確保每個觀察僅出現在訓練或測試數據集中以用于模型技能的單個估計。在結果上使用配對學生t檢驗,更新以更好地反映有限的自由度,因為估計的技能分數之間存在依賴關系。 > 我們的實驗引導我們推薦5 x 2cv t測試,適用于學習算法足夠高效運行十次的情況 ### 5×2交叉驗證的改進 自該論文發表以來,使用McNemar測試或5×2交叉驗證已成為20年來大部分時間的主要建議。 盡管如此,已經進行了進一步的改進,以更好地糾正配對學生t檢驗,以避免重復k-交叉驗證違反獨立性假設。 其中兩篇重要論文包括: Claude Nadeau和Yoshua Bengio在2003年題為“[推斷誤差](https://link.springer.com/article/10.1023/A:1024068626366)”的論文中提出了進一步的修正。這是一張濃密的紙,不適合膽小的人。 > 該分析允許我們構建兩個方差估計,其考慮了由于選擇訓練集而導致的可變性以及測試示例的選擇。其中一個提出的估計看起來類似于cv方法(Dietterich,1998),并且專門設計用于高估方差以產生保守推理。 Remco Bouckaert和Eibe Frank在其2004年題為“[評估比較學習算法的重要性測試的可復制性](https://link.springer.com/chapter/10.1007/978-3-540-24775-3_3)”的論文中采取了不同的觀點,并認為復制結果的能力比I型或II型錯誤更重要。 > 在本文中,我們認為測試的可復制性也很重要。我們說如果測試結果強烈依賴于用于執行它的數據的特定隨機分區,那么測試具有低可復制性 令人驚訝的是,他們建議使用100次隨機重采樣或10×10倍交叉驗證與Nadeau和Bengio校正配對Student-t測試,以實現良好的可復制性。 后一種方法在Ian Witten和Eibe Frank的書以及他們的開源數據挖掘平臺Weka中被推薦,將Nadeau和Bengio校正稱為“_校正的重采樣t檢驗_”。 > 已經提出了對標準t檢驗的各種修改來規避這個問題,所有這些修改都是啟發式的并且缺乏合理的理論依據。在實踐中似乎運行良好的是校正的重采樣t檢驗。 [...]相同的修改統計數據可用于重復交叉驗證,這只是重復保持的特殊情況,其中一個交叉驗證的各個測試集不重疊。 - 第159頁,第5章,可信度:評估已經學到的東西,[數據挖掘:實用機器學習工具和技術](https://amzn.to/2GgeHch),第三版,2011。 ## 建議 在應用機器學習中選擇模型選擇的統計顯著性檢驗時,沒有銀子彈。 讓我們看看您可以在機器學習項目中使用的五種方法來比較分類器。 ### 1.獨立數據樣本 如果您有接近無限的數據,請收集k個單獨的訓練和測試數據集,以計算每種方法的10個真正獨立的技能分數。 然后,您可以正確應用配對學生的t檢驗。這是最不可能的,因為我們經常處理小數據樣本。 > ...假設存在基本上無限的數據,以便可以使用正確大小的幾個獨立數據集。實際上,通常只有一個有限大小的數據集。可以做些什么? - 第158頁,第5章,可信度:評估已經學到的東西,[數據挖掘:實用機器學習工具和技術](https://amzn.to/2GgeHch),第三版,2011。 ### 2.接受10倍CV的問題 可以使用樸素的10倍交叉驗證與未修改的配對學生t檢驗。 它具有相對于其他方法的良好可重復性和適度的II型錯誤,但已知具有高I型錯誤。 > 實驗還建議在解釋10倍交叉驗證t檢驗的結果時要謹慎。該測試具有升高的I型錯誤概率(高達目標水平的兩倍),盡管它不像重采樣t檢驗的問題那么嚴重。 - [用于比較監督分類學習算法的近似統計檢驗](http://ieeexplore.ieee.org/document/6790639/),1998。 這是一個選項,但推薦非常弱。 ### 3.使用McNemar的測試或5×2 CV McNemar測試單次分類準確性結果的長達20年的建議和5×2倍交叉驗證,并在一般情況下使用修改后的配對Student t檢驗。 此外,Nadeau和Bengio對測試統計的進一步校正可以與Weka的開發者推薦的5×2倍交叉驗證或10×10倍交叉驗證一起使用。 使用修改的t統計量的一個挑戰是沒有現成的實現(例如在SciPy中),需要使用第三方代碼以及這帶來的風險。您可能必須自己實施。 選擇統計方法的可用性和復雜性是一個重要的考慮因素,Gitte Vanwinckelen和Hendrik Blockeel在其2012年題為“[估計模型準確性與重復交叉驗證](https://lirias.kuleuven.be/handle/123456789/346385)”的論文中表示: > 雖然這些方法經過精心設計,并且可以通過多種方式改進以前的方法,但它們與以前的方法具有相同的風險,即方法越復雜,研究人員使用它的風險就越高。 ,或錯誤地解釋結果。 我有一個在這里使用McNemar測試的例子: * [如何計算McNemar的比較兩臺機器學習分類器的測試](https://machinelearningmastery.com/mcnemars-test-for-machine-learning/) ### 4.使用非參數配對測試 我們可以使用非參數測試來做出更少的假設,例如不假設技能分數的分布是高斯分布。 一個例子是 [Wilcoxon符號秩檢驗](https://en.wikipedia.org/wiki/Wilcoxon_signed-rank_test),它是配對學生t檢驗的非參數版本。該測試具有比配對t檢驗更少的統計功效,盡管在違反t檢驗的期望時更多功率,例如獨立性。 這種統計假設檢驗被推薦用于比較Janez Demsar在其2006年論文“多重數據集中的分類器的統計比較”中的不同數據集的算法。 > 因此,我們建議使用Wilcoxon測試,除非滿足t檢驗假設,因為我們有許多數據集,或者因為我們有理由相信跨數據集的表現測量值是正常分布的。 盡管該測試是非參數的,但它仍假設每個樣本內的觀察是獨立的(例如iid),并且使用k倍交叉驗證將產生依賴樣本并違反該假設。 ### 5.使用估算統計 可以計算估計統計量而不是統計假設檢驗,例如置信區間。考慮到評估模型的重采樣方法,這些將遭受類似的問題,其中違反了獨立性的假設。 Tom Mitchell在其1997年的書中提出了類似的建議,建議將統計假設檢驗的結果作為啟發式估計,并尋求關于模型技能估計的置信區間: > 總而言之,沒有一種基于有限數據的比較學習方法的程序滿足我們想要的所有約束。明智的是要記住,當可用數據有限時,統計模型很少完全符合測試學習算法的實際約束。然而,它們確實提供了近似置信區間,這對于解釋學習方法的實驗比較有很大幫助。 - 第150頁,第5章,評估假設,[機器學習](https://amzn.to/2pE6l83),1997。 諸如自舉之類的統計方法可用于計算可防御的非參數置信區間,其可用于呈現結果和比較分類器。這是一種簡單而有效的方法,您可以隨時使用,我建議一般。 > 實際上,置信區間已經獲得了對自助區域中任何主題的最理論研究。 - 第321頁, [Bootstrap簡介](https://amzn.to/2ISXPKe),1994。 ## 擴展 本節列出了一些擴展您可能希望探索的教程的想法。 * 查找并列出三篇錯誤使用未經修改的配對學生t檢驗的研究論文,以比較和選擇機器學習模型。 * 總結在Thomas Dietterich 1998年論文中提出的機器學習項目中使用統計假設檢驗的框架。 * 查找并列出三篇正確使用McNemar測試或5×2交叉驗證進行比較并選擇機器學習模型的研究論文。 如果你探索任何這些擴展,我很想知道。 ## 進一步閱讀 如果您希望深入了解,本節將提供有關該主題的更多資源。 ### 文件 * [用于比較監督分類學習算法的近似統計檢驗](http://ieeexplore.ieee.org/document/6790639/),1998。 * [推廣錯誤的推斷](https://link.springer.com/article/10.1023/A:1024068626366),2003。 * [評估用于比較學習算法的重要性測試的可復制性](https://link.springer.com/chapter/10.1007/978-3-540-24775-3_3),2004。 * [關于通過重復交叉驗證估算模型精度](https://lirias.kuleuven.be/handle/123456789/346385),2012。 * [多數據集上分類器的統計比較](http://www.jmlr.org/papers/v7/demsar06a.html),2006。 ### 圖書 * 第5章,評估假設,[機器學習](https://amzn.to/2pE6l83),1997。 * 第5章,可信度:評估已經學到的東西,[數據挖掘:實用機器學習工具和技術](https://amzn.to/2GgeHch),第三版,2011。 * [引導程序簡介](https://amzn.to/2ISXPKe),1994。 ### 用品 * [維基百科上的學生t檢驗](https://en.wikipedia.org/wiki/Student%27s_t-test) * [維基百科](https://en.wikipedia.org/wiki/Cross-validation_(statistics))的交叉驗證(統計) * [McNemar對維基百科的測試](https://en.wikipedia.org/wiki/McNemar%27s_test) * [Wilcoxon對維基百科的簽名等級測試](https://en.wikipedia.org/wiki/Wilcoxon_signed-rank_test) ### 討論 * [對于模型選擇/比較,我應該使用哪種測試?](https://stats.stackexchange.com/questions/217466/for-model-selection-comparison-what-kind-of-test-should-i-use) * [如何進行假設檢驗以比較不同的分類器](https://stats.stackexchange.com/questions/89064/how-to-perform-hypothesis-testing-for-comparing-different-classifiers) * [Wilcoxon秩和檢驗方法](https://stats.stackexchange.com/questions/93369/wilcoxon-rank-sum-test-methodology) * [如何選擇t檢驗或非參數檢驗,例如小樣本中的Wilcoxon](https://stats.stackexchange.com/questions/121852/how-to-choose-between-t-test-or-non-parametric-test-e-g-wilcoxon-in-small-sampl) ## 摘要 在本教程中,您發現了選擇統計假設檢驗來比較機器學習模型的重要性和挑戰。 具體來說,你學到了: * 統計假設檢驗有助于比較機器學習模型和選擇最終模型。 * 統計假設檢驗的幼稚應用可能導致誤導性結果。 * 正確使用統計檢驗具有挑戰性,對于使用McNemar檢驗或5×2交叉驗證與修改后的配對Student t檢驗存在一些共識。 你有任何問題嗎? 在下面的評論中提出您的問題,我會盡力回答。
                  <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>

                              哎呀哎呀视频在线观看