推荐系统常用术语 [ACM暑校]
1. 推薦系統(tǒng)
推薦系統(tǒng)相當(dāng)于信息的“過濾器”,它旨在解決信息過載的問題,幫助人們更好地作出決策。它的主要原理是根據(jù)用戶過去的行為(比如購買、評(píng)分、點(diǎn)擊等)來建立用戶興趣模型,之后利用一定的推薦算法,把用戶最可能感興趣的內(nèi)容推薦給用戶,如下圖:
- 召回(recall)
從海量(數(shù)千萬)item中粗選出幾百或者上千的候選集的過程,可以理解為向用戶粗選一批待推薦的商品。
- 排序(sort)
從召回的上千候選集中,預(yù)測(cè)出用戶的點(diǎn)擊概率,以此排序,給出最終向用戶推薦的結(jié)果集。
2. 數(shù)據(jù)基礎(chǔ)
- 用戶數(shù)據(jù)(user)
用來建立用戶模型的數(shù)據(jù),因不同推薦算法而不同,典型的數(shù)據(jù)包括用戶興趣點(diǎn)、用戶profile、用戶的社交好友關(guān)系等。
- 內(nèi)容數(shù)據(jù)(item)
??用來描述被推薦內(nèi)容主要屬性的數(shù)據(jù),這些屬性都是跟具體的內(nèi)容相關(guān)的,如一部電影的導(dǎo)演、演員、類型和風(fēng)格等。
- 用戶-內(nèi)容數(shù)據(jù)(user-item)
?用戶-內(nèi)容交互是指反映用戶與內(nèi)容內(nèi)在聯(lián)系的數(shù)據(jù),分為隱式和顯式兩種;顯式主要是指評(píng)價(jià)、打分、購買等能明顯反映用戶對(duì)內(nèi)容興趣的交互數(shù)據(jù),隱式指的是用戶的點(diǎn)擊、搜索記錄等間接反映用戶對(duì)內(nèi)容興趣的交互數(shù)據(jù)。
3. 相關(guān)算法
- 基于內(nèi)容的推薦(Content-based)
根據(jù)用戶過去喜歡的內(nèi)容而推薦相似的內(nèi)容。
- 基于協(xié)同過濾的推薦(Collaborative Filtering,CF)
根據(jù)與當(dāng)前用戶相似的用戶的興趣點(diǎn),給當(dāng)前用戶推薦相似的內(nèi)容。
- 基于人口統(tǒng)計(jì)學(xué)的推薦(Demographic-based)
?根據(jù)用戶共同的年齡、地域等人口統(tǒng)計(jì)學(xué)信息進(jìn)行共同的推薦。
- 基于知識(shí)的推薦(Knowledge-based)
?根據(jù)對(duì)用戶和內(nèi)容的特定領(lǐng)域知識(shí),給特定的用戶推薦特定的內(nèi)容。
- 基于團(tuán)體的推薦(Community-based)
?根據(jù)用戶的社交好友關(guān)系,給用戶推薦其好友感興趣的內(nèi)容。
- 混合推薦(Hybrid Recommender System)
4. 數(shù)據(jù)預(yù)處理相關(guān)
推薦系統(tǒng)相關(guān)的數(shù)據(jù)預(yù)處理技術(shù)除了通常的歸一化、變量替換等以外,最主要的是相似度計(jì)算、抽樣和維度約減。
4.1 相似度計(jì)算
相似度通常有兩種衡量方式,一是直接計(jì)算相似度,二是計(jì)算距離,距離是本質(zhì)上是相異程度的度量,距離越小,相似度越高。
- 相似度計(jì)算
余弦相似度(其幾何意義就是兩個(gè)向量的空間夾角的余弦值,取值范圍在-1到1之間。取值為-1表示完全相反,取值為1表示完全相同,其余值表示介于二者之間)、皮爾遜相關(guān)系數(shù)(意義是兩個(gè)隨機(jī)變量x和y之間的線性相關(guān)性,取值范圍在-1和1之間。-1表示負(fù)線性相關(guān),1表示正線性相關(guān),其余值表示介于二者之間)、Jaccard相關(guān)系數(shù)(用于集合相似度的一種方式)。
- 距離度量
歐幾里得距離(Euclidean Distance)、曼哈頓距離(Manhattan Distance)、切比雪夫距離(Chebyshev Distance)、閔可夫斯基距離(Minkowski Distance)、標(biāo)準(zhǔn)化歐氏距離(Standardized Euclidean Distance)、馬哈拉諾比斯距離(Mahalanobis Distance)
4.2 抽樣
?抽樣技術(shù)在數(shù)據(jù)挖掘中主要用在兩個(gè)地方:一是在數(shù)據(jù)預(yù)處理和后處理階段,為了避免計(jì)算規(guī)模過大,進(jìn)行抽樣計(jì)算;二是在數(shù)據(jù)挖掘階段,通常會(huì)對(duì)訓(xùn)練出來的模型進(jìn)行交叉驗(yàn)證,需要抽樣將所有樣本劃分為訓(xùn)練集和測(cè)試集。
通常所說的抽樣都是隨機(jī)抽樣(random sampling),主要用于所有樣本點(diǎn)都可以認(rèn)為沒有區(qū)分時(shí)適用。還有一種分層抽樣(striated sampling),在樣本需要顯著的分為不同的子集時(shí),針對(duì)每個(gè)子集分別進(jìn)行抽樣。
4.3 降維(Dimensionality Reduction)
?在統(tǒng)計(jì)學(xué)習(xí)理論中,當(dāng)樣本的維度增加的時(shí)候,待學(xué)習(xí)的模型的復(fù)雜性是隨著維度呈指數(shù)增長(zhǎng)的,這種現(xiàn)象通常稱為“維數(shù)災(zāi)難(curse of dimensionality)”。這也就意味著,如果我們想在高維空間中學(xué)到和在低維空間中精度一樣高的模型,所需要的樣本數(shù)是呈指數(shù)增長(zhǎng)的。
??降維通常是用來處理維災(zāi)難問題的。通常降維有兩種思路,一是從高維數(shù)據(jù)中選出最能表達(dá)數(shù)據(jù)的一些維度,并用這些維度來代表數(shù)據(jù),稱為特征選擇(feature selection);另一種是將高維數(shù)據(jù)通過某種trick變換映射到低維空間,稱為特征構(gòu)造(feature extraction)。
主成分分析(Principal Component Analysis, PCA)是最主要的一種特征選擇方式。它通過特征分解能夠得到每一個(gè)維度對(duì)于整個(gè)數(shù)據(jù)的最小均方差的貢獻(xiàn)程度,從而定量判斷每一維對(duì)于數(shù)據(jù)所包含信息的貢獻(xiàn)度。然后保留最主要的一些維度,拋棄一些不顯著的維度,對(duì)數(shù)據(jù)進(jìn)行降維。
異值分解(Singular Value Decomposition, SVD)是主要的特征構(gòu)造方式。它通過矩陣分解的方式,將數(shù)據(jù)從高維空間映射到低維空間,對(duì)數(shù)據(jù)進(jìn)行降維。
5. 數(shù)據(jù)挖掘-分類
?分類是數(shù)據(jù)挖掘的主要內(nèi)容,方法眾多,各自都有不同數(shù)據(jù)假設(shè)和理論支持。這里簡(jiǎn)單列舉最有代表性的一些算法。
- KNN(K-nearest Neighbor)
KNN是最容易理解的分類器,它不訓(xùn)練任何模型。當(dāng)有一個(gè)未知樣本需要預(yù)測(cè)時(shí),它從已知樣本中找到與這個(gè)未知樣本距離最近的K個(gè)點(diǎn),根據(jù)這K個(gè)點(diǎn)的類別來預(yù)測(cè)未知樣本的類別。它最主要的不足在于它需要的樣本量非常大,同時(shí)因?yàn)樗鼪]有任何訓(xùn)練的模型,每一次預(yù)測(cè)都要計(jì)算k次距離,計(jì)算量非常大。
- 決策樹(Decision Tree)
決策樹將分類過程抽象為一顆樹,它通過最大化信息增益的方式對(duì)樹的分支進(jìn)行劃分,最終通過設(shè)置不純度的閾值來停止樹的劃分,形成最終的決策樹。它的主要優(yōu)點(diǎn)在于模型的訓(xùn)練和預(yù)測(cè)都非常快,不足在于模型的精度有時(shí)會(huì)低于其它分類器。不過,通過集群學(xué)習(xí)(ensemble learning)的方式能夠極大的克服這一點(diǎn),如采用bagging思想的random forest和采用boosting思想的GBDT,都是決策樹的延伸,它們綜合多棵決策樹的分類結(jié)果來組合出更精確的分類器。
- 基于規(guī)則的分類器(Rule-based Classifier)
?基于規(guī)則的分類器通常都是利用“如果…則…”一類的規(guī)則來進(jìn)行分類。其適用性有限,且要獲得靠譜的規(guī)則比較困難,一般用的較少。
- 貝葉斯分類器(Bayes classifier)
??貝葉斯分類器其實(shí)是一類分類器,主要是利用貝葉斯公式,通過估計(jì)先驗(yàn)概率和似然概率,并利用一部分先驗(yàn)信息,來計(jì)算給定樣本的各維度數(shù)據(jù)值的情況下,樣本屬于某個(gè)類別的概率。
- 人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,ANN )
不必多言,當(dāng)下最火效果最好的分類器。
- 支持向量機(jī)(Support Vector Machine, SVM)
支持向量機(jī)是線性分類器的代表。與貝葉斯分類器先估計(jì)概率密度然后計(jì)算判別函數(shù)不同,線性分類器都是直接估計(jì)線性判別式,并最小化某個(gè)目標(biāo)函數(shù),利用某種凸優(yōu)化方法求解得到最終的線性判別式。這是最流行的分類器之一,通常認(rèn)為它訓(xùn)練、預(yù)測(cè)速度快,而且精度靠譜,所以在各種領(lǐng)域廣泛使用。
- 集成學(xué)習(xí)(Ensemble Learning)
集合若干個(gè)弱分類器來組合成一個(gè)強(qiáng)分類器,通常有bagging和boosting兩種思路。
6. 分類器性能評(píng)估
- Precision-recall:準(zhǔn)確率-召回率,根據(jù)混淆矩陣計(jì)算
- F1:結(jié)合準(zhǔn)確率-召回率的一個(gè)綜合指標(biāo)
- ROC:直觀的曲線比較分類器性能
- AUC:ROC的定量化表達(dá)
- MAE:平均絕對(duì)誤差
- RMSE:平均根方誤差
總結(jié)
以上是生活随笔為你收集整理的推荐系统常用术语 [ACM暑校]的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浅析Windows2000/XP服务与后
- 下一篇: 最新研究前线-深度推荐系统真的有效吗?