推薦系統實戰
recommender systems
將介紹推薦系統的基本原理和發展,並**一些常用的基本技術來構建具有不同可用資料來源的推薦系統及其實現。具體地說,將學習如何**使用者對乙個潛在專案的評價,如何生成乙個專案的推薦列表,以及如何從豐富的功能中**點選率。這些任務在實際應用程式中很常見。將獲得有關解決實際推薦問題的實際經驗,不僅使用經典方法,而且還使用更先進的基於深度學習的模型。
從推薦系統協同過濾(cf)中的重要概念開始,該概念首先由tapestry系統提出,指的是「人協作以幫助彼此執行過濾過程,以便處理發布到新聞組的大量電子郵件和訊息」。這個詞被賦予了更多的意義。從廣義上講,是使用涉及多個使用者、**和資料來源之間協作的技術來篩選資訊或模式的過程。自cf出現以來,cf有多種形式和眾多的cf方法被提出。
總體而言,cf技術可分為:基於記憶體的cf、基於模型的cf以及混合[su&khoshgoftaar,2009]。代表性的基於記憶體的cf技術是基於最近鄰的cf,例如基於使用者的cf和基於項的cf。潛在因子模型(如矩陣分解)是基於模型的cf的例子,基於記憶體的cf在處理稀疏和大規模資料方面存在侷限性,因為是基於公共項計算相似性值的。基於模型的方法以其較好的處理稀疏性和可擴充套件性的能力而越來越受到人的歡迎。許多基於模型的cf方法可以通過神經網路進行擴充套件,從而在深度學習中隨著計算加速而產生更靈活和可伸縮的模型。一般來說,cf只使用使用者項互動資料來進行**和建議。除了cf之外,基於內容和基於上下文的推薦系統在合併專案/使用者的內容描述和上下文訊號(如時間戳和位置)方面也很有用。顯然,當不同的輸入資料可用時,可能需要調整模型型別/結構。
2. explicit feedback and implicit feedback
為了了解使用者的偏好,系統應收集使用者的反饋資訊。反饋可以是顯性的,也可以是隱性的。例如,imdb為電影收集一到十顆星的明星評級。youtube為使用者提供了「拇指向上」和「拇指向下」按鈕,以顯示偏好。顯然,收集明確的反饋需要使用者主動表明興趣。儘管如此,明確的反饋並不總是現成的,因為許多使用者可能不願意給產品評分。相對而言,隱式反饋通常很容易獲得,因為主要涉及到對使用者點選等隱式行為的建模。因此,許多推薦系統都是以隱式反饋為中心,通過觀察使用者行為來間接反映使用者的意見。有多種形式的隱性反饋,包括購買歷史、瀏覽歷史、手錶甚至滑鼠移動。例如,同一作者購買了許多書的使用者可能喜歡該作者。請注意,隱式反饋固有的雜訊。只能猜測喜好和真正的動機。使用者**了一部電影並不一定表示對該電影的正面看法。
3. recommendation tasks
在過去的幾十年裡,許多推薦任務被研究過。基於應用領域,有電影推薦、新聞推薦、興趣點推薦等。也可以根據反饋和輸入資料的型別來區分任務,例如,評級**任務旨在**明確的評級。top-n推薦(專案排名)根據隱含的反饋為每個使用者個人排列所有專案。如果還包括時間戳資訊,可以構建序列感知建議。另乙個流行的任務叫做點選率**,也是基於隱式反饋的,但是可以利用各種分類特徵。向新使用者推薦和向現有使用者推薦新專案稱為冷啟動推薦。
4. summary
推薦系統實戰
其中,r u 表示對使用者推薦的n個物品,t u 表示使用者u在測試集上喜歡的物品集合。jaccard公式 其中,n u 表示使用者u有過正反饋的物品集合。余弦相似度公式 其中,s u,k 表示和使用者u興趣最接近的k個使用者集合 n i 表示對物品i有過正反饋的使用者集合 w u,v 表示使用者u...
推薦系統 實戰總結
這週看了推薦系統實戰這本書,其中基本上介紹的比較全面,但是每一部分並沒有十分深入,深入的精華全部都在下方的備註當中,備註中有很多的 可以進行進一步的學習。1 根據使用者的歷史行為,表達過反饋的item進行item的 傳統的itemcf 2 根據使用者的歷史行為,找到相似使用者,進行 usercf 3...
ALS推薦系統實戰
拿到某超市的銷售資料,將資料整理後得到一年三千萬條交易記錄,想試試用spark中的推薦系統做一下 先把資料匯入到hdfs中,資料需要使用者id,商品id,和購買次數,這裡我拿購買次數當作電影推薦系統中的電影評分 hdfs中的資料用 分割開。如下 461365 22535 1.0 461365 505...