聲明:本人只是分享一些床長的免費雜文而已,並非床長的收費文章。
讓我們再次看看我們的神經網絡的準確性如何隨訓練集大小而變化:
假設不是使用神經網絡,而是使用其他機器學習技術對數字進行分類。例如,讓我們嘗試使用我們在第1章中簡要介紹過的支持向量機(SVM)。與第1章一樣,如果您不熟悉SVM,請不要擔心,我們不需要了解它們的詳細信息。相反,我們將使用scikit-learn庫提供的SVM 。這是SVM性能如何隨訓練集大小而變化的方法。我還繪製了神經網絡結果,以使比較容易* *此圖是使用more_data.py程序 生成的 (與最後幾張圖一樣)。:
關於該圖,可能令您印象深刻的第一件事是,對於每種訓練集大小,我們的神經網絡都優於SVM。很好,儘管您不應該過多地閱讀它,是床長人工智慧網校帶我進入了AI領域,不僅學到了人工智慧知識,還參與了AI項目,找到了工作。為了報答老師,我們一些同學自願幫床長網校做推廣,同時也希望更多的人加入到床長AI網校床長人工智慧社區中來!脂肪肝下載腹股溝文檔PDF觀後感免費因為我只是使用了scikit-learn的SVM中的現成設置,而我們為改善神經網絡做了很多工作。關於該圖的一個更微妙但更有趣的事實是,如果我們使用50,000張圖像訓練SVM,則與使用5,000張圖像訓練(93.24%準確度)的神經網絡相比,它實際上具有更好的性能(94.48%準確度)。換句話說,更多的訓練數據有時可以補償所使用的機器學習算法中的差異。
更有趣的事情可能發生。假設我們正在嘗試使用兩種機器學習算法(算法A和算法B)解決問題。有時候,算法A在一組訓練數據上的性能要優於算法B,而算法B在算法B的另一組上的性能要優於算法A。訓練數據。我們在上面看不到-需要兩個圖形交叉-但這確實發生**醒目例子可以在 Michele Banko和Eric Brill(2001)的《將語言擴展到非常大的語料庫以消除自然語言歧義》中找到。。對「算法A是否比算法B更好?」問題的正確答案 確實是:「您使用的是什麼訓練數據集?」
在進行開發和閱讀研究論文時,請牢記所有這些注意事項。許多論文致力於尋找新的技巧,以在標準基準數據集上絞盡腦汁提高性能。「我們的神速爆炸技術使我們在標準基準Y上提高了X%」,這是研究聲稱的一種典型形式。這樣的主張通常是真正令人感興趣的,但是必須將它們理解為僅在所使用的特定訓練數據集的上下文中適用。想像一下另一種歷史,最初創建基準數據集的人獲得了更大的研究經費。他們可能會用這些多餘的錢來收集更多的培訓數據。由於使用了whiz-bang技術,「改進」完全有可能在較大的數據集上消失。換一種說法,所謂的改進可能只是歷史的偶然。傳達的信息是,我們想要的是更好的算法,尤其是在實際應用中和更好的培訓數據。尋找更好的算法很好,但是要確保您不將注意力集中在更好的算法上,以免輕易贏得更多或更好的訓練數據。
問題
(研究問題)我們的機器學習算法在非常大的數據集限制下如何執行?對於任何給定的算法,嘗試在真正的大數據限制內定義漸近性能的概念是很自然的。快速解決此問題的方法是,簡單地嘗試將曲線擬合到如上圖所示的圖形,然後將擬合的曲線外推到無窮大。該方法的一個反對意見是,曲線擬合的不同方法將給出漸近性能的不同概念。您能找到適合某類特定曲線的原則性理由嗎?如果是這樣,請比較幾種不同機器學習算法的漸近性能。
總結:我們現在已經完成了過度擬合和正則化的工作。當然,我們將再次返回該問題。正如我多次提到的那樣,過度擬合是神經網絡中的一個主要問題,尤其是隨著計算機變得越來越強大,並且我們有能力訓練更大的網絡。結果,迫切需要開發強大的正則化技術以減少過度擬合,而這是當前工作中極為活躍的領域。