看板 DataScience 關於我們 聯絡資訊
不確定這個版適不適合問這問題 想了下應該還算跟機器學習相關就決定PO這裡了 最近在研究怎麼作個人化的推薦系統 目前看到的流程大致分成 蒐集user/item清單 -> 建模 -> 打分 -> 排序 -> 儲存到某個DB給人呼叫 也就是預先作好推薦清單然後給人使用 之後就是一個建立一個batch定期更新這個清單 建模方法目前常看到的就相似度計算/MF/FM等等 當user/item清單非常龐大的時候這是一個很重的作業 產出的結果檔案也很龐大 想問問推薦系統的結果交付除了像這樣預先做出推薦清單之外 其他還有什麼好的交付方式嗎 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.199.17.235 ※ 文章網址: https://www.ptt.cc/bbs/DataScience/M.1522583359.A.12B.html
lucien0410: 這是機器學習的問題沒錯 04/02 01:30
Wush978: 如果運用如Linear Regression的模型,可以考慮即時算 04/02 22:51
有想過使用可以即時運算的模型 還沒試過不知道效果如何 之前有想過作成real time預測的形式,預想問題大概就是item很多 每次用SGD更新後都要重頭打分在排序後輸出可能效能不會很好 不過這也只是自己在猜測而已
minikai: 利用分散式運算勒,這類協同過濾運算,很常被Spark這類 04/02 23:23
minikai: 的分散式運算當成火力展示的範例。 04/02 23:23
嗯...治標不治本 我現在的環境就是spark 使用100個worker去跑MF 1000萬使用者base,從建模到輸出結果要幾個小時 光是輸出結果檔這個動作都很花時間
yogi: user/item set很大的時候, 可以用UV/SVD這些矩陣分解的方法 04/03 09:28
yogi: 來做dim. reduction 04/03 09:28
yogi: 特別是SVD 如果能夠找到適當的singular values, 其對應的向 04/03 09:36
yogi: 量通常能給交付的內容增添除了黑盒子般的模型以外的insight 04/03 09:37
後來跟一個朋友聊天他也是說用降維來輔助 另外準備一個real time更新用的矩陣 也就是把batch跑的矩陣跟real time的矩陣ensemble後作real time預測 這招還在研究中 麻煩的可能還是在於item多的時候,想到還要重新排序就感覺有盲點 ※ 編輯: del680202 (61.199.17.235), 04/03/2018 20:06:36
bruce3557: 有考慮用bandit來解一些的new item的方法嗎 04/11 17:37
chaselsu: 我的經驗是通常都是多層filtering or ANN的方法噎 04/17 13:30
chaselsu: 前面幾層偏offline, 後面可以用複雜的模型 通常不會只用 04/17 13:31
chaselsu: MF/FM/SLIM這種, 大多數都是多種模型blending 去避免推 04/17 13:32
chaselsu: 薦系統常見的問題 04/17 13:32
chaselsu: 覺得MF/FM這種可能是問題已經被定義好的最佳解 但實際上 04/17 13:35
chaselsu: 問題是自己定義的 你可以拿更多不同面向資料的時候 MF這 04/17 13:36
chaselsu: 種就不是最佳解 我印象最深的是我剛畢業的時候做FM 竟然 04/17 13:37
chaselsu: 會推輸以很簡單的方式做的推薦 04/17 13:38
chaselsu: 只因為簡單的方式考慮了"category" 04/17 13:38