區(qū)塊鏈分析中的過(guò)度擬合是怎么一回事
掃描二維碼
隨時(shí)隨地手機(jī)看文章
當(dāng)與區(qū)塊鏈數(shù)據(jù)集一起使用時(shí),機(jī)器學(xué)習(xí)模型往往會(huì)過(guò)度擬合。什么是過(guò)度擬合,如何解決?
使用機(jī)器學(xué)習(xí)來(lái)分析區(qū)塊鏈數(shù)據(jù)集的想法乍一看非常吸引人,但它充滿了挑戰(zhàn)。在這些挑戰(zhàn)中,缺少標(biāo)記的數(shù)據(jù)集仍然是應(yīng)用機(jī)器學(xué)習(xí)方法到區(qū)塊鏈數(shù)據(jù)集時(shí)需要克服的最大困難。
這些限制導(dǎo)致許多機(jī)器學(xué)習(xí)模型使用非常小的數(shù)據(jù)樣本進(jìn)行訓(xùn)練和過(guò)度優(yōu)化,從而導(dǎo)致一種稱為過(guò)度擬合的現(xiàn)象。今天,我想深入探討一下區(qū)塊鏈分析中的過(guò)度擬合問(wèn)題,并提出一些解決方法。
過(guò)度擬合被認(rèn)為是現(xiàn)代深度學(xué)習(xí)應(yīng)用中最大的挑戰(zhàn)之一。從概念上講,當(dāng)模型生成的假設(shè)過(guò)于針對(duì)特定數(shù)據(jù)集而導(dǎo)致無(wú)法適應(yīng)新數(shù)據(jù)集時(shí),就會(huì)發(fā)生過(guò)度擬合。
理解過(guò)度擬合的一個(gè)有用的類比是將其視為模型中的幻覺(jué)。本質(zhì)上,當(dāng)一個(gè)模型從數(shù)據(jù)集中推斷出不正確的假設(shè)時(shí),它就會(huì)產(chǎn)生幻覺(jué)/過(guò)度擬合。
自從早期的機(jī)器學(xué)習(xí)以來(lái),已經(jīng)有很多關(guān)于過(guò)度擬合的文章,所以我不認(rèn)為有任何聰明的方法來(lái)解釋它。在區(qū)塊鏈數(shù)據(jù)集的情況下,過(guò)度擬合是缺乏標(biāo)記數(shù)據(jù)的直接結(jié)果。區(qū)塊鏈?zhǔn)谴笮偷?、半匿名的?shù)據(jù)結(jié)構(gòu),在這種結(jié)構(gòu)中,所有東西都用一組公共結(jié)構(gòu)表示,比如交易、地址和區(qū)塊。
從這個(gè)角度來(lái)看,區(qū)塊鏈記錄的限定信息是最少的。是交易、轉(zhuǎn)賬還是付款?是個(gè)人投資者的錢包還是交易所的冷錢包?這些限定詞對(duì)于機(jī)器學(xué)習(xí)模型是必不可少的。
假設(shè)我們正在創(chuàng)建一個(gè)模型來(lái)檢測(cè)一組區(qū)塊鏈中的交換地址。這個(gè)過(guò)程需要我們使用現(xiàn)有的區(qū)塊鏈地址數(shù)據(jù)集來(lái)訓(xùn)練模型,我們都知道這些數(shù)據(jù)集并不常見(jiàn)。如果我們使用EtherScan或其他來(lái)源的小數(shù)據(jù)集,模型可能會(huì)過(guò)度擬合并做出錯(cuò)誤的分類。
使過(guò)度擬合如此具有挑戰(zhàn)性的一個(gè)方面是,很難在不同的深度學(xué)習(xí)技術(shù)中推廣。卷積神經(jīng)網(wǎng)絡(luò)傾向于形成與遞歸神經(jīng)網(wǎng)絡(luò)不同的過(guò)擬合模式,而遞歸神經(jīng)網(wǎng)絡(luò)又不同于生成模式,這種模式可以外推到任何類型的深度學(xué)習(xí)模型。
具有諷刺意味的是,過(guò)度擬合的傾向與深度學(xué)習(xí)模型的計(jì)算能力成線性關(guān)系。由于深度學(xué)習(xí)代理可以生成復(fù)雜的假設(shè),而且?guī)缀醪恍枰魏纬杀?,因此過(guò)度擬合的傾向就會(huì)增加。在機(jī)器學(xué)習(xí)模型中,過(guò)度擬合是一個(gè)持續(xù)的挑戰(zhàn),但在處理區(qū)塊鏈數(shù)據(jù)集時(shí),它幾乎是一個(gè)給定的問(wèn)題。解決過(guò)度擬合的明顯方法是使用更大的訓(xùn)練數(shù)據(jù)集,但這并不總是可行的。在IntoTheBlock,我們經(jīng)常遇到過(guò)度擬合的挑戰(zhàn)。
在區(qū)塊鏈數(shù)據(jù)集中對(duì)抗過(guò)度擬合的三個(gè)簡(jiǎn)單策略
與過(guò)度擬合作斗爭(zhēng)的首要原則是認(rèn)識(shí)到它。雖然沒(méi)有防止過(guò)度擬合的靈丹妙藥,但實(shí)踐經(jīng)驗(yàn)表明,一些簡(jiǎn)單的、幾乎是常識(shí)的規(guī)則有助于在深度學(xué)習(xí)應(yīng)用中防止這種現(xiàn)象。
在已經(jīng)發(fā)布的防止過(guò)度擬合的幾十個(gè)最佳實(shí)踐中,有三個(gè)基本的思想包含了其中的大多數(shù)。
數(shù)據(jù)/假設(shè)比率
過(guò)度擬合通常發(fā)生在一個(gè)模型產(chǎn)生了太多的假設(shè)而沒(méi)有相應(yīng)的數(shù)據(jù)來(lái)驗(yàn)證它們的時(shí)候。因此,深度學(xué)習(xí)應(yīng)用程序應(yīng)該嘗試在測(cè)試數(shù)據(jù)集和應(yīng)該評(píng)估的假設(shè)之間保持適當(dāng)?shù)谋壤?。然而,這并不總是一個(gè)選擇。
有許多深度學(xué)習(xí)算法,如歸納學(xué)習(xí),依賴于不斷產(chǎn)生新的,有時(shí)更復(fù)雜的假設(shè)。在這些場(chǎng)景中,有一些統(tǒng)計(jì)技術(shù)可以幫助估計(jì)正確的假設(shè)數(shù)量,從而優(yōu)化找到接近正確的假設(shè)的機(jī)會(huì)。
雖然這種方法不能提供準(zhǔn)確的答案,但它有助于保持假設(shè)數(shù)量和數(shù)據(jù)集組成之間的統(tǒng)計(jì)平衡。哈佛大學(xué)教授萊斯利·瓦蘭特在他的書中精采地解釋了這一概念。
當(dāng)進(jìn)行區(qū)塊鏈分析時(shí),數(shù)據(jù)/假設(shè)的比例非常明顯。假設(shè)我們正在構(gòu)建一個(gè)基于一年區(qū)塊鏈交易的預(yù)測(cè)算法。
因?yàn)槲覀儾淮_定要測(cè)試哪個(gè)機(jī)器學(xué)習(xí)模型,所以我們使用神經(jīng)架構(gòu)搜索(NAS)方法,該方法針對(duì)區(qū)塊鏈數(shù)據(jù)集測(cè)試數(shù)百個(gè)模型。
考慮到數(shù)據(jù)集只包含一年的交易,NAS方法可能會(huì)生成一個(gè)完全適合訓(xùn)練數(shù)據(jù)集的模型。
支持簡(jiǎn)單的假設(shè)
在深度學(xué)習(xí)模型中,防止過(guò)度擬合的一個(gè)概念上瑣碎但技術(shù)上困難的想法是不斷生成更簡(jiǎn)單的假設(shè)。當(dāng)然!簡(jiǎn)單總是更好的,不是嗎?
但在深度學(xué)習(xí)算法的背景下,有什么更簡(jiǎn)單的假設(shè)呢?如果我們需要將其歸結(jié)為一個(gè)量化的因素,我會(huì)說(shuō)深度學(xué)習(xí)假設(shè)中屬性的數(shù)量與復(fù)雜度成正比。
簡(jiǎn)單的假設(shè)往往比其他有大量屬性的假設(shè)更容易評(píng)估,無(wú)論是在計(jì)算上還是在認(rèn)知上。
因此,與復(fù)雜的模型相比,簡(jiǎn)單的模型通常不太容易過(guò)度擬合。下一個(gè)明顯的難題是如何在深度學(xué)習(xí)模型中生成更簡(jiǎn)單的假設(shè)。
一種不太明顯的技術(shù)是根據(jù)算法的估計(jì)復(fù)雜度對(duì)其附加某種形式的懲罰。這種機(jī)制傾向于更簡(jiǎn)單、更準(zhǔn)確的假設(shè),而不是更復(fù)雜、有時(shí)更準(zhǔn)確的假設(shè)。
為了在區(qū)塊鏈分析中解釋這個(gè)概念,讓我們假設(shè)我們正在構(gòu)建一個(gè)在區(qū)塊鏈中對(duì)支付交易進(jìn)行分類的模型。
該模型使用一個(gè)復(fù)雜的深度神經(jīng)網(wǎng)絡(luò)生成1000個(gè)特征來(lái)進(jìn)行分類。如果應(yīng)用于較小的區(qū)塊鏈,如Dash或Litecoin,該模型很可能會(huì)過(guò)度擬合。
偏差/方差平衡
偏差和方差是深度學(xué)習(xí)模型的兩個(gè)關(guān)鍵估計(jì)量。從概念上講,偏差是我們模型的平均預(yù)測(cè)值與我們?cè)噲D預(yù)測(cè)的正確值之間的差異。高偏差模型對(duì)訓(xùn)練數(shù)據(jù)的重視程度低,模型過(guò)于簡(jiǎn)化。它往往會(huì)導(dǎo)致訓(xùn)練和測(cè)試數(shù)據(jù)的高誤差。
或者,方差指的是模型對(duì)給定數(shù)據(jù)點(diǎn)或值的預(yù)測(cè)的可變性,它告訴我們數(shù)據(jù)的分布。高方差模型對(duì)訓(xùn)練數(shù)據(jù)非常重視,對(duì)未見(jiàn)過(guò)的數(shù)據(jù)不進(jìn)行泛化。因此,這樣的模型在訓(xùn)練數(shù)據(jù)上表現(xiàn)得很好,但在測(cè)試數(shù)據(jù)上有很高的錯(cuò)誤率。
偏差和方差如何與過(guò)度擬合相關(guān)?在超簡(jiǎn)單的術(shù)語(yǔ)中,概括的藝術(shù)可以通過(guò)減少模型的偏差而不增加其方差來(lái)概括。
在深度學(xué)習(xí)模型中,定期將生成的假設(shè)與測(cè)試數(shù)據(jù)集進(jìn)行比較并評(píng)估結(jié)果是一個(gè)很好的實(shí)踐。如果假設(shè)繼續(xù)輸出相同的錯(cuò)誤,那么我們就有一個(gè)很大的偏差問(wèn)題,我們需要調(diào)整或替換算法。如果錯(cuò)誤沒(méi)有清晰的模式,那么問(wèn)題就是不一致,我們需要更多的數(shù)據(jù)??偠灾?/p>
· 任何低復(fù)雜度的模型都會(huì)因?yàn)楦咂詈偷头讲疃鴥A向于擬合不足。
· 任何高復(fù)雜度的模型(深度神經(jīng)網(wǎng)絡(luò))都會(huì)因?yàn)榈推詈透叻讲疃鴥A向于過(guò)度擬合。
在區(qū)塊鏈分析中,偏差-方差摩擦無(wú)處不在。讓我們回到我們的算法,試圖預(yù)測(cè)價(jià)格與許多區(qū)塊鏈因素。如果我們使用簡(jiǎn)單的線性回歸方法,模型很可能不適合。然而,如果我們使用一個(gè)具有小數(shù)據(jù)集的超級(jí)復(fù)雜的神經(jīng)網(wǎng)絡(luò),模型可能會(huì)過(guò)度擬合。
使用機(jī)器學(xué)習(xí)來(lái)分析區(qū)塊鏈數(shù)據(jù)是一個(gè)非常新興的領(lǐng)域。因此,大多數(shù)模型都遇到了機(jī)器學(xué)習(xí)應(yīng)用程序的傳統(tǒng)挑戰(zhàn)。
過(guò)度擬合是區(qū)塊鏈分析中無(wú)處不在的挑戰(zhàn)之一,其根本原因是缺乏標(biāo)記數(shù)據(jù)和訓(xùn)練過(guò)的模型。沒(méi)有什么神奇的解決方案可以解決過(guò)度擬合的問(wèn)題,但是本文中列出的一些原則已經(jīng)被證明對(duì)IntoTheBlock是有效的。