亚洲精品国产精品制服丝袜,亚洲欧美日韩精品a∨,97在线热免费视频精品视频,亚洲人成在线观看网站不卡

監(jiān)督學(xué)習(xí)算法中的偏差 — 方差困境

發(fā)布時(shí)間:2017-04-27  |   來(lái)源: 川總寫(xiě)量化

作者:石川

摘要:監(jiān)督學(xué)習(xí)的泛化能力,即預(yù)測(cè)誤差,是由偏差和方差(以及殘余誤差)共同決定。偏差和方差之間的取舍是一個(gè)永恒的話題。


1 兩個(gè)醫(yī)生


我有兩個(gè)醫(yī)生朋友,郭妮荷與安德費(fèi)婷。她倆都自稱擅長(zhǎng)新型流感的早期防治,即通過(guò)分析過(guò)往臨床患者的體征和患病與否,她們各自形成一套診斷手段,對(duì)新的就診者進(jìn)行檢查,判斷其是否患病。然而在診斷手段方面,她倆是截然不同的兩個(gè)極端。


先來(lái)說(shuō)說(shuō)這位郭大夫。她要查看患者的三、四十個(gè)指標(biāo),既包括常見(jiàn)的血常規(guī)、體溫、是否咳嗽、是否頭疼、身高、體重等,又包括看似和診斷毫無(wú)關(guān)聯(lián)的,比如飲食習(xí)慣、職業(yè)等。結(jié)合過(guò)去患者的數(shù)據(jù),她整理出一些非常奇怪的規(guī)律。當(dāng)新來(lái)的就診者的特定指標(biāo)滿足她發(fā)現(xiàn)的規(guī)律后,她便可以對(duì)這名就診者是否感染病毒做出判斷。


再來(lái)看看那位安大夫。與郭大夫相比,她走的是另一個(gè)極端。憑借她多年的臨床經(jīng)驗(yàn),她自信僅僅依靠查看體溫以及號(hào)脈就能確認(rèn)就診者是否感染流感。什么其他的血常規(guī)或者流感的典型癥狀,她一概不看。量量體溫、把把脈,就能告訴你患病與否。


一次,我故意將體溫弄高,并使得脈搏加快,然后就去找這兩位朋友去了。通過(guò)將我的體征和一系列令人匪夷所思的規(guī)律比對(duì),郭大夫的診斷結(jié)果是我沒(méi)有得新型流感;而安大夫通過(guò)給我量體溫和號(hào)脈,認(rèn)為我得了新型流感。翌日,我故技重施,并又去找她們?cè)\斷。這天,郭大夫用一些新的患者數(shù)據(jù)更新了她那些所謂的規(guī)律。這一更新不要緊,面對(duì)和前一天同樣狀態(tài)的我,她竟然給出了我患有新型流感的結(jié)論。而安大夫那邊倒是沒(méi)有變化,和前一日一樣的體溫和脈搏,她給出同樣的結(jié)論。就這么,我反復(fù)試了十來(lái)次,幾乎每次從郭大夫口中都得到不同的診斷結(jié)果:時(shí)而說(shuō)我感染了流感,時(shí)而又說(shuō)沒(méi)有。而安大夫呢?結(jié)論倒是非常一致:一直說(shuō)我患有流感,然而她沒(méi)有一次是對(duì)的。


對(duì)于郭大夫,雖然她在大部分診斷中給出了正確的結(jié)論:即我沒(méi)有得流感。但是她的診斷結(jié)果的變化(波動(dòng))太大,保不齊哪天就診的時(shí)候,我就恰好趕上了她的某個(gè)更新后的規(guī)律,就給我診斷為感染了。而安大夫呢?她倒是出奇的一致,可是她的結(jié)論沒(méi)有一次是對(duì)的,和實(shí)際情況產(chǎn)生了巨大的偏差。有了這樣的經(jīng)歷,我對(duì)她倆的診斷手段自然是不敢恭維。


