演算法工程師修仙之路 推薦系統實踐(三)

2021-09-10 14:47:24 字數 805 閱讀 9630

使用者行為資料中蘊涵著很多不是那麼顯而易見的規律,而個性化推薦演算法的任務就是通過計算機去發現這些規律,從而為產品的設計提供指導,提高使用者體驗。

電子商務公司通過分析使用者的購物車,找出諸如「購買a商品的使用者都購買b商品」這種規律,同時在使用者瀏覽a商品時直接為其展示購買a商品的使用者都購買的其他商品。

基於使用者行為分析的推薦演算法是個性化推薦系統的重要演算法,學術界一般將這種型別的演算法稱為協同過濾演算法。顧名思義,協同過濾就是指使用者可以齊心協力,通過不斷地和**互動,使自己的推薦列表能夠不斷過濾掉自己不感興趣的物品,從而越來越滿足自己的需求。

使用者行為資料在**上最簡單的存在形式就是日誌。

隱性反饋行為(implicit feedback)

按照反饋的明確性分,使用者行為資料可以分為顯性反饋和隱性反饋,但按照反饋的方向分,又可以分為正反饋和負反饋。正反饋指使用者的行為傾向於指使用者喜歡該物品,而負反饋指使用者的行為傾向於指使用者不喜歡該物品。在顯性反饋中,很容易區分乙個使用者行為是正反饋還是負反饋,而在隱性反饋行為中,就相對比較難以確定。

一般來說,不同的資料集包含不同的行為,目前比較有代表性的資料集有下面幾個:

無上下文資訊的顯性反饋資料集

有上下文資訊的隱性反饋資料集

有上下文資訊的顯性反饋資料集

物品的流行度指對物品產生過行為的使用者總數。使用者的活躍度為使用者產生過行為的物品總數。不管是物品的流行度還是使用者的活躍度,都近似於長尾分布,特別是物品流行度的雙對數曲線,非常接近直線。

基於物品的協同過濾演算法

演算法工程師修仙之路 推薦系統實踐(一)

推薦演算法的本質是通過一定的方式將使用者和物品聯絡起來,而不同的推薦系統利用了不同的方式。從netflix的推薦理由來看,它們的演算法和亞馬遜的演算法類似,也是基於物品的推薦演算法,即給使用者推薦和他們曾經喜歡的電影相似的電影。社交網路 facebook最寶貴的資料有兩個,乙個是使用者之間的社交網路...

演算法工程師修仙之路 TensorFlow(二)

張量在 tensorflow 中的實現並不是直接採用陣列的形式,它只是對tensorflow 中運算結果的引用。在張量中並沒有真正儲存數字,它儲存的是如何得到這些數字的計算過程。tensorflow中的張量和 numpy 中的陣列不同,tensorflow 計算的結果不是乙個具體的數字,而且乙個張量...

演算法工程師修仙之路 TensorFlow(五)

乙個最簡單的神經元結構的輸出就是所有輸入的加權和,而不同輸入的權重就是神經元的引數。神經網路的優化過程就是優化神經元中引數取值的過程。全連線神經網路是相鄰兩層之間任意兩個節點之間都有連線的神經網路結構。乙個簡單的判斷零件是否合格的三層全連線神經網路。第二個部分為神經網路的連線結構。最後乙個部分是每個...