<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 智能計(jì)算 > 業(yè)界動態(tài) > 每一個(gè)深鉆機(jī)器學(xué)習(xí)的人都會遇到這七大經(jīng)典問題

          每一個(gè)深鉆機(jī)器學(xué)習(xí)的人都會遇到這七大經(jīng)典問題

          作者: 時(shí)間:2017-09-18 來源:網(wǎng)絡(luò) 收藏

            如果希望了解,或者已經(jīng)決定投身,你會第一時(shí)間找到各種教材進(jìn)行充電,同時(shí)在心中默認(rèn):書里講的是牛人大神的畢生智慧,是正確無誤的行動指南,認(rèn)真學(xué)習(xí)就能獲得快速提升。但實(shí)際情況是,你很可能已經(jīng)在走彎路。

          本文引用地址:http://www.ex-cimer.com/article/201709/364416.htm

            科技發(fā)展很快,數(shù)據(jù)在指數(shù)級增長,環(huán)境也在指數(shù)級改變,因此很多時(shí)候教科書會跟不上時(shí)代的發(fā)展。有時(shí),即便是寫教科書的人,也不見得都明白結(jié)論背后的“所以然”,因此有些結(jié)論就會落后于時(shí)代。針對這個(gè)問題,第四范式創(chuàng)始人、首席執(zhí)行官戴文淵近日就在第四范式內(nèi)部分享上,向大家介紹了教材中的七個(gè)經(jīng)典問題。本文根據(jù)演講實(shí)錄整理,略有刪減。

            有時(shí)我們會發(fā)現(xiàn),在實(shí)際工作中,應(yīng)該怎么做和教科書講的結(jié)論相矛盾,這時(shí)候要怎么辦呢?難道教科書中的結(jié)論出錯(cuò)了?事實(shí)上,有時(shí)確實(shí)如此。所以今天我就想和大家分享一下機(jī)器學(xué)習(xí)教材中的一些經(jīng)典問題,希望對大家今后的工作和學(xué)習(xí)有所幫助。

            不宜超過三層

            那為什么之前的教科書上會寫不能超過三層,這就要從的歷史說起。五十年代有位科學(xué)家叫Marvin Minksy,他是一位生物學(xué)家,數(shù)學(xué)又很好,所以他在研究神經(jīng)元的時(shí)候就在想能不能用數(shù)學(xué)模型去刻畫生物的神經(jīng)元,因此就設(shè)計(jì)了感知機(jī)。感知機(jī)就像一個(gè)神經(jīng)細(xì)胞,它能像神經(jīng)細(xì)胞一樣連起來,形成神經(jīng)網(wǎng)絡(luò),就像大腦的神經(jīng)網(wǎng)絡(luò)。其實(shí)在60年代開始的時(shí)候,是有很深的神經(jīng)網(wǎng)絡(luò),但當(dāng)時(shí)經(jīng)過大量實(shí)驗(yàn)發(fā)現(xiàn),不超過三層的神經(jīng)網(wǎng)絡(luò)效果不錯(cuò),于是大概到80年代時(shí)就得出結(jié)論:神經(jīng)網(wǎng)絡(luò)不宜超過三層。

              

            那為什么現(xiàn)在這條結(jié)論又被推翻了呢?實(shí)際上這條結(jié)論是有前提條件的,即在數(shù)據(jù)量不大的情況下,神經(jīng)網(wǎng)絡(luò)不宜超過三層。而從2005年開始,大家發(fā)現(xiàn)隨著數(shù)據(jù)增加,深度神經(jīng)網(wǎng)絡(luò)的表現(xiàn)良好,所以慢慢走向深度學(xué)習(xí)。其實(shí)這里真正正確的原理是Valiant引理,它可以理解為“模型復(fù)雜度(例如專家系統(tǒng)的規(guī)則數(shù)量)要和數(shù)據(jù)量成正比”。數(shù)據(jù)量越大,模型就越復(fù)雜。上個(gè)世紀(jì)因?yàn)閿?shù)據(jù)量小,所以神經(jīng)網(wǎng)絡(luò)的層數(shù)不能太深,現(xiàn)在數(shù)據(jù)量大,所以神經(jīng)網(wǎng)絡(luò)的層數(shù)就要做深。這也解釋了為什么當(dāng)時(shí)教科書會有這樣的結(jié)論,而現(xiàn)在隨著深度學(xué)習(xí)的流行,大家已經(jīng)不再會認(rèn)為這句話是對的。

            決策樹不能超過五層

            如果有同學(xué)看教科書上介紹決策樹,會有一個(gè)說法就是決策樹要減枝,決策樹如果不減枝效果不好。還有教科書會告訴決策樹不能超過五層,超過五層的決策樹效果不好。這個(gè)結(jié)論和神經(jīng)網(wǎng)絡(luò)結(jié)論一樣,神經(jīng)網(wǎng)絡(luò)不能超過三層也是因?yàn)楫?dāng)時(shí)數(shù)據(jù)量不大,決策樹不能超過五層也是因?yàn)樯蟼€(gè)世紀(jì)數(shù)據(jù)量不夠大,二叉樹決策樹如果深度是N的話,復(fù)雜度大概是2的N次方,所以不超過五層復(fù)雜度也就是三十多。如果數(shù)據(jù)量達(dá)到一百萬的時(shí)候,決策樹能達(dá)到十幾二十層的規(guī)模,如果數(shù)據(jù)量到了一百億的時(shí)候決策樹可能要到三十幾層。

              

            現(xiàn)在,我們強(qiáng)調(diào)更深的決策樹,這可能和教科書講的相矛盾。矛盾的原因是現(xiàn)在整個(gè)場景下數(shù)據(jù)量變大,所以要做更深的決策樹。當(dāng)然,我們也不一定在所有的場景里都有很大數(shù)據(jù)量,如果遇到了數(shù)據(jù)量小的場景,我們也要知道決策樹是要做淺的。最根本來說,就是看有多少數(shù)據(jù),能寫出多復(fù)雜的模型。

            特征選擇不能超過一千個(gè)

            有些教科書會單獨(dú)開個(gè)章節(jié)來講特征選擇,告訴我們在拿到數(shù)據(jù)后,要先刪除一些不重要的特征,甚至有的教科書注明,特征數(shù)不能超過一千,否則模型效果不好。但其實(shí)這個(gè)結(jié)論也是有前提條件的,如果數(shù)據(jù)量少,是不能夠充分支撐很多特征,但如果數(shù)據(jù)量大,結(jié)論就會不一樣。這也就是為什么我們做LogisticRegression會有幾十億個(gè)特征,而不是限制在幾百個(gè)特征。

              

            過去傳統(tǒng)數(shù)據(jù)分析軟件,如SAS,之所以只有幾百個(gè)特征,是因?yàn)樗Q生于上世紀(jì)七十年代,它面臨的問題是在具體場景下沒有太多可用數(shù)據(jù),可能只有幾百上千個(gè)樣本。因此,在設(shè)計(jì)系統(tǒng)時(shí),就只需要針對幾百個(gè)特征設(shè)計(jì),不需要幾十億個(gè)特征,因?yàn)樯锨€(gè)樣本無法支撐幾十億特征。但現(xiàn)在,隨著數(shù)據(jù)量增加,特征量也需要增加。所以我認(rèn)為,在大數(shù)據(jù)環(huán)境下,整個(gè)機(jī)器學(xué)習(xí)教科書里關(guān)于特征選擇的章節(jié)已經(jīng)落后于時(shí)代,需要根據(jù)新的形式重新撰寫;當(dāng)然在小數(shù)據(jù)場景下,它仍然具有價(jià)值。

            集成學(xué)習(xí)獲得最好學(xué)習(xí)效果

            第四個(gè)叫做集成學(xué)習(xí),這個(gè)技術(shù)在各種數(shù)據(jù)挖掘比賽中特別有用,比如近些年KDD CUP的冠軍幾乎都是采用集成學(xué)習(xí)。什么是集成學(xué)習(xí)?它不是做一個(gè)模型,而是做很多(例如一千個(gè))不一樣的模型,讓每個(gè)模型投票,投票的結(jié)果就是最終的結(jié)果。如果不考慮資源限制情況,這種模式是效果最好的。這也是為什么KDDCUP選手們都選擇集成學(xué)習(xí)的方式,為了追求最后效果,不在乎投入多少,在這種條件下,集成學(xué)習(xí)就是最好的方式。

              

            但在現(xiàn)實(shí)中,企業(yè)做機(jī)器學(xué)習(xí)追求的不是用無限的資源做盡可能好的效果,而是如何充分利用有限資源,獲得最好效果。假設(shè)企業(yè)只有兩臺機(jī)器,如何用這兩臺機(jī)器獲得最好的效果呢?如果采用集成學(xué)習(xí),用兩臺機(jī)器跑五個(gè)模型,就要把兩臺機(jī)器分成五份,每個(gè)模型只能用0.4臺機(jī)器去跑,因此跑的數(shù)據(jù)量就有限。那如果換種方式,不用集成學(xué)習(xí),就用一個(gè)模型去跑,就能跑5倍的數(shù)據(jù)。通常5倍的數(shù)據(jù)量能比集成學(xué)習(xí)有更好的效果。在工業(yè)界比較少會應(yīng)用集成學(xué)習(xí),主要是因?yàn)楣I(yè)界絕大多數(shù)的場景都是資源受限,資源受限時(shí)最好的方式是想辦法放進(jìn)去更多的數(shù)據(jù)。集成學(xué)習(xí)因?yàn)榕芨嗟哪P蛯?dǎo)致只能放更少的數(shù)據(jù),通常這種效果都會變差。

            正樣本和負(fù)樣本均采樣到1:1

            第五個(gè)叫做均衡采樣,絕大多數(shù)的教科書都會講到。它是指如果我們訓(xùn)練一個(gè)模型,正樣本和負(fù)樣本很不平均,比如在正樣本和負(fù)樣本1:100的情況下,就需要對正、負(fù)樣本做均衡采樣,把它變成1:1的比例,這樣才是最好的。但其實(shí)這個(gè)結(jié)論不一定對,因?yàn)榻y(tǒng)計(jì)學(xué)習(xí)里最根本的一條原理就是訓(xùn)練場景和測試場景的分布要一樣,所以這個(gè)結(jié)論只在一個(gè)場景下成立,那就是使用模型的場景中正、負(fù)樣本是1:1,那這個(gè)結(jié)論就是對的。

              

           

            正確的做法是,應(yīng)用場景是1:100,那訓(xùn)練集合最好也是1:100。均衡采樣不一定都是對的,多數(shù)情況下不采樣反而才是正確的。因?yàn)榇蠖鄷r(shí)候,我們直接把訓(xùn)練集合和測試集合做隨機(jī)拆分,或者按照時(shí)間拆分,二者的分布就是一致的,那個(gè)時(shí)候不采樣是最好的。當(dāng)然有時(shí)候,我們也會發(fā)現(xiàn)做負(fù)樣本采樣會有更好的效果,比如范式在為某股份制銀行卡中心做交易反欺詐時(shí),就做了負(fù)樣本采樣,那是因?yàn)楫?dāng)我們把所有樣本都放進(jìn)去后,發(fā)現(xiàn)計(jì)算資源不夠,所以只能做采樣。正樣本與負(fù)樣本大概是1:1000或者1:10000,如果對正樣本做采樣,損失信息量會比較大,所以我們選擇對負(fù)樣本采樣,比如做1:1000的采樣,再把負(fù)樣本以1000的加權(quán)加回去。在資源受限時(shí)這么做,會盡可能降低信息量的損失。但如果僅僅是為了把它做均衡而做負(fù)樣本采樣,通常是不對的。和前面幾個(gè)問題不同,負(fù)樣本采樣并不是因環(huán)境改變而結(jié)論變化,事實(shí)上就不應(yīng)該做負(fù)樣本采樣。

            交叉驗(yàn)證是最好的測試方法

            下一個(gè)問題叫做交叉驗(yàn)證,是指假設(shè)要將一份數(shù)據(jù)拆分成訓(xùn)練集和測試集,這個(gè)時(shí)候怎么評估出它的誤差?交叉驗(yàn)證是把集合拆成五份,取四份做訓(xùn)練集、一份做測試集,并且每次選擇不同的那一份做測試級,最后測出五個(gè)結(jié)果再做平均,這被認(rèn)為是最好的測試方法。  

            交叉驗(yàn)證確實(shí)是一個(gè)還不錯(cuò)的驗(yàn)證的方法,但在現(xiàn)實(shí)應(yīng)用場景下,它往往不是最合適的一種方式。因?yàn)橥ǔ碚f,我們用機(jī)器學(xué)習(xí)做的事情是預(yù)測,絕大多數(shù)情況下我們是用現(xiàn)在或者過去的數(shù)據(jù)做一個(gè)模型來預(yù)測未來。而拿過去的訓(xùn)練預(yù)測未來的最好測試方法不是交叉驗(yàn)證,因?yàn)榻徊骝?yàn)證是按照交易或者按人拆分的。最合適的是方法其實(shí)是按照時(shí)間拆分,比如評估的時(shí)候選取一個(gè)時(shí)間點(diǎn),用在這個(gè)時(shí)間點(diǎn)之前的數(shù)據(jù)做訓(xùn)練,預(yù)測在這個(gè)時(shí)間點(diǎn)之后的,這是最接近真實(shí)應(yīng)用場景的評估結(jié)果。

            交叉驗(yàn)證可能只適用于和時(shí)間屬性不相關(guān)的場景,比如人臉識別,但我們面臨更多的應(yīng)用場景,無論是風(fēng)險(xiǎn)、營銷或者反欺詐,都是在用過去的數(shù)據(jù)訓(xùn)練后預(yù)測未來,最合適這樣場景的評估方法不是交叉驗(yàn)證,而是按照時(shí)間去拆分。

            過擬合一定不好

            最后一個(gè)叫過擬合,這也是一個(gè)討論特別多的話題。以前,通常我們會說如果模型做的太復(fù)雜了就會過擬合,如PPT右邊所示,而最好的方式應(yīng)該是圖中中間的狀態(tài)——擬合的剛剛好,圖中左邊的模型underfitting,沒有訓(xùn)練完全。但現(xiàn)在來看,大多數(shù)的實(shí)際場景都是在拿過去預(yù)測未來,過擬合不一定是不好的,還是要看具體場景。如果這個(gè)場景是過去見過的情況比較多,新的情況比較少的時(shí)候,過擬合反倒是好的。

            打個(gè)比方,如果期末考試題就是平時(shí)的作業(yè),那我們把平時(shí)的作業(yè)都背一遍就是最好的方式,而這就是過擬合。如果期末考試不考平時(shí)作業(yè),全是新題,那么這個(gè)時(shí)候就不能只背平時(shí)的作業(yè),還要充分理解這門課的知識,掌握如何推理解題的技巧。所以過擬合好壞與否,完全取決于場景。如果應(yīng)用場景依靠死記硬背就能搞定,那過擬合反倒是好的。實(shí)際上在我們的設(shè)計(jì)里面,很多時(shí)候我們會傾向于往過擬合靠一點(diǎn),可能做新題會差一點(diǎn),但是對于死記硬背的送分題會做的非常好。在拿過去預(yù)測未來的應(yīng)用場景下,有的時(shí)候過擬合不一定不好,要根據(jù)實(shí)際情況來看。

            今天與大家分享了教科書中的幾個(gè)經(jīng)典問題。其實(shí)在實(shí)際工業(yè)應(yīng)用中,我們不會完全按照教科書中的方式去實(shí)踐。我們也會設(shè)計(jì)很深的模型、很深的決策樹、很多的特征、會過擬合一點(diǎn),我們更強(qiáng)調(diào)按時(shí)間拆分,不強(qiáng)調(diào)均衡采樣。面對教科書中的結(jié)論,我們需要學(xué)會的是根據(jù)實(shí)際場景做出相應(yīng)靈活判斷。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();