1. 程式人生 > >機器學習-推薦系統

機器學習-推薦系統

推薦系統
 
推薦系統
19444人在進行視訊或語音聊天
62.5萬部優酷土豆視訊被觀看
Facebook共產生701,389賬號登陸
App Store上已有51,000個app被下載
。。。
 
推薦系統
 
推薦系統
 
推薦系統
 
協同過濾
如果你現在想看個電影,但你不知道具體看哪部,你會怎麼做?
如何確定一個使用者是不是和你有相似的品位?
如何將鄰居們的喜好組織成一個排序的目錄?
 
協同過濾
1.收集使用者偏好
2.找到相似的使用者或物品
3.計算推薦
要實現協同過濾,需要的步驟?
 
協同過濾
 
相似度計算
 
相似度計算
歐幾里德距離(Euclidean Distance)
Cosine 相似度(Cosine Similarity)
皮爾遜相關係數(Pearson Correlation Coefficient)
 
相似度計算
皮爾遜相關係數(Pearson Correlation Coefficient)
協方差
皮爾遜相關係數
Pearson相關係數是用協方差除以兩個變數的標準差得到的
 
相似度計算
皮爾遜相關係數
 
相似度計算
鄰居的選擇
A.固定數量的鄰居
B.基於相似度門檻的鄰居
 
協同過濾
基於使用者的協同過濾
 
協同過濾
基於使用者的協同過濾要解決的問題
已知使用者評分矩陣Matrix R(一般都是非常稀疏的)
推斷矩陣中空格empty cells處的值
 
協同過濾
UserCF存在的問題issues
對於一個新使用者,很難找到鄰居使用者。
對於一個物品,所有最近的鄰居都在其上沒有多少打分。
 
協同過濾
基礎解決方案
相似度計算最好使用皮爾遜相似度
考慮共同打分物品的數目,如乘上min(n,N)/N    n:共同打分數 N:指定閾值
對打分進行歸一化處理
設定一個相似度閾值
 
相似度計算
基於使用者的協同過濾為啥不流行?
1.稀疏問題
2.數百萬的使用者計算,這量?
3.人是善變的
 
協同過濾
基於物品的協同過濾
 
協同過濾
基於物品的協同過濾優勢!
計算效能高,通常使用者數量遠大於物品數量
可預先計算保留,物品並不善變
 
協同過濾
r_51 = (0.41*2 + 0.59*3)/(0.41 + 0.59) = 2.6
 
協同過濾
使用者冷啟動問題
引導使用者把自己的一些屬性表達出來
利用現有的開放資料平臺
根據使用者註冊屬性
推薦排行榜單
 
協同過濾
物品冷啟動問題
文字分析
主題模型
打標籤
推薦排行榜單
 
協同過濾
 
協同過濾
基於使用者的推薦
實時新聞
突然情況
基於物品的推薦
圖書
電子商務
電影
。。。
 
隱語義模型
隱語義模型
從資料出發,進行個性化推薦
使用者和物品之間有著隱含的聯絡
隱含因子讓計算機能理解就好
將使用者和物品通過中介隱含因子聯絡起來
 
隱語義模型
隱語義模型
分解
組合
 
隱語義模型
隱語義模型
 
隱語義模型
隱語義模型求解
梯度下降方向:
迭代求解:
 
隱語義模型
隱語義模型負樣本選擇
對每個使用者,要保證正負樣本的平衡(數目相似)
選取那些很熱門,而使用者卻沒有行為的物品
對於使用者—物品集K {(u,i)}
其中如果(u, i)是正樣本,則有