簡體   English   中英

訓練后評估推薦 a model

[英]Evaluate recommendations after training a model

首先,我想創建一個推薦系統。 在神經網絡的幫助下,這應該可以預測用戶 X 最有可能購買哪些文章。

我已經用正確的數據集和 neuMF model 的幫助訓練了一個neuMF (您也可以查看圖片中的不同層)。

在此處輸入圖像描述 [來源https://arxiv.org/abs/1708.05031]

我的數據集包含以下內容:

在此處輸入圖像描述

event包含用戶是否查看了商品(view)、將商品放入購物車(addtocart)或購買了商品(transaction)。

我已經找到了他們如何確定建議的示例實現。 以下是關於它的文章:

現在我已經訓練了我的 model,我准備為給定的播放列表推薦歌曲,但是。 我遇到的一個問題(見下文)是我需要嵌入新的播放列表(存儲在我的模型中)以便使用 kmeans 在該嵌入空間中找到最接近的相關播放列表,我不確定如何解決這個問題問題-原樣。 似乎我每次獲得輸入播放列表時都必須重新訓練我的整個 model 以便嵌入該播放列表,因此,我只是在隨機選擇的播放列表(恰好是搖滾和老歌!大部分!)上測試我的 model訓練集。

為了推薦歌曲,我首先將所有訓練播放列表的學習嵌入聚類,然后將我給定的測試播放列表的 select 個“鄰居”播放列表與同一聚類中的所有其他播放列表聚類。 然后,我從這些播放列表中取出所有曲目,並將測試播放列表嵌入和這些“相鄰”曲目輸入我的 model 進行預測。 這根據它們在給定測試播放列表中接下來出現的可能性(在我的模型下)對“相鄰”曲目進行排名。

[來源https://github.com/caravanuden/spotify_recsys]

我剛剛訓練了我的 model,現在我想就用戶 X 最有可能購買哪些商品提出建議。 我是否必須執行另一種算法的實現,例如確定最近的鄰居 ( knn ) 或者是否足以訓練 model 然后從中導出數據?

在用數據訓練 model 之后,我該如何繼續,如何從中獲得建議? state 在這方面的藝術是什么,以便收到受過培訓的 model 的建議?

提前致謝。 期待建議、想法和答案。

這取決於model 的用例。這是雙重的,首先是因為您的特定用例所需的性能(速度),其次是關於neuMF model 的主要弱點(在我看來):如果用戶與更多項目交互,預測不會改變,因為它們不是訓練的一部分。 正因為如此,如果在實時在線設置中使用,推薦將基本上基於以前的行為,並且不會考慮當前的 session,除非 model 被重新訓練。

neuMF model 特別擅長區間推薦的批量預測。 例如,如果您想要在每周 email 內向用戶推薦商品,那么您將為每個用戶預測每個商品的 output 概率,然后是 select 前n (例如 10)個概率並推薦它們。 (你將不得不在下周重新訓練 model,以便根據用戶最近的項目交互獲得其他預測。)因此,如果有 10000 個獨特的項目,對於每個用戶,進行 10000 個單獨的預測,並基於n項目推薦在那些。 主要缺點當然是這 10000 個預測需要一段時間才能執行。 因此,它可能不適合實時在線預測。 另一方面,如果你對預測的並行化很聰明,那么這個限制也可以被超越,盡管這可能是不必要的。 這是因為,如前所述,預測不會根據當前用戶交互而改變。

使用knn在嵌入空間中對用戶進行聚類,然后獲取這些用戶的項目,並將它們輸入 model 似乎是不必要的,而且在我看來,這違背了整個模型架構的目的。 這是因為neuMF model 的全部意義在於在所有其他用戶的交互中概括給定用戶與項目的交互,並以此為基礎進行推薦,這樣您就可以在給定用戶和項目的情況下獲得該交互的概率具體項目。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM