協同過濾 神經網路

2021-08-21 16:40:42 字數 1160 閱讀 7744

摘要:web2.0 的乙個核心思想就是「集體智慧型」,基於協同過濾的推薦策略的基本思想就是基於大眾行為,為每個使用者提供個性化的推薦,從而使使用者能更快速更準確的發現所需要的資訊。從應用角度分析,現今比較成功的推薦引擎,比如 amazon,豆瓣,噹噹等都採用了協同過濾的方式,它不需要對物品或者使用者進行嚴格的建模,而且不要求物品的描述是機器可理解的,是中領域無關的推薦方法,同時這個方法計算出來的推薦是開放的,可以共用他人的經驗,很好的支援使用者發現潛在的興趣偏好。基於協同過濾的推薦策略也有不同的分支,它們有不同的實用場景和推薦效果,使用者可以根據自己應用的實際情況選擇合適的方法,異或組合不同的方法得到更好的推薦效果。

因為神經網路的輸入層單元個數是固定的,因此必須用迴圈或者遞迴的方式來處理長度可變的輸入。迴圈神經網路實現了前者,通過將長度不定的輸入分割為等長度的小塊,然後再依次的輸入到網路中,從而實現了神經網路對變長輸入的處理。乙個典型的例子是,當我們處理一句話的時候,我們可以把一句話看作是詞組成的序列,然後,每次向迴圈神經網路輸入乙個詞,如此迴圈直至整句話輸入完畢,迴圈神經網路將產生對應的輸出。

當面對按照樹/圖結構處理資訊更有效的任務時,遞迴神經網路通常都會獲得不錯的結果。遞迴神經網路可以把乙個樹/圖結構資訊編碼為乙個向量,也就是把資訊對映到乙個語義向量空間中。這個語義向量空間滿足某類性質,比如語義相似的向量距離更近。

儘管遞迴神經網路具有更為強大的表示能力,但是在實際應用中並不太流行。其中乙個主要原因是,遞迴神經網路的輸入是樹/圖結構,而這種結構需要花費很多人工去標註。想象一下,如果我們用迴圈神經網路處理句子,那麼我們可以直接把句子作為輸入。然而,如果我們用遞迴神經網路處理句子,我們就必須把每個句子標註為語法解析樹的形式,這無疑要花費非常大的精力。很多時候,相對於遞迴神經網路能夠帶來的效能提公升,這個投入是不太划算的。

skip-gram模型和cbow的思路是反著來的,即輸入是特定的乙個詞的詞向量,而輸出是特定詞對應的上下文詞向量。還是上面的例子,我們的上下文大小取值為4, 特定的這個詞"learning"是我們的輸入,而這8個上下文詞是我們的輸出。

skip-gram

協同過濾 基於使用者的協同過濾itemCF

基於使用者的協同過濾演算法也被稱為最近鄰協同過濾或knn k nearest neighbor,k最近鄰演算法 其核心思想就是,首先根據相似度計算出目標使用者的鄰居集合,然後用鄰居使用者評分的加權組合來為目標使用者作推薦。通常這些演算法都可以總結成三步 首先,使用使用者已有的評分來計算使用者之間的相...

Item based協同過濾

item based top n recommendation algorithms 過程 1.構建乙個m m的矩陣,每一列最多有k個非0值,比如第j列,非0值代表和第j個item最相關的k個item。k一般10 20,不會很大,保持矩陣的稀疏性。3.上述矩陣相乘,等於是權重累加 比如使用者買過了a...

協同過濾演算法

3種形式的協同過濾 collaborative filtering 演算法 1 user based 相同 相似 使用者的喜好相同 2 item based 能夠引起使用者興趣的專案,必定與其之前評分高的專案相似 3 model based 先用歷史資料得到乙個模型,再用此模型進行 參考 這個位址是...