簡書不支持目錄圾亏。类少。叙身。將就一下
推薦系統(tǒng)概覽
推薦系統(tǒng)三個基本對象
推薦系統(tǒng)需要的三類數(shù)據(jù)源:物品,用戶妓忍,事務(wù)
物品:關(guān)注物品集的屬性和特征
用戶:關(guān)注用戶基本屬性虏两,年齡,性別等
事務(wù):用戶的行為記錄世剖,分為顯示行為和隱式行為
推薦系統(tǒng)的分類
- 基于內(nèi)容 (content-based)
- 為用戶推薦與過去興趣相似的物品定罢,物品的相似性是基于被比較物品的特征來計算的
- 協(xié)同過濾(CF:collaborative filtering)
- 找到與用戶相似的品味的用戶,將相似用戶過去喜歡的物品推薦給用戶
- 基于人口統(tǒng)計(demographic)
- 基于人口統(tǒng)計信息旁瘫,不同的人群對用不同的推薦
- 基于知識(knowledge-based)
- 根據(jù)特定領(lǐng)域的知識進行推薦祖凫,所謂知識就是關(guān)于確定物品哪些特征能滿足用戶需要和偏好
- 基于社區(qū)
- 根據(jù)用戶“近鄰”的偏好進行推薦,也叫社會化推薦系統(tǒng)酬凳,利用用戶社會關(guān)系和“近鄰”的偏好推薦惠况,結(jié)果基于用戶“近鄰”的評分等
- 混合推薦系統(tǒng)
- 不同推薦方法組合,例如協(xié)同過濾的冷啟動問題可以用基于內(nèi)容的推薦彌補
推薦系統(tǒng)的評價標(biāo)準(zhǔn)
- 覆蓋率
- 冷啟動
- 信心度
- 可信度
- 新穎度
- 風(fēng)險度
- 驚喜度
推薦解釋
如何讓推薦系統(tǒng)可信任宁仔,可解釋稠屠,有說服力
- 透明度:說明系統(tǒng)如何工作
- 可反饋性:允許用戶報錯
- 信任:增加用戶對系統(tǒng)信心
- 有效性:幫助用戶做好的決定
- 說服力:說服用戶購買或嘗試
- 高效性:幫用戶快速抉擇
- 滿意度:增加用戶體驗舒適性和趣味
推薦系統(tǒng)與數(shù)據(jù)挖掘
涉及數(shù)據(jù)挖掘內(nèi)容概覽
數(shù)據(jù)挖掘大致分3個步驟:數(shù)據(jù)預(yù)處理,數(shù)據(jù)分析翎苫,結(jié)果解釋
數(shù)據(jù)預(yù)處理
數(shù)據(jù)就是一組對象以及對應(yīng)屬性的集合
對象等同于:記錄权埠,物品,得分煎谍,樣本攘蔽,觀測值,實例
屬性等同于:變量呐粘,字段满俗,特征,特性
1.相似度度量
1.1 歐幾里得距離
n是維度作岖,Xk和Yk是第k和特征值
1.2 閔可夫斯基距離
是歐氏距離的推廣
r=1:曼哈頓距離唆垃,L1范數(shù)
r=2:歐幾里得距離,L2范數(shù)
r=∞:上確界鳍咱,任意維度對象屬性間的最大距離
1.3. 馬氏距離
δ是協(xié)方差矩陣
1.4. 夾角余弦值
?代表點積降盹,∥x∥是向量x的長度
也叫余弦相似度,L2范數(shù)
1.5. 皮爾遜相關(guān)度
利用x谤辜,y的協(xié)方差和標(biāo)準(zhǔn)差$\delta$ 進行計算
1.6. 簡單匹配系數(shù)
只對應(yīng)二進制屬性
1.7. Jaccard系數(shù)
一般情況蓄坏,推薦系統(tǒng)預(yù)測精確度不太受相似度度量方法的影響
(ACM論文的實驗)
2.抽樣
- 從大數(shù)據(jù)集中選取子集的技術(shù),因為處理全部數(shù)據(jù)開銷太大
- 也用于創(chuàng)建訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)時候使用
- 最簡單情況使用隨機抽樣
- 常用抽樣方法是無取代抽樣丑念,就是不放回的拿
- 分離訓(xùn)練集測試集一般8:2
交叉驗證
交叉驗證(Cross-validation)涡戳,執(zhí)行多次測試集訓(xùn)練集分離,訓(xùn)練模型評價模型脯倚,求評價精度
10折交叉驗證(10-fold cross validation)渔彰,將數(shù)據(jù)集分成十份,輪流將其中9份做訓(xùn)練1份做驗證推正,10次的結(jié)果的均值作為對算法精度的估計恍涂,一般還需要進行多次10折交叉驗證求均值
有事抽樣基于最近時間,或者按照評分比例抽樣植榕,根據(jù)具體情況進行一些控制
3.降維
推薦系統(tǒng)的2個大問題:稀疏和維度災(zāi)難再沧,解決方法:降維
3.1 主成分分析(PCA)
能根據(jù)最小平方誤差計算出變化最大的值,得到一組有序的成分列表尊残。第一個成分的變化量比第二個成分的大炒瘸,最后可以根據(jù)忽略對變化貢獻小的成分來降低維度
PCA的限制
- 假設(shè)數(shù)據(jù)集是已線性合并為基礎(chǔ)的數(shù)據(jù)集(有對應(yīng)非線性的PCA變種算法)
- 原始數(shù)據(jù)符合高斯分布
3.2 奇異值分解
目標(biāo)是發(fā)現(xiàn)低維特征空間,這個空間中每個成分都是可以計算的
- $\lambda$是對角矩陣寝衫,元素是奇異值顷扩,正定,按照降序排列
- 可以通過控制$\lambda$矩陣的秩來決定降維的力度
SVD可以發(fā)現(xiàn)用戶和產(chǎn)品的潛在關(guān)系慰毅。方法是利用平均分填充用戶-物品矩陣隘截,然后進行SVD分解,然后直接計算預(yù)測值汹胃,根據(jù)預(yù)測結(jié)果來豐富kNN等方法的鄰居信息
矩陣分解的方法還有MF婶芭,NNMF等,其基本思想都是把評分矩陣分解為2個部分统台,一部分包含描述用戶的特征雕擂,另一部分包含描述物品的特征
后面再介紹基于SVD的增量學(xué)習(xí)等技術(shù)
3.3 去噪
噪音數(shù)據(jù)有缺失數(shù)據(jù),異常數(shù)據(jù)等形式
去噪目的是在最大化信息量的同時去掉不必要的影響
數(shù)據(jù)分析
1.分類
這里列舉一下推薦系統(tǒng)常見的分類算法贱勃,不細(xì)致討論算法細(xì)節(jié)
1.1 最近鄰
原理:根據(jù)最近的K個點的標(biāo)簽來決定數(shù)據(jù)的標(biāo)簽
優(yōu)點是KNN的概念和CF的鄰居很相關(guān)井赌,而且不需要訓(xùn)練而合維護一個模型,能適應(yīng)評分矩陣的劇烈變化
缺點顯而易見贵扰,每次預(yù)測都需要計算每個點的距離
1.2 決策樹
常見數(shù)的樹算法:CART仇穗,ID3,C4.5戚绕,SLIQ纹坐,SPRINT
決策樹的重點在于決策節(jié)點的劃分,找到不純度減少最多的點舞丛,衡量不純度的方法:信息增益耘子,基尼指數(shù)果漾,熵,誤分類誤差等
優(yōu)點是結(jié)果好解釋谷誓,構(gòu)建樹代價小
1.3 基于規(guī)則分類
可以從樹模型里面提取規(guī)則绒障,再根據(jù)規(guī)則進行分類
1.4 貝葉斯
利用概率來代表從數(shù)據(jù)中學(xué)習(xí)到的關(guān)系的不確定性
模型得到的概率是先驗概率和似然值的乘積,先驗代表了觀測數(shù)據(jù)之前的經(jīng)驗捍歪,期望户辱,似然值部分代表了數(shù)據(jù)的影響
樸素貝葉斯假設(shè)特征間概率獨立,好處是受孤立噪音點糙臼,和不相關(guān)特征的影響小庐镐,缺點是獨立的假設(shè)對于相關(guān)屬性不成立
解決特征依賴的方法是貝葉斯信念網(wǎng)BBN,利用非循環(huán)圖表達屬性的依賴關(guān)系
1.5 人工神經(jīng)網(wǎng)絡(luò)
神經(jīng)網(wǎng)絡(luò)做分類变逃,可以做非線性分類任務(wù)
1.6 支持向量機
找到分類平面必逆,這個平面使間隔最大化,結(jié)構(gòu)風(fēng)險最小化
1.7 分類器集成
Bagging韧献,Boosting
1.8 評估分類器
有量化評分的結(jié)果末患,均方誤差MAE,均方根誤差RMSE
把推薦看做分類的情況锤窑,準(zhǔn)確率璧针,召回率,F(xiàn)值渊啰,ROC探橱,AUC
2.聚類
聚類可以在計算近鄰之前先把類似的劃分到一起,從而提高效率绘证,但是提高效率和降低精度要衡量
聚類主要分為2個類別隧膏,分層和劃分
劃分:把數(shù)據(jù)劃分成非重合的聚類,每個數(shù)據(jù)都確定的屬于一個類別
分層:在已知聚類上繼續(xù)聚合物品嚷那,嵌套的層級樹
2.1 k-means
缺陷:選k值需要先驗知識胞枕;聚類對初始點敏感;異常值敏感魏宽;會產(chǎn)生空聚類
可以利用k-means作為預(yù)處理構(gòu)造鄰居
2.2 DBSCAN
基于密度進行聚類腐泻。核心點:給定距離內(nèi)有一定數(shù)量鄰居的點;邊界點:沒有超過一定數(shù)量鄰居队询,但是屬于核心點鄰居的點派桩;噪聲點:核心點邊界點以外的點
利用消息傳遞算法突勇,是基于圖聚類的方法
3.關(guān)聯(lián)規(guī)則挖掘
- 關(guān)聯(lián)規(guī)則發(fā)現(xiàn)的規(guī)則只意味著共同出現(xiàn)年栓,并沒有因果關(guān)系
- 利用支持度和置信度對規(guī)則進行篩選
- 先根據(jù)支持度生成物品集(頻繁項集生成),再從頻繁項集里面產(chǎn)生高置信度規(guī)則