讀到這里,你一定發(fā)現(xiàn)了上面這個(gè)故事是虛構(gòu)的。而我的這兩位醫(yī)生朋友的名字也只不過(guò)是過(guò)擬合(overfitting)欠擬合(underfitting)的諧音。這個(gè)故事描繪了機(jī)器學(xué)習(xí)領(lǐng)域,監(jiān)督學(xué)習(xí)(supervised learning)建模的一個(gè)典型問(wèn)題。過(guò)往患者的體征是訓(xùn)練數(shù)據(jù)的特征(features),這些患者是否被確診則是標(biāo)簽(labels)。這兩位大夫通過(guò)“學(xué)習(xí)”這些患者的資料和診斷結(jié)果,總結(jié)了自己的診斷手段,這個(gè)過(guò)程就是建模(modelling)。最終,她們?yōu)槲以\斷則相當(dāng)于對(duì)新的數(shù)據(jù)(訓(xùn)練集樣本外數(shù)據(jù))進(jìn)行預(yù)測(cè)(forecasting)。這些步驟構(gòu)成了完整的機(jī)器學(xué)習(xí)過(guò)程。


當(dāng)監(jiān)督學(xué)習(xí)算法建模時(shí),我們會(huì)經(jīng)常遇到上面提到的過(guò)擬合或欠擬合的問(wèn)題。過(guò)擬合的模型對(duì)于樣本外數(shù)據(jù)的預(yù)測(cè)會(huì)有較大的方差;而欠擬合的模型對(duì)樣本外數(shù)據(jù)的預(yù)測(cè)會(huì)有較大的偏差。偏差和方差就是監(jiān)督學(xué)習(xí)算法預(yù)測(cè)誤差中重要的兩個(gè)組成部分(還有第三個(gè)部分是問(wèn)題固有的殘余誤差),也是一對(duì)矛盾的統(tǒng)一體。任何算法都必須在偏差和方差之間取舍。


這就是我們今天的話題。


2 監(jiān)督學(xué)習(xí)模型的泛化能力


通俗的說(shuō),監(jiān)督學(xué)習(xí)指的是,使用帶有標(biāo)簽的樣本數(shù)據(jù)來(lái)訓(xùn)練一個(gè)機(jī)器學(xué)習(xí)模型,并用這個(gè)模型對(duì)新發(fā)生的樣本(unseen data)進(jìn)行定量分析。具體的,監(jiān)督學(xué)習(xí)包括回歸(regression)分類(classification)。前者的響應(yīng)變量一般是一個(gè)連續(xù)變量,比如我們可以構(gòu)建一個(gè)回歸模型,利用過(guò)去的價(jià)格以及公司基本面數(shù)據(jù)作為特征,來(lái)預(yù)測(cè)股票的收益率,這里收益率就是一個(gè)連續(xù)變量。反觀后者,它的響應(yīng)變量一般是一個(gè)離散的類別,比如通過(guò)構(gòu)建分類模型,我們可以進(jìn)行垃圾郵件的識(shí)別。


當(dāng)我們把機(jī)器學(xué)習(xí)應(yīng)用到量化投資領(lǐng)域時(shí),監(jiān)督學(xué)習(xí)無(wú)疑具備廣闊的應(yīng)用前景。然而,就像本文第一節(jié)的故事描述的那樣,要想衡量一個(gè)機(jī)器學(xué)習(xí)模型的效果,必須考察它對(duì)樣本外數(shù)據(jù)預(yù)測(cè)的準(zhǔn)確性。因?yàn)槲覀冡槍?duì)用于建模的訓(xùn)練數(shù)據(jù),我們可以構(gòu)建出非常精準(zhǔn)的模型,但是這對(duì)于模型是否對(duì)未來(lái)數(shù)據(jù)仍然有效毫無(wú)意義。一個(gè)好的模型必須對(duì)樣本外數(shù)據(jù)具備出色的泛化效果(generalization performance)評(píng)價(jià)泛化能力的依據(jù)正是模型在樣本外數(shù)據(jù)的預(yù)測(cè)誤差。


3 預(yù)測(cè)誤差的組成


監(jiān)督學(xué)習(xí)模型對(duì)樣本外數(shù)據(jù)的預(yù)測(cè)誤差由三部分構(gòu)成:偏差(bias)、方差(variance)、以及固有的殘余誤差(irreducible error)。殘余誤差來(lái)自問(wèn)題本身的隨機(jī)噪聲(noise),是無(wú)法避免的。換句話說(shuō),即便我們知道問(wèn)題的真實(shí)模型,我們的預(yù)測(cè)仍然會(huì)有一定的誤差,該誤差源自問(wèn)題的隨機(jī)噪聲,該噪聲帶來(lái)的誤差就是我們預(yù)測(cè)誤差的下限。在現(xiàn)實(shí)世界中,問(wèn)題的真實(shí)模型是未知的,因此我們只能通過(guò)已有的樣本數(shù)據(jù)來(lái)得到真實(shí)模型的一個(gè)估計(jì)(estimate)。無(wú)論我們?cè)趺垂烙?jì),估計(jì)模型的預(yù)測(cè)結(jié)果和未知真實(shí)模型的預(yù)測(cè)結(jié)果也總會(huì)有差別,這便引入了偏差和方差。


