Kaggle 指南(二) —— 主流機(jī)器學(xué)習(xí)算法


-- How to Win a Data Science Competition: Learn from Top Kagglers課堂筆記

目前競(jìng)賽中(其實(shí)也是常規(guī)實(shí)際問(wèn)題)的主流算法有四大門(mén)類: Linear, Tree-based, kNN 以及 Neural Networks 下面分別簡(jiǎn)單介紹一下:

Linear相關(guān)模型

假設(shè)我們有兩組點(diǎn), 灰色點(diǎn)屬于一類,綠色點(diǎn)屬于另一類歉眷,如上圖所示凝危, 那么我們可以很方便的擬合條直線將之區(qū)分為兩類些己,落在右上方的為A 落在左下方的為B亥啦。


上述是兩維的情況躯砰, 這種思路還可可以拓展到高維空間枝恋, 這個(gè)時(shí)候分界展現(xiàn)形式就可能是一個(gè)平面而非直線了创倔, 具體算法比如Logistic Regression 以及SVM。

Linear相關(guān)模型非常適用于稀疏高維數(shù)據(jù)的分類鼓择。不過(guò)也有很多數(shù)據(jù)沒(méi)有那么容易用Linear區(qū)分三幻,比如下面這種“環(huán)”數(shù)據(jù):

在應(yīng)用過(guò)程中你不必從頭實(shí)現(xiàn)Linear算法,各種現(xiàn)成的庫(kù)可以在Scikit-learn或者 Vowpal Wabbit找到呐能, 后者專門(mén)用于處理大型數(shù)據(jù)集念搬。

Tree-based模型

Tree-based(決策樹(shù))模型通常是作為構(gòu)建復(fù)雜模型的一個(gè)基礎(chǔ)模型。類似于線性模型摆出,我們假設(shè)有兩組數(shù)據(jù)點(diǎn)朗徊,我們嘗試用一條平行于坐標(biāo)軸的直線將之分開(kāi)

現(xiàn)在我們得到了兩片區(qū)域,上面這片區(qū)域是灰色點(diǎn)的概率為1偎漫, 下面這片是灰色的概率為0.2 爷恳。 那么上面空間不用再拆分了,我們繼續(xù)畫(huà)一條直線拆分下面這片區(qū)域

這樣我們得到左下區(qū)域的灰色概率為0象踊, 剩余區(qū)域灰色概率為1温亲。這個(gè)過(guò)程就是決策樹(shù)工作的典型過(guò)程, 簡(jiǎn)單來(lái)講就是使用分治的策略不斷劃分子空間直到不可再劃分為止杯矩。

決策樹(shù)算法的策略簡(jiǎn)單但是非常有效栈虚,其有兩個(gè)最有名的變形分別是隨機(jī)森林(Random Forest)和梯度提升決策樹(shù)(Gradient Boost Decision Trees, GBDT)。決策樹(shù)及其變形在Kaggle競(jìng)賽中應(yīng)用極為廣泛史隆,不夸張的說(shuō)幾乎所有表格數(shù)據(jù)相關(guān)的競(jìng)賽其冠軍方案都使用了這種策略魂务。

不過(guò)決策樹(shù)也不是萬(wàn)能的,在很多有明顯線性依賴關(guān)系的數(shù)據(jù)集上,決策樹(shù)表現(xiàn)要比線性模型要差很多粘姜,因?yàn)闉榱朔指羁臻g其需要生成大量樹(shù)分岔鬓照,而且在決策邊界也可能會(huì)變得不準(zhǔn)確。

對(duì)于基本的決策樹(shù)和Random Forest孤紧,我們依然可以在Scikit-learn或者 Vowpal Wabbit中找到其實(shí)現(xiàn)豺裆,對(duì)于GBDT有兩個(gè)主流的實(shí)現(xiàn)分別是 XGBoostLightGBM

k-NN

k-NN 是 k-Nearest 即K 鄰近算法的縮寫(xiě),我們還是從分類預(yù)測(cè)問(wèn)題入手坛芽,類似的留储,我們希望預(yù)測(cè)下圖中帶問(wèn)好的這個(gè)點(diǎn)的分類

Screenshot from 2019-07-03 10-36-52.png

我們做一個(gè)假設(shè), 即彼此接近的點(diǎn)可能會(huì)有相同的標(biāo)簽咙轩,因此我們希望能找到距離目標(biāo)點(diǎn)相近的點(diǎn),并把這個(gè)點(diǎn)的標(biāo)簽作為目標(biāo)點(diǎn)的標(biāo)簽阴颖,因此某個(gè)點(diǎn)屬于那個(gè)分類是由其鄰居“投票”決定的活喊。這個(gè)尋找過(guò)程就是鄰近算法的基本思路。如果我們?cè)偻卣沟絢 個(gè)目標(biāo)找其鄰近的點(diǎn)量愧,那么這個(gè)算法就會(huì)產(chǎn)出k個(gè)分類, 也就是k-NN算法钾菊。

