LR+GBDT
在推薦問題中久脯,我們一般都預(yù)測(cè)用戶是否做某事谆扎,是一個(gè)二分類問題锋八。
對(duì)于二分類問題一般我們使用的是邏輯回歸浙于。邏輯回歸是廣義的線性模型,增加sigma函數(shù)使其輸出值在[0挟纱,1]內(nèi)羞酗,可以看做是一個(gè)事件發(fā)生的概率值。
但是邏輯回歸對(duì)非線性的關(guān)系無能為力樊销。
為了解決這個(gè)問題整慎,我們可以用特征值組合解決這個(gè)問題。
假如性別和國(guó)籍與最終預(yù)測(cè)結(jié)果是非線性的围苫。而性別+國(guó)籍與預(yù)測(cè)結(jié)果是線性的裤园。如性別(男)并且國(guó)籍(china)。一個(gè)并操作就是特征值組合剂府。
假如我們使用one_hot來表示特征值拧揽,那么性別1,國(guó)籍1 -> 性別國(guó)籍 1
特征值組合也屬于特征工程的一部分腺占,其難點(diǎn)在于怎么組合淤袜,組合哪些特征值是有效的。
特征選擇時(shí)衰伯,我們總使用樹模型來選擇最重要的幾個(gè)特征值铡羡。在這里樹模型又發(fā)揮著特征組合的功能。
我們先來看一棵cart樹意鲸,因?yàn)樗且活w二叉樹烦周,所以每一個(gè)節(jié)點(diǎn)分出兩個(gè)枝干。每一個(gè)葉節(jié)點(diǎn)作為輸出怎顾。
例如读慎,樣本x最終落在了小女孩葉節(jié)點(diǎn)上,那么我們可以認(rèn)為age<15并且No male與最終結(jié)果有線性關(guān)系槐雾。
這樣我們可以認(rèn)為每一個(gè)葉節(jié)點(diǎn)都可以看做一個(gè)組合過的特征值夭委,且該特征值與結(jié)果有著線性關(guān)系。
我們選擇的樹模型是梯度提升樹募强。什么是梯度提升樹?又為什么選擇它呢?
梯度提升樹是一個(gè)提升bosting模型株灸。從一個(gè)弱分類器開始崇摄,開始用訓(xùn)練集訓(xùn)練出一棵樹,將其負(fù)梯度作為殘差(與真實(shí)性的差距)
用殘差訓(xùn)練下一棵樹蚂且,用下一棵樹的葉節(jié)點(diǎn)去最小化全局損失函數(shù)
最后更新樹(就是累加過程)
直到滿足一個(gè)較小的誤差配猫。并得到強(qiáng)分類器
為什么使用該樹呢?
梯度提升樹是一顆樹+一棵樹累加起來的。前面的樹是為了區(qū)分大多數(shù)樣本杏死,而后面的樹是為了把特殊的樣本分開。所以我們得到的組合特征也是有重要性的捆交。
這比起單棵樹或者是隨機(jī)森林都要好淑翼。
我們將GBDT中,安樹的葉節(jié)點(diǎn)采取特征值做one_hot然后喂入邏輯回歸模型品追。會(huì)得到很好的效果玄括。