當與區(qū)塊鏈數據集一起使用時,機器學習模型往往會過擬合。什么是過度擬合以及如何解決?
乍一看,使用機器學習來分析區(qū)塊鏈數據集的想法聽起來非常吸引人,但這是充滿挑戰(zhàn)的道路。在這些挑戰(zhàn)中,當將機器學習方法應用于區(qū)塊鏈數據集時,缺少標記數據集仍然是要克服的最大難題。這些局限性導致許多機器學習模型使用非常小的數據樣本進行操作,以訓練和過度優(yōu)化那些引起過擬合現(xiàn)象的模型。今天,我想深入探討區(qū)塊鏈分析中的過度擬合挑戰(zhàn),并提出一些解決方案。
過度擬合被認為是現(xiàn)代深度學習應用程序中的最大挑戰(zhàn)之一。從概念上講,當模型生成的假設過于適合特定數據集的假設而無法適應新數據集時,就會發(fā)生過度擬合。理解過度擬合的一個有用類比是將其視為模型中的幻覺。本質上,模型從數據集中推斷出錯誤的假設時會產生幻覺/過度擬合。自從機器學習的早期以來,已經有很多關于過擬合的文章,所以我不認為有任何聰明的方法來解釋它。對于區(qū)塊鏈數據集,過度擬合是缺少標記數據的直接結果。
區(qū)塊鏈是大型的半匿名數據結構,其中的所有事物都使用一組通用的構造表示,例如交易,地址和區(qū)塊。從這個角度來看,有最少的信息可以證明區(qū)塊鏈記錄。這是轉賬還是付款交易?這是個人投資者錢包或交易所冷錢包的地址?這些限定符對于機器學習模型至關重要。
想象一下,我們正在創(chuàng)建一個模型來檢測一組區(qū)塊鏈中的交換地址。這個過程需要我們使用現(xiàn)有的區(qū)塊鏈地址數據集訓練模型,我們都知道這不是很常見。如果我們使用來自EtherScan或其他來源的小型數據集,則該模型可能會過度擬合并做出錯誤的分類。
使過擬合變得如此具有挑戰(zhàn)性的方面之一是很難在不同的深度學習技術中進行概括。卷積神經網絡傾向于形成過擬合模式,該模式與觀察到的與生成模型不同的遞歸神經網絡不同,該模式可以外推到任何類型的深度學習模型。具有諷刺意味的是,過度擬合的傾向隨著深度學習模型的計算能力線性增加。由于深度學習主體幾乎可以免費產生復雜的假設,因此過擬合的可能性增加了。
在機器學習模型中,過度擬合是一個持續(xù)的挑戰(zhàn),但是在使用區(qū)塊鏈數據集時,這幾乎是必然的。解決過度擬合的明顯答案是使用更大的訓練數據集,但這并不總是一種選擇。在IntoTheBlock,我們經常遇到過度擬合的挑戰(zhàn),我們依靠一系列基本方法來解決問題。
對抗區(qū)塊鏈數據集過擬合的三種簡單策略
對抗過度擬合的第一個規(guī)則是認識到這一點。雖然沒有防止過度擬合的靈丹妙藥,但實踐經驗表明,一些簡單的,幾乎是常識的規(guī)則可以幫助防止在深度學習應用中出現(xiàn)這種現(xiàn)象。為了防止過度擬合,已經發(fā)布了數十種最佳實踐,其中包含三個基本概念。
數據/假設比率
當模型產生太多假設而沒有相應的數據來驗證它們時,通常會發(fā)生過度擬合。因此,深度學習應用程序應嘗試在測試數據集和應評估的假設之間保持適當的比率。但是,這并不總是一種選擇。
?
有許多深度學習算法(例如歸納學習)依賴于不斷生成新的,有時是更復雜的假設。在這些情況下,有一些統(tǒng)計技術可以幫助估計正確的假設數量,以優(yōu)化找到接近正確的假設的機會。盡管此方法無法提供確切的答案,但可以幫助在假設數量和數據集組成之間保持統(tǒng)計平衡的比率。哈佛大學教授萊斯利·瓦利安特(Leslie Valiant)在他的《大概是正確的》一書中出色地解釋了這一概念。
進行區(qū)塊鏈分析時,數據/假設比率非常明顯。假設我們正在基于一年的區(qū)塊鏈交易構建預測算法。因為我們不確定要測試哪種機器學習模型,所以我們使用了一種神經架構搜索(NAS)方法,該方法針對區(qū)塊鏈數據集測試了數百種模型。假設數據集僅包含一年的交易,則NAS方法可能會產生一個完全適合訓練數據集的模型。
支持簡單假設
防止深度學習模型過度擬合的概念上瑣碎但技術上困難的想法是不斷生成更簡單的假設。當然!簡單總是更好,不是嗎?但是在深度學習算法的背景下,一個更簡單的假設是什么?如果我們需要將其減少到一個定量因素,我會說深度學習假設中的屬性數量與它的復雜度成正比。
簡單的假設往往比其他具有大量計算和認知屬性的假設更易于評估。因此,與復雜模型相比,較簡單的模型通常不易過擬合。現(xiàn)在,下一個明顯的難題是弄清楚如何在深度學習模型中生成更簡單的假設。一種不太明顯的技術是基于估計的復雜度將某種形式的懲罰附加到算法上。該機制傾向于傾向于更簡單,近似準確的假設,而不是在出現(xiàn)新數據集時可能會崩潰的更復雜(有時甚至更準確)的假設。
為了在區(qū)塊鏈分析的背景下解釋這個想法,讓我們想象一下我們正在建立一個模型,用于對區(qū)塊鏈中的支付交易進行分類。該模型使用一個復雜的深度神經網絡,該網絡會生成1000個特征以執(zhí)行分類。如果將其應用于較小的區(qū)塊鏈(例如Dash或Litecoin),則該模型很可能會過擬合。
偏差/方差余額
偏差和方差是深度學習模型中的兩個關鍵估計量。從概念上講,偏差是模型的平均預測與我們試圖預測的正確值之間的差。具有高偏差的模型很少關注訓練數據,從而簡化了模型??偸菚е屡嘤柡蜏y試數據的錯誤率很高?;蛘?,方差是指給定數據點的模型預測的可變性或一個告訴我們數據分布的值。具有高方差的模型將大量注意力放在訓練數據上,并且沒有對以前從未見過的數據進行概括。結果,這樣的模型在訓練數據上表現(xiàn)很好,但是在測試數據上有很高的錯誤率。
偏差和方差與過度擬合如何相關?用超簡單的術語來說,可以通過減少模型的偏差而不增加其方差來概括泛化的技巧。深度學習的一種良好做法是對它進行建模,以定期將產生的假設與測試數據集進行比較并評估結果。如果假設繼續(xù)輸出相同的錯誤,則說明我們存在很大的偏差問題,需要調整或替換算法。相反,如果沒有明確的錯誤模式,則問題在于差異,我們需要更多數據。
綜上所述
? 任何低復雜度模型-由于高偏差和低方差,容易出現(xiàn)擬合不足。
? 任何高復雜度模型(深度神經網絡)-由于低偏差和高方差,容易出現(xiàn)過度擬合。
在區(qū)塊鏈分析的背景下,偏差方差摩擦無處不在。讓我們回到我們的算法,該算法嘗試使用許多區(qū)塊鏈因素來預測價格。如果我們使用簡單的線性回歸方法,則該模型可能不合適。但是,如果我們使用具有少量數據集的超復雜神經網絡,則該模型可能會過擬合。
使用機器學習來分析區(qū)塊鏈數據是一個新生的空間。結果,大多數模型在機器學習應用程序中都遇到了傳統(tǒng)挑戰(zhàn)。根本上,由于缺乏標記數據和訓練有素的模型,過度擬合是區(qū)塊鏈分析中無所不在的挑戰(zhàn)之一。