在大數(shù)據(jù)特別熱門的今天,出現(xiàn)了各種培訓(xùn)課程暮的。但我發(fā)現(xiàn)這些課程的重點(diǎn)都放在算法的學(xué)習(xí)上是偷。如何理解logistic回歸或深度學(xué)習(xí)的確很酷,但一旦你開始處理數(shù)據(jù)纬霞,你會(huì)發(fā)現(xiàn)還有其他的東西更為重要凌埂。
我在大學(xué)里教了很多年的深度學(xué)習(xí),這些課程和講座總是特別注重特定的算法诗芜,你學(xué)習(xí)支持向量機(jī)器瞳抓、高斯混合模型的聚類、k-均值等等伏恐,但是只有在你寫碩士論文的時(shí)候你需要用到這些方法孩哑。
那么什么才是正確的呢?關(guān)鍵就是你要保證你做的模型對(duì)于未來(lái)的數(shù)據(jù)也能有好的表現(xiàn)翠桦。所以我在這里教你三個(gè)書本不能教給你的知識(shí)横蜒。
一、對(duì)模型的有正確的認(rèn)識(shí)是關(guān)鍵
秤掌、 機(jī)器學(xué)習(xí)或是數(shù)據(jù)科學(xué)(總之是這個(gè)領(lǐng)域)的主要目的愁铺,就是建立一個(gè)能預(yù)測(cè)未來(lái)數(shù)據(jù)的系統(tǒng)。在普通情況中闻鉴,你很難發(fā)現(xiàn)監(jiān)督學(xué)習(xí)(例如分類)和無(wú)監(jiān)督學(xué)習(xí)(例 如聚類)之前的區(qū)別茵乱,你通常會(huì)使用你構(gòu)建和設(shè)計(jì)的方法去搜集一些數(shù)據(jù),但最終你希望你設(shè)計(jì)的模型可以應(yīng)用到未來(lái)的數(shù)據(jù)孟岛,并且確保該模型行之有效瓶竭,可以同你 對(duì)原始數(shù)據(jù)的測(cè)驗(yàn)結(jié)果相同。
初學(xué)者經(jīng)常會(huì)犯的一個(gè)錯(cuò)誤就是渠羞,只看到了已有數(shù)據(jù)的表現(xiàn)斤贰,就認(rèn)為這對(duì)未來(lái)數(shù)據(jù)是適用的。很不幸的是事實(shí)通常不是這樣次询。例如在一個(gè)監(jiān)督學(xué)習(xí)的案例中荧恍,任務(wù)是根據(jù)你的輸入輸出的行為來(lái)預(yù)測(cè),例如把電子郵件分為垃圾郵件和非垃圾郵件。
如果你只考慮訓(xùn)練數(shù)據(jù)送巡,那么對(duì)機(jī)器來(lái)說(shuō)很容易返回完美的預(yù)測(cè)結(jié)果摹菠,只是通過(guò)死記硬背就可以。機(jī)器因?yàn)槠淙萘看笃梢源鎯?chǔ)和檢索大量的數(shù)據(jù)次氨,但這導(dǎo)致過(guò)度擬合,缺乏概括摘投。
所以適當(dāng)?shù)脑u(píng)估方式是通過(guò)分割數(shù)據(jù)煮寡,分析一個(gè)部分,然后預(yù)測(cè)其他部分來(lái)模擬未來(lái)的結(jié)果犀呼。通常幸撕,訓(xùn)練部分是龐大的,過(guò)程也要重復(fù)數(shù)次外臂,以獲得幾個(gè)數(shù)字來(lái)看看什么才是合適的方法杈帐,這個(gè)過(guò)程稱為交叉驗(yàn)證。
盡 管方法看起來(lái)如此可靠专钉,還是經(jīng)常會(huì)發(fā)生錯(cuò)誤挑童,特別是當(dāng)數(shù)據(jù)是不穩(wěn)定時(shí),例如數(shù)據(jù)的基礎(chǔ)分布會(huì)隨時(shí)間變化跃须,在現(xiàn)實(shí)中這是經(jīng)常發(fā)生的站叼,6月的銷售數(shù)字和12月 的就會(huì)有很大不同」矫瘢或者數(shù)據(jù)點(diǎn)之間具有大量相關(guān)性尽楔,也就是說(shuō),如果你知道一個(gè)數(shù)據(jù)點(diǎn)意味著你已經(jīng)知道了很多關(guān)于另一個(gè)數(shù)據(jù)點(diǎn)的信息第练。例如阔馋,股票價(jià)格通常在 一天之內(nèi)會(huì)從一個(gè)價(jià)格跳到另一個(gè)價(jià)格,如果你搜集這些數(shù)據(jù)娇掏,并做了測(cè)試呕寝,很可能會(huì)推導(dǎo)出和它有相關(guān)性的數(shù)據(jù)。
每當(dāng)出現(xiàn)這種情況婴梧,你就會(huì)得到過(guò)于樂(lè)觀的數(shù)字下梢,你的方法將無(wú)法在未來(lái)真正的數(shù)據(jù)中很好地工作。在最壞的情況下塞蹭,當(dāng)你終于說(shuō)服別人來(lái)使用你的方法時(shí)這個(gè)方法并不能達(dá)到預(yù)期效果孽江。所以學(xué)習(xí)如何正確評(píng)估是關(guān)鍵!
二番电、一切都在于特征提取
學(xué)習(xí)到一種新的方法是令人興奮的岗屏,但事實(shí)是,大部分最復(fù)雜的方法執(zhí)行起來(lái)基本是相同的,而真正的區(qū)別是在通過(guò)學(xué)習(xí)把原始數(shù)據(jù)的特征提取出來(lái)这刷。
現(xiàn)代的學(xué)習(xí)方法是非常強(qiáng)大的涎跨,很容易在幾十秒內(nèi)處理成百上千的數(shù)據(jù)點(diǎn),但事實(shí)是崭歧,這些方法是非常愚蠢的,特別是線性模型(如Logistic回歸撞牢,線性支持向量機(jī))方法基本上同你的計(jì)算器一樣傻乎乎率碾。
它們善于通過(guò)足夠的數(shù)據(jù)鑒定出特征,但是如果信息不足屋彪,或者沒(méi)有通過(guò)輸入線性組合展現(xiàn)特征的所宰,它們就什么也做不了。它們也無(wú)法通過(guò)洞察數(shù)據(jù)的來(lái)實(shí)現(xiàn)數(shù)據(jù)自身的縮減畜挥。
換句話說(shuō)仔粥,你可以通過(guò)合適的特征來(lái)大量減少數(shù)據(jù)所需的量。假設(shè)說(shuō)你減少了所有要預(yù)測(cè)的函數(shù)的特征蟹但,還有什么東西需要學(xué)習(xí)躯泰,對(duì)不對(duì)?那是多么強(qiáng)大的特征提然恰麦向!
這 意味著兩件事。首先客叉,你需要確保你掌握了這些方法中的一個(gè)诵竭,而且要堅(jiān)持下去。所以你真的不需要Logistic回歸和線性向量機(jī)都學(xué)習(xí)兼搏,只學(xué)習(xí)其中一個(gè)就 行卵慰。這也包括你需要理解哪些方法是類似的,這其中的關(guān)鍵點(diǎn)在于底層的模型佛呻。所以深度學(xué)習(xí)是不一樣的裳朋,但線性模型在表現(xiàn)上來(lái)看是差不多的,盡管這些方法有些 不同吓著,但是在大多數(shù)的案例中都可以得到類似的預(yù)測(cè)結(jié)果再扭。
第二點(diǎn),你需要學(xué)習(xí)所有關(guān)于這個(gè)行業(yè)的特征夜矗。不幸的是這是一門藝術(shù)泛范,而且?guī)缀鯖](méi)有任何教科書可以提供,因?yàn)橹挥泻苌俚睦碚撐伤骸U罢荡;幸粋€(gè)很長(zhǎng)的道路,有時(shí)特征需要提前對(duì)數(shù)。每當(dāng)你可以消除一些自由度区赵,你就可以顯著地減少你所需要訓(xùn)練的數(shù)據(jù)量惭缰。
有時(shí)候發(fā)現(xiàn)這些類型的轉(zhuǎn)化是很容易的。例如如果你正在做手寫字符的識(shí)別笼才,如果有前景色和背景色的區(qū)別漱受,字符的顏色就會(huì)變的很重要。
教科書往往只提供一些看起來(lái)很強(qiáng)大的方法骡送,你需要用數(shù)據(jù)測(cè)試一下就能得出結(jié)果昂羡,這也可能是從理論觀點(diǎn)和數(shù)據(jù)源來(lái)說(shuō)是對(duì)的,但是在現(xiàn)實(shí)中摔踱,數(shù)據(jù)和我們的時(shí)間是有限的虐先,所以尋找大信息量的特點(diǎn)是非常有必要的。
三派敷、選型大多數(shù)是看周期蛹批,而不是數(shù)據(jù)集的大小。
你不想在大數(shù)據(jù)時(shí)代過(guò)多的表達(dá)自己的觀點(diǎn)篮愉,但是大多數(shù)數(shù)據(jù)會(huì)完美的融入你的主內(nèi)存腐芍。你的方法可能不會(huì)在跑數(shù)據(jù)上花費(fèi)很長(zhǎng)時(shí)間,但是你會(huì)花很多時(shí)間從原始數(shù)據(jù)中提取出特征试躏,進(jìn)行交叉驗(yàn)證甸赃。為你的學(xué)習(xí)方法比較不同特征提取管道和參數(shù)。
對(duì) 于模型的選擇冗酿,你可以通過(guò)大量的參數(shù)組合埠对,評(píng)估一個(gè)相同的數(shù)據(jù)副本的性能。現(xiàn)在的問(wèn)題就是所有的組合爆炸裁替,比方說(shuō)你有兩個(gè)參數(shù)项玛,它需要大約一分鐘來(lái)訓(xùn)練你 的模型,并獲得一個(gè)結(jié)果來(lái)評(píng)估數(shù)據(jù)集的性能弱判。如果每一個(gè)參數(shù)有5個(gè)候選數(shù)值襟沮,并且執(zhí)行5倍交叉驗(yàn)證(把數(shù)據(jù)分割成5部分,測(cè)試5次昌腰,在每次迭代中使用不同 的數(shù)據(jù)來(lái)測(cè)試)开伏,這意味著你需要運(yùn)行25次來(lái)找出哪種方法的效果更好,這可能需要花費(fèi)兩個(gè)小時(shí)的時(shí)間遭商。
好消息是這是很容易并行化的固灵,因?yàn)椴煌倪\(yùn)行是完全相互獨(dú)立的。這同樣適用于特征提取劫流,您通常使用相同的操作(解析巫玻,提取丛忆,轉(zhuǎn)換等),以每個(gè)數(shù)據(jù)獨(dú)立設(shè)置仍秤,導(dǎo)致一些“ 密集并行”(是的熄诡,這是一個(gè)技術(shù)術(shù)語(yǔ))。
壞消息是這對(duì)做數(shù)據(jù)分析的人來(lái)說(shuō)是很多的诗力,因?yàn)樗械倪@些意味著對(duì)復(fù)雜辦法實(shí)現(xiàn)拓展實(shí)現(xiàn)是沒(méi)有什么需求的凰浮,但是對(duì)于儲(chǔ)存的并行數(shù)據(jù)運(yùn)用一些相同的算法在大多數(shù)情況下都非常有幫助。
最 后有很多數(shù)據(jù)并不意味著你需要所有的數(shù)據(jù)苇本,問(wèn)題是有關(guān)于潛在學(xué)習(xí)問(wèn)題的復(fù)雜性袜茧。如果這個(gè)問(wèn)題可以用一個(gè)簡(jiǎn)單的模型解決,你就不需要用那么多的數(shù)據(jù)來(lái)推斷模 型的參數(shù)圈澈。這種情況下,采用數(shù)據(jù)的隨機(jī)子集可能會(huì)有很大的幫助尘惧。正如我上面所說(shuō)的康栈,有時(shí)候正確的共您可以幫助他們減少所需要的數(shù)據(jù)點(diǎn)的數(shù)量。
總之知道如何正確的評(píng)價(jià)可以幫助你減少一個(gè)方法不能應(yīng)用與未來(lái)數(shù)據(jù)的風(fēng)險(xiǎn)喷橙。獲取正確的特征提取可能是最有效的方法來(lái)獲得最好的結(jié)果啥么。最后。并不總是大數(shù)據(jù)贰逾,分布式計(jì)算也可以幫助你悬荣。