tft每日頭條

 > 圖文

 > 貝葉斯算法是分類算法嗎

貝葉斯算法是分類算法嗎

圖文 更新时间:2024-12-01 19:57:51

在矩陣分解在協同過濾推薦算法中的應用中,我們讨論過像funkSVD之類的矩陣分解方法如何用于推薦。今天我們講另一種在實際産品中用的比較多的推薦算法:貝葉斯個性化排序(Bayesian Personalized Ranking, 以下簡稱BPR),它也用到了矩陣分解,但是和funkSVD家族卻有很多不同之處。下面我們來詳細讨論。

1. BPR算法使用背景

在很多推薦場景中,我們都是基于現有的用戶和商品之間的一些數據,得到用戶對所有商品的評分,選擇高分的商品推薦給用戶,這是funkSVD之類算法的做法,使用起來也很有效。但是在有些推薦場景中,我們是為了在千萬級别的商品中推薦個位數的商品給用戶,此時,我們更關心的是用戶來說,哪些極少數商品在用戶心中有更高的優先級,也就是排序更靠前。也就是說,我們需要一個排序算法,這個算法可以把每個用戶對應的所有商品按喜好排序。BPR就是這樣的一個我們需要的排序算法。

2. 排序推薦算法背景介紹

排序推薦算法曆史很悠久,早在做信息檢索的各種産品中就已經在使用了。最早的第一類排序算法類别是點對方法(Pointwise Approach),這類算法将排序問題被轉化為分類、回歸之類的問題,并使用現有分類、回歸等方法進行實現。第二類排序算法是成對方法(Pairwise Approach),在序列方法中,排序被轉化為對序列分類或對序列回歸。所謂的pair就是成對的排序,比如(a,b)一組表明a比b排的靠前。我們要講到的BPR就屬于這一類。第三類排序算法是列表方法(Listwise Approach),它采用更加直接的方法對排序問題進行了處理。它在學習和預測過程中都将排序列表作為一個樣本。排序的組結構被保持。

4. BPR的算法優化思路

貝葉斯算法是分類算法嗎(貝葉斯個性化排序)1

貝葉斯算法是分類算法嗎(貝葉斯個性化排序)2

貝葉斯算法是分類算法嗎(貝葉斯個性化排序)3

5. BPR算法流程

貝葉斯算法是分類算法嗎(貝葉斯個性化排序)4

6. BPR小結

BPR是基于矩陣分解的一種排序算法,但是和funkSVD之類的算法比,它不是做全局的評分優化,而是針對每一個用戶自己的商品喜好分貝做排序優化。因此在叠代優化的思路上完全不同。同時對于訓練集的要求也是不一樣的,funkSVD隻需要用戶物品對應評分數據二元組做訓練集,而BPR則需要用戶對商品的喜好排序三元組做訓練集。

在實際産品中,BPR之類的推薦排序在海量數據中選擇極少量數據做推薦的時候有優勢,因此在某寶某東等大廠中應用也很廣泛。由于BPR并不複雜,下一篇我會用tensorflow來做一個BPR的實踐,敬請期待。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved