從原理到實現,詳解基於樸素ML思想的協同過濾推薦演算法
- 2019 年 10 月 7 日
- 筆記
編輯丨Zandy
來源 | 大數據與人工智慧(ID: ai-big-data)
作者在《協同過濾推薦演算法》、《矩陣分解推薦演算法》這兩篇文章中介紹了幾種經典的協同過濾推薦演算法。我們在本篇文章中會繼續介紹三種思路非常簡單樸素的協同過濾演算法,這幾個演算法的原理簡單,容易理解,也易於工程實現,非常適合我們快速搭建推薦演算法原型,並快速上線到真實業務場景中,作為其他更複雜演算法的baseline。
具體來說,我們在本篇文章中會介紹利用關聯規則、樸素貝葉斯(naive bayes)、聚類三類機器學習演算法來做推薦的方法。並且還會介紹3個基於這三類演算法核心思想的工業級推薦系統,這3個推薦系統被YouTube和Google分別用於影片和新聞推薦中(其中會介紹Google News的兩個推薦演算法),在YouTube和Google News早期產品中得到採用,並且在當時情況下效果是非常不錯的,值得我們深入了解和學習。
一、基於關聯規則的推薦演算法
關聯規則是數據挖掘領域非常經典的演算法,該演算法來源於一個真實的案例:「啤酒與尿布」的故事。該故事發生在20世紀90年代的美國沃爾瑪超市中,沃爾瑪的超市管理人員分析銷售數據時發現了一個令人難以置信的現象:在某些特定的情況下,「啤酒」與「尿布」兩件看上去毫無關係的商品會經常出現在同一個購物籃(用戶一次購物所買的所有商品形象地稱為一個購物籃)中,這種獨特的銷售現象引起了管理人員的注意,經過後續調查發現,這種現象出現在年輕的父親身上。
在美國有嬰兒的家庭中,一般是母親在家中照看嬰兒,年輕的父親前去超市購買尿布。父親在購買尿布的同時,往往會順便為自己購買啤酒,這樣就會出現啤酒與尿布這兩件看上去不相干的商品經常會出現在同一個購物籃的現象。
沃爾瑪發現了這一獨特的現象,開始在賣場嘗試將啤酒與尿布擺放在相同的區域,讓年輕的父親可以方便地同時找到這兩件商品,並很快地完成購物;這樣做沃爾瑪超市就讓這些客戶一次購買了兩件商品、而不是一件,從而獲得了很好的商品銷售收入,這就是「啤酒與尿布」故事的由來。