偏差:來(lái)自建模時(shí)對(duì)問(wèn)題真實(shí)模型的錯(cuò)誤假設(shè)(erroneous assumptions)。一個(gè)模型的樣本外預(yù)測(cè)有很大的偏差往往意味著它沒(méi)有有效的發(fā)現(xiàn)自變量(特征)和響應(yīng)變量(標(biāo)識(shí))之間的關(guān)系;該模型存在欠擬合。


比如我們的安大夫,如果新型流感可以通過(guò)血常規(guī)中的某個(gè)血項(xiàng)來(lái)分辨,那么甭管她怎么量體溫或者號(hào)脈,都無(wú)法發(fā)現(xiàn)這個(gè)體征和是否感染流感的關(guān)系。又或者,如果一個(gè)問(wèn)題的真實(shí)模型是非線性的,而我們卻用了一個(gè)線性模型來(lái)建模,那么它無(wú)論如何也捕捉不了自變量和響應(yīng)變量之間的非線性關(guān)系。


方差:源自建模過(guò)程中對(duì)訓(xùn)練集數(shù)據(jù)變化的過(guò)度敏感(over-sensitivity to training data)。一個(gè)模型的樣本外預(yù)測(cè)有很高的方差意味著它發(fā)生過(guò)擬合:它可能過(guò)度關(guān)注自變量和響應(yīng)變量之間的非顯著關(guān)系,或者錯(cuò)誤對(duì)隨機(jī)噪聲建模。


比如我們的郭大夫過(guò)度的關(guān)注了幾十個(gè)體征變量,這導(dǎo)致她的診斷對(duì)過(guò)往病患的數(shù)據(jù)非常敏感,以至于在對(duì)新病患預(yù)測(cè)時(shí),預(yù)測(cè)結(jié)果出現(xiàn)很大的波動(dòng)。


4 偏差 — 方差困境


讓我們用數(shù)學(xué)語(yǔ)言來(lái)更精確的解釋偏差和方差。假設(shè)特征變量(通常為一個(gè) n 維向量)為 x,響應(yīng)變量為 y。它們之間的關(guān)系由一個(gè)未知的真實(shí)函數(shù) f 和隨機(jī)噪聲 ε 描述,即:

?

f1.png


可見(jiàn),響應(yīng)變量 y 和自變量 x 之間的真實(shí)關(guān)系為 f;而 ε 則代表隨機(jī)噪聲,通常被假設(shè)為符合均值為 0、標(biāo)準(zhǔn)差為 σ 的正態(tài)分布。由于 f 未知,我們希望通過(guò)監(jiān)督學(xué)習(xí),利用訓(xùn)練集樣本數(shù)據(jù)得到一個(gè) f 的估計(jì),記為 \hat f。對(duì)于新的數(shù)據(jù),利用該估計(jì)進(jìn)行預(yù)測(cè)。


在求解 f 的估計(jì)的過(guò)程中,機(jī)器學(xué)習(xí)算法看到的僅僅是自變量 x 和響應(yīng)變量 y。通過(guò)考察 x 和 y 的關(guān)系,它必須盡可能的分辨出 y 的變化中,哪部分是源自 x 和 y 之間的真正規(guī)律(regularities),而哪部分是由問(wèn)題本身的隨機(jī)噪聲帶來(lái)的。監(jiān)督學(xué)習(xí)模型的樣本外誤差可以定義為預(yù)測(cè)值和真實(shí)值之間的均方誤差(mean squared error),即:


f2.png


這個(gè)誤差可依下式分解:


f3.png


