0

所以我開始玩FANN(http://leenissen.dk/)以創建一個簡單的推薦引擎。使用神經網絡提供建議

例如,

用戶X與IDS關係記錄[1, 2, 3]

其他用戶有關係到以下ID:

  • 用戶A:[1, 2, 3, 4]
  • 用戶B:[1, 2, 3, 4]

這將是自然的,那麼,有一些機會,用戶X將有興趣與ID 4以及記錄,它應該是推薦引擎所需的輸出。

感覺這將是一個神經網絡可以完成的事情。然而,從試用FANN和Google搜索,似乎似乎需要與數據和結果形成一些數學關係。這裏的ID沒有; ID也可以是任何符號。

問題:是否有可能用神經網絡來解決這類問題,我應該從哪裏開始尋找解決方案?

回答

1

你在找什麼是某種形式的遞歸神經網絡;以某種方式或另一種方式存儲「上下文」的網絡。這種網絡的例子是LSTMGRU。所以基本上,你必須依次輸入你的數據。根據上下文和當前輸入,網絡將預測哪個標籤最有可能。

似乎似乎需要與數據和結果有一些數學關係。這裏的ID沒有; ID也可以是任何符號。

數據和結果之間有明確的關係,這可以通過權重和偏差來表達。

那麼它會如何工作?首先你需要編碼你的輸入和輸出。所以基本上,您想要預測用戶已經與之交互過的一組標籤之後哪個標籤最有可能。

如果您有5個標籤:A,B,C,D,E,這意味着您將有5個輸入和輸出:[0, 0, 0, 0, 0]

如果您的標籤爲A,則數組將爲[1, 0, 0, 0, 0],如果是D,則將爲[0, 0, 0, 1, 0]

因此,LSTM和GRU的關鍵是數據應該是連續的。所以基本上,你輸入所有看到的標籤一個接一個。因此,如果用戶已經觀看了A,B和C:

activate: [1,0,0,0,0] 
activate: [0,1,0,0,0] 

// the output of this activation will be the next predicted label 
activate: [0,0,1,0,0] 
// output: [0.1, 0.3, 0.2, 0.7, 0.5], so the next label is D 

而且你應該總是訓練網絡,從而使在輸出爲噸+ 1