商城中的猜你喜歡是怎么實現的


猜你喜歡

今天在做項目中,發現了一個特別有意思的模塊,叫做猜你喜歡, 
先給大家介紹一下商城里的推薦和猜你喜歡是怎么實現的,首先你要知道,給你推薦的商品,肯定不是隨便給你推的,那些都是經過算法,然后顯示到你的推薦區域

為什么需要推薦系統?

因為信息過載,人們從主動獲取信息變成了被動獲取信息,每天早晨打開手機……. ,很多時候有效的獲取數據顯得極其重要,所有針對性的需求也就自然的出現了,推薦系統應用而生.

最早的推薦系統因該是亞馬遜為了銷售商品而產生的,亞馬遜上在線銷售的商品數量龐大,但是在首頁展示的商品寥寥無幾.

在亞馬遜的商品展示頁面,經常會看到:瀏覽此00用戶同時也瀏覽***商品. ,  這就是非常簡單的一種推薦.

冷啟動問題:

推薦系統必須要有龐大的數據作為支撐,但是我們的產品再啟動的時候,沒有大量的用戶數據,這時候就會遇到冷啟動問題,

解決冷啟動問題:

既然前期沒有用戶數據,那我們就可以利用商品本身的數據來推薦,比如同價格商品,同品牌商品,

基於內容的推薦:

1,給商品打上標簽: 食品,運動,衣服,等等越詳細越好,越詳細就越精確.

但根據這些商品推薦還會出問題,今天晚上小明在我們的產品中搜索法拉利汽車的模型,明天早晨我們的系統通過法拉利這個關鍵字,給小明推薦了一款500萬的法拉利.

當然,使用商品推薦只是前期的沒有用戶數據是使用,而到了后期,用戶越來越多,我們就要開始使用用戶行為數據.

用戶行為數據到底記錄了什么?

小明打開亞馬遜瀏覽器,點擊了幾個熱銷西裝,然后再搜索欄搜索了nike鞋,在看了10幾雙鞋后,買了一雙安踏的鞋.

這就是用戶行為數據.當這個數據越多的時候,我們能夠做到事情也就越大.

加權算法:

User-time 用戶偏好矩陣: 這其中用戶發生了查看,購買,分享商品的行為。這些行為是多樣的,所以需要加權算法來計算出用戶對某一商品的偏好程度,然后形成user-item用戶偏好矩陣。

用戶行為中會產生噪音和用戶誤操作.我們拿到了數據之后,應該先去洗數據,其中最重要的那就是降噪與歸一化.

減噪:。比如因為網絡中斷,用戶在短時間內產生了大量點擊的操作。通過一些策略以及數據挖掘算法,來去除數據中的噪音。

歸一化:清理數據的目的是為了通過對不同行為進行加權,形成合理的用戶偏好矩陣。最簡單的歸一算法就是將各類數據來除以此類數據中的最大值,以此來保證所有數據的取值范圍都在[0,1]區間內。

 

降維算法——SVD奇異值分解

通過用戶行為數據越來越多,這個時候數據越來越稀疏,有效的數據越來越少,這個時候,SVD算法就誕生了,據我所知,淘寶用的推薦就是這種

 

做了折磨多鋪墊,就是為了講清楚協同算法.協同算法俗稱SF , 如今廣泛的用於如今的推薦系統中,通過協同算法,

為什么叫做協同過濾?因為這兩個矩陣都是通過對方算出來的.

協同過濾算法(collaborative filtering)的目標是基於用戶對物品的歷史評價信息,向目標用戶(active user)推薦其未購買的物品。協同過濾算法可分為基於物品的,基於用戶的和基於矩陣分解,本文實現基於物品和基於矩陣分解的協同過濾算法。

協同過濾算法總覽

輸入數據:典型的協同過濾問題輸入數據為m個用戶list,n個物品list,同時每個用戶有一個已評價的物品list。

推薦過程:

1. 計算similarity(用戶間或物品間相似度):通常采用pearson相關系數或余弦相似度。

2. 計算prediction(目標用戶未購買物品對目標用戶的吸引力):目標用戶對未購買商品的預測評分。

3. 計算recommendation:向目標用戶推薦前K個吸引力最大的物品。

 

基於用戶的協同過濾算法

基於用戶的協同過濾算法旨在尋找相似的用戶,然后在相似的用戶間推薦物品。

1. similarity:計算用戶間的相似度。上文說到每個用戶都有一個已評價的物品list,那么該list就是用戶的一個屬性向量,用戶的相似度就是該向量間的相似度。

2. prediction:假設用戶A和B、C是相似用戶。假設Item1, Item2, Item3三個物品是B、C購買過但A未購買過的物品。那么我們就可以向A推薦 這些物品。如何計算這三個物品對用戶A的吸引力呢?以B、C和A的相似度為權重,計算B、C對物品的評分均值即可。

基於用戶的協同過濾算法實際上面臨很大的問題,例如稀疏性問題,畢竟一個用戶購買的物品是非常少的。

關於代碼特別復雜,放到這里也不好理解 .大家可以去晚上搜一下 :: 協同過濾的代碼,再細細理解.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM