多模型融合推薦演算法

2022-06-09 09:39:10 字數 2150 閱讀 6339

常見的多模型融合演算法

多模型融合演算法可以比單一模型演算法有極為明顯的效果提公升。但是怎樣進行有效的融合,充分發揮各個演算法的長處?這裡總結一些常見的融合方法:

1. 線性加權融合法

是給使用者(user)推薦商品(item)的得分, 是演算法k的權重,是演算法k得到的使用者(user)對商品item的推薦得分。這種融合方式實現簡單,但效果較差。因為線性加權的引數是固定的,實踐中引數的選取通常依賴對全域性結果公升降的總結,一旦設定後,無法靈活的按照不同的推薦場景來自動變換。比如如果某個場景用演算法a效果較好,另外一種場景用演算法b效果較好,線性融合的方式在這種情況下不能取得好的效果。為了解決這個問題,達觀資料進行了改進,通過引入動態引數的機制,通過訓練使用者對推薦結果的評價、與系統的**是否相符生成加權模型,動態的調整權重使得效果大幅提公升。

2. 交叉融合法

交叉融合常被稱為blending方法,其思路是在推薦結果中,穿插不同推薦模型的結果,以確保結果的多樣性。

這種方式將不同演算法的結果組合在一起推薦給使用者。

交叉融合法的思路是「各花入各眼」,不同演算法的結果著眼點不同,能滿足不同使用者的需求,直接穿插在一起進行展示。這種融合方式適用於同時能夠展示較多條結果的推薦場景,並且往往用於演算法間區別較大,如分別基於使用者長期興趣和短期興趣計算獲得的結果。

3. 瀑布融合法

在瀑布型混合技術中,前乙個推薦方法過濾的結果,將作為後乙個推薦方法的候選集合輸入,層層遞進,候選結果在此過程中會被逐步遴選,最終得到乙個量少質高的結果集合。這樣設計通常用於存在大量候選集合的推薦場景上。

設計瀑布型混合系統中,通常會將運算速度快、區分度低的演算法排在前列,逐步過渡為重量級的演算法,讓寶貴的運算資源集中在少量較高候選結果的運算上。在面對候選推薦物件(item)數量龐大,而可**的推薦結果較少,要求精度較高、且運算時間有限的場景下,往往非常適用。 

4. 特徵融合法

不同的原始資料質量,對推薦計算的結果有很大的影響。以使用者興趣模型為例,我們既可以從使用者的實際購買行為中,挖掘出使用者的「顯式」興趣,又可以用使用者的點選行為中,挖掘使用者「隱式」興趣;另外從使用者分類、人口統計學分析中,也可以推測使用者偏好;如果有使用者的社交網路,那麼也可以了解周圍使用者對該使用者興趣的影響。

所以通過使用不同的資料**,抽取不同的特徵,輸入到推薦模型中進行訓練,然後將結果合併。這種思路能解決現實中經常遇到的資料缺失的問題,因為並非所有使用者都有齊全的各類資料,例如有些使用者就缺少交易資訊,有些則沒有社交關係資料等。通過特徵融合的方法能確保模型不挑食,擴大適用面。

5.**融合法

如下圖所示,我們把各個推薦演算法的**結果作為特徵,將使用者對商品的反饋資料作為訓練樣本,形成了第二層**模型的訓練集合,具體流程如下

圖中的二層**模型可以使用常用的分類演算法,如svm、隨機森林、較大熵等,但達觀實踐中,融合效果較好的是gbdt(gradient boosting decision tree)方法。

6.分類器boosting思想 

推薦問題有時也可以轉化為模式分類(pattern classification)問題去看待,我們將候選集合是否值得推薦劃分為幾個不同的集合,然後通過設計分類器的方法去解決。

這樣一來我們就可以用到分類演算法中的boosting思想,即將若干個弱分類器,組合成乙個強分類器的方法。boosting的核心思想是每輪訓練後對**錯誤的樣本賦以較大的權重,加入後續訓練集合,也就是讓學習演算法在後續的訓練集中對較難的判例進行強化學習,從而得到乙個帶權重的**函式序列h,**效果好的**函式權重較大,反之較小。

最終的**函式h對分類問題採用有權重的投票方式,對回歸問題採用加權平均的方法對新示例進行判別。演算法的流程如下:(參考自treeboost**)

通過模型進行融合往往效果較好,但實現代價和計算開銷也比較大。

演算法實踐 模型融合

表現最好的模型是gbdt和xgboost。以準確率和auc值為判別標準 模型評估 如下 gbdt 訓練集 標籤和概率輸出 train gbdt predict clf gbdt.predict x train train gbdt predict pro clf gbdt.predict proba...

推薦系統 新聞推薦入門之排序模型 模型融合

排序階段選擇了三個比較有代表性的排序模型,它們分別是 lgb的排序模型 lgb的分類模型 深度學習的分類模型din 得到了最終的排序模型輸出的結果之後,還選擇了兩種比較經典的模型整合的方法 輸出結果加權融合 staking 將模型的輸出結果再使用乙個簡單模型進行 din的全稱是deep intere...

推薦演算法 GBDT與LR演算法融合

什麼是gbdt演算法?gbdt演算法是boosting演算法中的一種,這種演算法的特點是,由多個弱分類演算法組成,並且下級的弱分類器是依賴上級分類器的。gbdt演算法依賴cart演算法 cart演算法的目標是找到乙個分割點使得分割後的兩個子集合內部產生的方差要最小。公式如下 通過上面的方式可以產生m...