其中,第一項(xiàng)為問(wèn)題固有的殘余誤差,來(lái)自隨機(jī)噪聲;第二項(xiàng)為預(yù)測(cè)的方差;第三項(xiàng)為預(yù)測(cè)的偏差(的平方)。需要特別說(shuō)明的是,數(shù)學(xué)期望 E[] 是概率論中的概念,它定義為一個(gè)隨機(jī)變量在其概率空間內(nèi)取值按照對(duì)應(yīng)概率的加權(quán)平均值。當(dāng)數(shù)學(xué)期望 E[] 應(yīng)用于監(jiān)督學(xué)習(xí)模型在樣本外的預(yù)測(cè)誤差時(shí),這里的概率空間由自變量 x 和響應(yīng)變量 y 的未知聯(lián)合分布 prob(x, y) 刻畫(huà),取決于未知函數(shù) f 和隨機(jī)噪聲 ε;而這個(gè)概率空間內(nèi)的“隨機(jī)變量的實(shí)現(xiàn)”則是一個(gè)個(gè)不同的訓(xùn)練集,每個(gè)訓(xùn)練集都是所有歷史數(shù)據(jù)的一個(gè)子集。由此可知,這里求解期望的過(guò)程時(shí)作用于不同的訓(xùn)練子集上。


對(duì)于一個(gè)給定的模型結(jié)構(gòu)(比如線性模型或者二項(xiàng)式模型),使用不同的訓(xùn)練集訓(xùn)練便得到模型不同的參數(shù);將使用這些來(lái)自不同訓(xùn)練集的模型對(duì)新的樣本點(diǎn)進(jìn)行預(yù)測(cè),得到多個(gè)預(yù)測(cè)值。這些預(yù)測(cè)值的平均值和真實(shí)值得差異就是偏差;這些預(yù)測(cè)值之間的差異就是方差:


偏差是“使用不同訓(xùn)練集得到的多個(gè)模型對(duì)新樣本的響應(yīng)變量的多個(gè)預(yù)測(cè)結(jié)果的平均值”與“該新樣本響應(yīng)變量的真實(shí)取值”之間的差異。

?

方差則衡量“不同的訓(xùn)練數(shù)據(jù)集得到的模型對(duì)新樣本的響應(yīng)變量的多個(gè)預(yù)測(cè)結(jié)果”之間的差異。


在實(shí)際應(yīng)用中,可以采用 K 疊交叉驗(yàn)證(K fold cross-validation)將所有數(shù)據(jù)分為 K 個(gè)訓(xùn)練集,以此來(lái)計(jì)算預(yù)測(cè)的偏差和方差。我們會(huì)在今后找時(shí)間介紹交叉驗(yàn)證。


來(lái)看一個(gè)例子。假設(shè)真實(shí)的函數(shù) f 為正弦函數(shù) sin,即 y = sin(x) + ε。下圖中藍(lán)色的離散點(diǎn)是由這個(gè)過(guò)程產(chǎn)生的不同 x 值對(duì)應(yīng)的響應(yīng)值;黑色曲線代表這個(gè)真實(shí)函數(shù) f = sin。由于 ε 的存在,藍(lán)色的離散點(diǎn)并沒(méi)有坐落在黑色正弦曲線上,而是隨機(jī)分布在黑色曲線的上上下下。對(duì)于機(jī)器學(xué)習(xí)來(lái)說(shuō),f = sin 是未知的,它需要通過(guò)分析這些離散點(diǎn),找到 y 隨 x 變化的真實(shí)規(guī)律。


f4.png


我們基于不同假設(shè)產(chǎn)生了三個(gè)復(fù)雜程度不同的模型,作為對(duì)真實(shí)函數(shù) f 的估計(jì):第一個(gè)模型是一個(gè)線性模型(綠色);第二個(gè)模型是一個(gè)三次的多項(xiàng)式模型(藍(lán)色);最后一個(gè)模型是一個(gè)二十次的多項(xiàng)式模型(紅色)。對(duì)于這個(gè)例子,線性關(guān)系顯然不是一個(gè)好的模型,它忽視了 x 和 y 之間的非線性關(guān)系;多項(xiàng)式模型則能夠捕捉 x 和 y 的關(guān)系。


然而,一個(gè)優(yōu)秀的模型不僅要通過(guò)訓(xùn)練集數(shù)據(jù)正確的發(fā)現(xiàn) x 和 y 的關(guān)系,更要對(duì)樣本外數(shù)據(jù)有優(yōu)秀的泛化能力,做到低偏差和低方差。當(dāng)然,雙低是很難共存的。事實(shí)上,偏差和方差與模型的復(fù)雜度有如下關(guān)系;


f5.png


