1. 程式人生 > >機器學習 | 基於機器學習的推薦系統客戶購買可能性預測分析

機器學習 | 基於機器學習的推薦系統客戶購買可能性預測分析

在上週我寫了一篇“基於機器學習的銀行電話營銷客戶購買可能性預測分析”,那是作為對客戶購買可能性預測分析的第一次驗證案例的嘗試。今天是基於機器學習的客戶購買可能性預測分析的第二次驗證案例:推薦系統。

推薦系統

基於熱度推薦:由專家或者一定時期產品銷售情況或者主推產品,製作一個排行榜,在沒有使用者資料的情況下根據排行榜推薦

基於使用者特徵推薦:通過歷史資料,由演算法(機器學習)根據使用者特徵進行推薦,在使用者資料能夠填寫一些基本資料的情況下

基於知識推薦:通過使用者要求,比如果需要高收益,需要低風險的產品,在資料庫對產品進行篩選,然後推薦

基於內容推薦:通過使用者已經購買的產品,推薦內容相似的物品,這裡的內容相似是由專業人員提供

協同過濾推薦:通過演算法直接計算物品相識度,注意這裡的物品相似度不是2個物品內容,而是有購買情況來確定的,比如說購買A(手機)的使用者,大多數都購買了B(手機套),演算法計算出A與B是相似的

一些機器學習推薦:通過以一些機器學習演算法,比如說FM(因式分解機),深度學習,deepfm等

其中對於新使用者通常三選一 對於老使用者,通常是使用多種演算法,然後加權得出最優的推薦列表

驗證方法

在這裡主要3種方法驗證,協同過濾,FM(因式分解機),deepFM。

協同過濾演算法

計算所有物品的相似度(注意不是內容相似)

推薦方法: 對使用者夠買(或者評價過)的物品查詢相識度,然後加權推薦

簡單例子

最終推薦(從左到右)

基於協同過濾展示 對user=‘1’

Python,列印結果,這裡看過的電影只打印前5,推薦電影只推薦加權後前10

------WATCHED MOVIES--------

1193 "One Flew Over the Cuckoo's Nest (1975)" 'Drama'

2355 "Bug's Life, A (1998)" "Animation|Children's|Comedy"

1287 'Ben-Hur (1959)' 'Action|Adventure|Drama'

2804 'Christmas Story, A (1983)' 'Comedy|Drama'

595 'Beauty and the Beast (1991)' "Animation|Children's|Musical"

------RECOMMEND MOVIES--------

1196 'Star Wars: Episode V - The Empire Strikes Back (1980)' 'Action|Adventure|Drama|Sci-Fi|War']]

1265 'Groundhog Day (1993)' 'Comedy|Romance' 364 'Lion King, The (1994)' "Animation|Children's|Musical"

260 'Star Wars: Episode IV - A New Hope (1977)' 'Action|Adventure|Fantasy|Sci-Fi'

2571 'Matrix, The (1999)' 'Action|Sci-Fi|Thriller'

2716 'Ghostbusters (1984)' 'Comedy|Horror'

1022 'Cinderella (1950)' "Animation|Children's|Musical"

318 'Shawshank Redemption, The (1994)' 'Drama'

1282 'Fantasia (1940)' "Animation|Children's|Musical"

1580 'Men in Black (1997)' 'Action|Adventure|Comedy|Sci-Fi'

因式分解機演算法

評分矩陣是一種反映使用者對物品喜歡的矩陣,如下圖

因式分解機一種補全評分矩陣的的演算法(紅色為演算法補全),然後根據評分推薦(對使用者1推薦為物品3>物品6>物品1>物品4>物品5)

演算法解釋:通過已知的評分去找到P和Q,K為隱藏的特徵,可以設定不同值

因式分解機演算法的效果如下

------RECOMMEND MOVIES--------

318 'Shawshank Redemption, The (1994)'

858 'Godfather, The (1972)'

1198 'Raiders of the Lost Ark (1981)'

50 'Usual Suspects, The (1995)'

2858 'American Beauty (1999)'

912 'Casablanca (1942)'

593 'Silence of the Lambs, The (1991)'

750 'Dr. Strangelove or: How I Learned to Stop Worrying and Love the Bomb (1963)'

908 'North by Northwest (1959)'

1221 'Godfather: Part II, The (1974)'

deepFM演算法

deepFM 是一種結合FM演算法和深度學習的演算法,結構如下

deepFM演算法的效果如下

------RECOMMEND MOVIES--------

593 'Silence of the Lambs, The (1991)'

1617 'L.A. Confidential (1997)'

1233 'Boat, The (Das Boot) (1981)'

318 'Shawshank Redemption, The (1994)'

1198 'Raiders of the Lost Ark (1981)'

858 'Godfather, The (1972)'

733 'Rock, The (1996)'

1276 'Cool Hand Luke (1967)'

2571 'Matrix, The (1999)'

953 "It's a Wonderful Life (1946)"

模型評價指標

  1. 使用者滿意度
  2. 預測準確度
  3. 覆蓋率
  4. 多樣性
  5. 新穎性
  6. 驚喜度
  7. 信任度
  8. 實時性
  9. 健壯性
  10. 商業目標

離線實驗的目標

最大化,預測準確度

在滿足一定要求的情況下

比如:

  • 覆蓋率>60%
  • 多樣性>30%
  • 新穎性>10%

效能評價待補充......

推薦系統演算法總結

  1. 多種演算法適用不同的場景。
  2. 混合推薦,提高購買率。比如說使用者購買手機,按照內容相似,推薦其他的手機;按照協同過濾,推薦手機套等買手機的人也大概率會買的大小;按照評分估計的演算法,根據使用者推薦可能會購買的啤酒,衣服的。在有限推薦位置,混合推薦,提高成功率。

看完的都是真愛,有空關注一下,給我評論喲O(∩_