推荐系统——GBDT+LR
[[邏輯回歸模型]]
邏輯回歸是在[[線性回歸]]的基礎(chǔ)上添加了一個(gè)Sigmoid函數(shù)(非線形)映射,從而可以使邏輯回歸成為一個(gè)優(yōu)秀的分類算法
邏輯回歸假設(shè)數(shù)據(jù)服從[[伯努利分布]],通過[[極大化似然函數(shù)]]的方法,運(yùn)用[[梯度下降]]來求解參數(shù),來達(dá)到將數(shù)據(jù)二分類的目的。
相比于[[協(xié)同過濾]]和[[矩陣分解]]利用用戶的物品“相似度”進(jìn)行推薦,LR將問題看成一個(gè)分類問題,通過預(yù)測(cè)正樣本的概率對(duì)物品進(jìn)行排序,因此邏輯回歸模型將推薦問題轉(zhuǎn)化成了一個(gè)點(diǎn)擊率預(yù)估問題。
邏輯回歸做推薦的步驟
對(duì)于LR模型而言,主要關(guān)鍵為求出每個(gè)特征的權(quán)重參數(shù)www,一般是使用梯度下降的方式
優(yōu)點(diǎn):
缺點(diǎn):
所以如何自動(dòng)發(fā)現(xiàn)有效的特征、特征組合,彌補(bǔ)人工經(jīng)驗(yàn)不足,縮短LR特征實(shí)驗(yàn)周期,可以交由[[GBDT]]來做,它可以自動(dòng)發(fā)現(xiàn)特征并進(jìn)行有效組合
[[GBDT]]模型
GBDT名為梯度提升樹,是傳統(tǒng)機(jī)器學(xué)習(xí)中對(duì)真實(shí)分布擬合最好的幾種算法之一
GBDT通過采用加法模型(即基函數(shù)的線性組合),以及不斷減小訓(xùn)練過程產(chǎn)生的誤差來達(dá)到將數(shù)據(jù)分類或者回歸的算法。
GBDT每輪產(chǎn)生一個(gè)弱分類器,每個(gè)分類器在上一輪分類器的殘差基礎(chǔ)上進(jìn)行訓(xùn)練。GBDT對(duì)弱分類器的要求只要求足夠簡(jiǎn)單,并且地方低方差高偏差(欠擬合)。由此,每個(gè)分類回歸樹的深度不會(huì)很深,最終的總分類器是將每輪訓(xùn)練得到的弱分類器加權(quán)求和得到。
GBDT來解決二分類和回歸問題的本質(zhì)一樣,都是通過不斷構(gòu)建[[決策樹]],使預(yù)測(cè)結(jié)果一步步接近目標(biāo)值。
GBDT在回歸問題上一般使用平方損失,而在二分類問題中,GBDT和邏輯回歸一樣,使用交叉熵
構(gòu)建分類GBDT的過程:
初始化GBDT
分類GBDT的初始狀態(tài)只有一個(gè)葉子節(jié)點(diǎn),該節(jié)點(diǎn)為所有樣本的初始預(yù)測(cè)值:F0(x)=argmin?γ∑i=1nL(y,γ)F_0(x) = arg \min_{\gamma} \sum_{i=1}^n L(y, \gamma)F0?(x)=argγmin?i=1∑n?L(y,γ)
其中,FFF代表GBDT模型,F0F_0F0?是模型的初識(shí)狀態(tài),該式子的意思是找一個(gè)γ\gammaγ,使所有的樣本的LossLossLoss最小,而γ\gammaγ表示節(jié)點(diǎn)的輸出,即葉子節(jié)點(diǎn),是一個(gè)log(ηi)log(\eta_i)log(ηi?)形式的回歸值,在初始狀態(tài),γ=F0\gamma = F_0γ=F0?
具體例子可以參考學(xué)習(xí)資料中例子P59
GBDT的優(yōu)缺點(diǎn):
對(duì)于GBDT而言,生成樹的過程實(shí)際上就是自動(dòng)進(jìn)行多維度的特征組合的過程,從根節(jié)點(diǎn)到葉子節(jié)點(diǎn)上的整個(gè)路徑(多個(gè)特征值判斷),才能最終決定一棵樹的預(yù)測(cè)值,另外,對(duì)于連續(xù)型特征的處理,GBDT可以拆分出一個(gè)臨界閾值。
而GBDT對(duì)于海量的id類特征,GBDT由于樹的深度和樹的數(shù)量限制(防止過擬合),不能有效存儲(chǔ);另外海量特征也會(huì)存在性能瓶頸,當(dāng)GBDT的one hot特征大于100k維時(shí),需要做分布式訓(xùn)練才能保證不爆內(nèi)存,因此,GBDT通常配合少量的反饋CTR特征來表達(dá),在帶來一定范化能力的同時(shí)會(huì)有信息損失,對(duì)于頭部資源無法有效表達(dá)。
因此提出GBDT+LR
GBDT+LR
GBDT+LR:先利用GBDT進(jìn)行特征篩選和組合進(jìn)而生成新的離散特征向量,再把該特征向量當(dāng)作LR模型的輸入,來產(chǎn)生的最后的預(yù)測(cè)結(jié)果。
總結(jié)
以上是生活随笔為你收集整理的推荐系统——GBDT+LR的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (完整版)c语言初学必背代码
- 下一篇: 杨柳目-杨柳科-柳属-柳树:柳树