當(dāng)模型的復(fù)雜度很低時(shí),很容易發(fā)生欠擬合,即模型無(wú)視了 x 和 y 之間的真實(shí)關(guān)聯(lián),把 y 隨 x 的變化看作是隨機(jī)誤差。這么做雖然使得模型在不同訓(xùn)練集之間的預(yù)測(cè)結(jié)果方差較小(因?yàn)樗揪蜎](méi)從這些子集中學(xué)出來(lái)多少有效的規(guī)律),但是預(yù)測(cè)均值和真實(shí)值的偏差很大。隨著復(fù)雜度的提升,模型可以越來(lái)越精準(zhǔn)的描述訓(xùn)練集數(shù)據(jù),因此模型的偏差越來(lái)越小。然而如果模型過(guò)度關(guān)注每個(gè)訓(xùn)練子集中 x 和 y 的片面關(guān)系或者噪聲(過(guò)擬合),它必將忽視共存于所有訓(xùn)練子集(即全體歷史數(shù)據(jù))中的 x 和 y 的重要關(guān)系。由此會(huì)使得不同訓(xùn)練集訓(xùn)練出來(lái)的模型對(duì)新樣本產(chǎn)生不同的預(yù)測(cè)結(jié)果,導(dǎo)致預(yù)測(cè)的方差增大。


在上面這個(gè)例子中,二十次多項(xiàng)式模型雖然有更低的偏差,但是它的方差卻很大。綜合考慮偏差和方差,它的預(yù)測(cè)效果不如三次多項(xiàng)式模型。事實(shí)上,由于在這個(gè)假想的例子中,我們知道真實(shí)函數(shù) f = sin,可以看到,三次多項(xiàng)式模型和真實(shí)的 sin 函數(shù)非常接近。


總結(jié)來(lái)說(shuō):


簡(jiǎn)單模型,容易欠擬合,方差小,偏差大;

復(fù)雜模型,容易過(guò)擬合,偏差小,方差大。


下圖是不同模型和方差以及偏差的關(guān)系。注意,這僅僅是一個(gè)非常簡(jiǎn)化的示意圖。它似乎說(shuō)明如果必須從欠擬合和過(guò)擬合模型選擇,我們應(yīng)該傾向于欠擬合模型,因?yàn)樗念A(yù)測(cè)結(jié)果相對(duì)一致,我們只要把它們整體平移一個(gè)偏差值,便可以得到準(zhǔn)確的預(yù)測(cè)。但是,千萬(wàn)不要被這個(gè)簡(jiǎn)單的示意圖誤導(dǎo),因?yàn)樯钪械膶?shí)際問(wèn)題遠(yuǎn)遠(yuǎn)比這個(gè)圖復(fù)雜的多,我們遠(yuǎn)沒(méi)有神之一手來(lái)修正偏差。相反,低偏差高方差的模型(假設(shè)已經(jīng)杜絕了過(guò)擬合)往往是更有希望的。這是因?yàn)榭梢岳?strong>集成學(xué)習(xí)元算法(ensemble learning?meta?algorithm)來(lái)降低預(yù)測(cè)模型的方差,從而提高模型的泛化能力。裝袋算法(bagging)、提升算法(boosting)、隨機(jī)森林(random forest)對(duì)于分類樹(shù)的改進(jìn)都是這樣的例子。


f6.png


監(jiān)督學(xué)習(xí)的泛化能力,即預(yù)測(cè)誤差,是由偏差和方差(以及殘余誤差)共同決定。偏差和方差之間的取舍是一個(gè)永恒的話題。在模型的復(fù)雜度和預(yù)測(cè)效果之間找到一個(gè)最佳的平衡點(diǎn),這不僅依賴于更先進(jìn)的機(jī)器學(xué)習(xí)算法不斷的被發(fā)現(xiàn),同時(shí)訓(xùn)練集的數(shù)據(jù)質(zhì)量是否足夠高也至關(guān)重要。


過(guò)猶不及。



免責(zé)聲明:入市有風(fēng)險(xiǎn),投資需謹(jǐn)慎。在任何情況下,本文的內(nèi)容、信息及數(shù)據(jù)或所表述的意見(jiàn)并不構(gòu)成對(duì)任何人的投資建議。在任何情況下,本文作者及所屬機(jī)構(gòu)不對(duì)任何人因使用本文的任何內(nèi)容所引致的任何損失負(fù)任何責(zé)任。除特別說(shuō)明外,文中圖表均直接或間接來(lái)自于相應(yīng)論文,僅為介紹之用,版權(quán)歸原作者和期刊所有。