盡管K-NN思路簡(jiǎn)單,但是卻是競(jìng)賽中非常常用的一種前期處理思路偎肃。類似于前面兩個(gè)模型煞烫,k-NN的實(shí)現(xiàn)也可以在Scikit-learn或者 Vowpal Wabbit中找到。

Neural Networks(NN)

NN是近幾年耀眼的明星累颂,這其實(shí)不是一個(gè)算法滞详,而是一類特殊的機(jī)器學(xué)習(xí)模型,直觀來(lái)講紊馏,NN 類似于一個(gè)黑盒料饥,與決策樹(shù)不同,NN 可以生成一個(gè)平滑的分割曲線朱监,在一些特定問(wèn)題如圖像岸啡、聲音、文本和序列上赫编,NN都取得了革命性的進(jìn)步巡蘸。NN的具體原理是需要專門(mén)系統(tǒng)學(xué)習(xí)的,但是你可以在 https://playground.tensorflow.org/獲得一個(gè)直觀的認(rèn)識(shí)

https://playground.tensorflow.org/

實(shí)現(xiàn)NN的軟件包非常多擂送,主流的有Tensorflow, Keras, Pytorch, Mxnet 悦荒。其中Keras是對(duì)Tensorflow的易用化封裝, Pytorch近來(lái)由于其定義網(wǎng)絡(luò)的靈活性受到越來(lái)越多資深Kaggler的青睞团甲。

One more thing

Here is no method which outperforms all others for all tasks
沒(méi)有銀彈

沒(méi)有一種方法可以適用于所有數(shù)據(jù)逾冬,每種方法都限定與其適用的數(shù)據(jù)類型假設(shè)。通常我們看到大多數(shù)競(jìng)賽題目上,GBDT 和 NN 方法都表現(xiàn)良好身腻,但并不能因此低估其他比如Linear和K-NN方法产还,在某些問(wèn)題上后者可能表現(xiàn)更好,比如這個(gè)結(jié)合了邏輯回歸和隨機(jī)森林算法的方案,得分超過(guò)了CNN獲得了第一(http://blog.kaggle.com/2017/03/24/leaf-classification-competition-1st-place-winners-interview-ivan-sosnovik/

Next...

Kaggle 參賽指南(三)-- 數(shù)據(jù)預(yù)處理

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末嘀趟,一起剝皮案震驚了整個(gè)濱河市脐区,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌她按,老刑警劉巖牛隅,帶你破解...
    沈念sama閱讀 206,482評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異酌泰,居然都是意外死亡媒佣,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)陵刹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)默伍,“玉大人,你說(shuō)我怎么就攤上這事衰琐∫埠” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,762評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵羡宙,是天一觀的道長(zhǎng)狸剃。 經(jīng)常有香客問(wèn)我,道長(zhǎng)狗热,這世上最難降的妖魔是什么钞馁? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,273評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮斗搞,結(jié)果婚禮上指攒,老公的妹妹穿的比我還像新娘。我一直安慰自己僻焚,他們只是感情好允悦,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,289評(píng)論 5 373
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著虑啤,像睡著了一般隙弛。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上狞山,一...
    開(kāi)封第一講書(shū)人閱讀 49,046評(píng)論 1 285
  • 那天全闷,我揣著相機(jī)與錄音凿将,去河邊找鬼跋理。 笑死爪幻,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蠢正。 我是一名探鬼主播宋舷,決...
    沈念sama閱讀 38,351評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼磷仰,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼浊竟!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起淫奔,我...
    開(kāi)封第一講書(shū)人閱讀 36,988評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤山涡,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后唆迁,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體鸭丛,經(jīng)...
    沈念sama閱讀 43,476評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,948評(píng)論 2 324
  • 正文 我和宋清朗相戀三年唐责,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了鳞溉。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,064評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡鼠哥,死狀恐怖穿挨,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情肴盏,我是刑警寧澤,帶...
    沈念sama閱讀 33,712評(píng)論 4 323
  • 正文 年R本政府宣布帽衙,位于F島的核電站菜皂,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏厉萝。R本人自食惡果不足惜恍飘,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,261評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望谴垫。 院中可真熱鬧章母,春花似錦、人聲如沸翩剪。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,264評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)前弯。三九已至蚪缀,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間恕出,已是汗流浹背询枚。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,486評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留浙巫,地道東北人金蜀。 一個(gè)月前我還...
    沈念sama閱讀 45,511評(píng)論 2 354
  • 正文 我出身青樓刷后,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親渊抄。 傳聞我的和親對(duì)象是個(gè)殘疾皇子尝胆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,802評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容