作者:稀飯


本文2350字 ,數(shù)理推導(dǎo)較少,泛讀需 6分鐘 ,精讀需15分鐘

你是不是經(jīng)常會被你男朋友的甜言蜜語和送的小禮物所打動?別擔(dān)心,也許他只是根據(jù)你閨蜜的性格特點使用了協(xié)同過濾技巧。

 

熟悉我的人應(yīng)該知道,我認可推薦算法的使用,反對推薦算法在資本加持下的濫用,因為推薦算法非常容易產(chǎn)生被動成癮性,榨干你的時間和錢包。但今天這篇文章不去討論推薦算法的使用是否符合道德,而是簡要去給大家科普一下推薦算法中的經(jīng)典操作 —— 協(xié)同過濾。

 

可能現(xiàn)在的抖音快手早已不局限于協(xié)同過濾這種簡單的推薦算法,但協(xié)同過濾一直都是推薦算法的經(jīng)典內(nèi)容。簡單來說,協(xié)同過濾就是基于某種規(guī)則,過濾掉你不感興趣的內(nèi)容,而留下你感興趣的內(nèi)容,最后把這些內(nèi)容發(fā)給你就行了,樸素且枯燥。協(xié)同過濾會根據(jù)你過去的歷史行為,分析你的興趣點,并在其他人當(dāng)中找到和你有類似興趣的人,并綜合你們之間的特點,找到可以推薦給你的內(nèi)容,并根據(jù)喜好程度預(yù)測,根據(jù)評分從高到低將內(nèi)容推送給你。

 

在沒有短視頻之前,協(xié)同過濾的使用往往常見于網(wǎng)絡(luò)電商,比如亞馬遜的網(wǎng)絡(luò)書店,顧客在選購一本自己感興趣的書籍的時候,往往會看到“購買此書的顧客也同時購買了XX”。

 

但協(xié)同過濾要和關(guān)聯(lián)規(guī)則進行區(qū)別。在學(xué)習(xí)關(guān)聯(lián)規(guī)則的時候,老師往往會講一個“啤酒與尿布”的故事,用來說明超市貨物的擺放利用了關(guān)聯(lián)規(guī)則的方法。表面上看,協(xié)同過濾和關(guān)聯(lián)規(guī)則都是發(fā)現(xiàn)某種規(guī)律,以實現(xiàn)“AB的概率綁定”,但它們之間仍然有區(qū)別,總結(jié)如下:

下面介紹協(xié)同過濾中常見的算法:

 

1基于用戶的協(xié)同過濾

 

是最古老的推薦算法之一,該算法的誕生標志著推薦系統(tǒng)的產(chǎn)生。基于用戶的協(xié)同過濾算法的思想極其簡單,生活當(dāng)中都經(jīng)常使用。比如,當(dāng)我們想看一部電視劇卻不知道有什么電視劇可以看的時候,找到身邊的好基友或者好閨蜜,問一問就行了。其原理就是“物以類聚、人以群分”,人們會傾向于從興趣或類型相似的人那里得到推薦。

 

基于用戶的協(xié)同過濾的推薦算法主要分兩個步驟:

Step 1 找到和目標用戶興趣相似的用戶集合;

Step 2 找到這個集合中用戶喜歡且目標用戶未涉及的物品推薦給目標用戶。

 

基于用戶的協(xié)同過濾算法的核心是所選擇的用戶集合規(guī)模。用戶集合規(guī)模不能太大也不能太小,如果太小會導(dǎo)致推薦算法的準確率和召回率比較低;規(guī)模太大則會導(dǎo)致模型過擬合,越來越偏向于全局熱門的產(chǎn)品,推薦結(jié)果對實際可能的覆蓋率也就越低。

 

2基于物品的協(xié)同過濾

 

基于物品的協(xié)同過濾是另一種使用頻率更高的推薦算法。它比基于用戶的協(xié)同過濾更常用,常用的原因在于用戶的數(shù)量遠小于物品的數(shù)量,且物品的數(shù)據(jù)相對穩(wěn)定,用戶的興趣變化更頻繁。基于物品來計算相似度(協(xié)同過濾算法流程中的一個重要指標)不但計算量不大,且不需要頻繁地更新。

 

基于物品的協(xié)同過濾也分兩步驟進行:

Step 1 計算物品之間的相似度;

Step 2 將和用戶喜歡的物品最相似且用戶沒有涉及的物品推薦給用戶。

 

基于物品的協(xié)同過濾算法的核心參數(shù)是物品數(shù)量的規(guī)模,合適的規(guī)模對獲得算法的最高精度結(jié)果非常重要,不能太大也不能太小。

 

在了解的最常見的兩類協(xié)同過濾算法之后,可以繼續(xù)了解一下它們各自的適用場景。基于用戶的協(xié)同過濾,更適合“用戶穩(wěn)定性>物品穩(wěn)定性”的場景,比如門戶網(wǎng)站的新聞推薦(不知道今日頭條會不會使用此類推薦算法),是因為新聞更新頻率很快且相似性易變;基于物品的協(xié)同過濾,則更適合“物品穩(wěn)定性>用戶穩(wěn)定性”的場景,比如電商的物品推薦,是因為電商中物品的數(shù)量遠小于用戶的數(shù)量,且物品更新慢于用戶,相似性更穩(wěn)定。

 

此外,近幾年開始流行的矩陣分解技術(shù)也可以用于協(xié)同過濾。在矩陣分解可用的場景下,基于矩陣分解的協(xié)同過濾的效果一般要好于常見的基于用戶、基于物品的協(xié)同過濾。但矩陣分解技術(shù)也有缺點,它的數(shù)學(xué)原理復(fù)雜度較高,模型的可解釋性也不太行,不能很好地給協(xié)同過濾得出的結(jié)果一個好理解的解釋。在一些對可解釋性要求較高的推薦場景中,并不適合使用基于矩陣分解技術(shù)的協(xié)同過濾。

 

再介紹一下協(xié)同過濾算法的一些評估指標。協(xié)同過濾算法究竟能不能“讓人沉迷”,其評估的本質(zhì)是判斷用戶對推薦結(jié)果的“滿意度”。常用的評價指標如下:

 

1誤差率

2覆蓋率

3多樣性

除了上面3個最常見的協(xié)同過濾算法質(zhì)量評價指標外,還有一些指標可以用于協(xié)同過濾算法的評價:

1新穎性。新穎的推薦是給用戶推薦他們之間并沒有聽過的物品。判斷新穎性比較簡單的方法是觀察推薦結(jié)果的平均流行度,因為越不熱門的物品可能讓用戶越覺得新穎;

2信任度。同樣的推薦結(jié)果,以用戶信任的方式推薦給他們,就更能讓他們產(chǎn)生足夠的購買或使用的欲望。增加透明度可以增加用戶對推薦結(jié)果的信任程度,其中最簡單的辦法就是提供推薦解釋,讓用戶了解推薦系統(tǒng)的運行機制(但實際中很少看到有這樣做的商家吧);

3驚喜度。如果推薦結(jié)果和用戶以前的興趣不怎么相似,但卻讓用戶覺得比較滿意,那么就可以說推薦結(jié)果的驚喜度比較高。驚喜度和新穎性是有區(qū)別的,因為推薦的新穎性僅僅取決于用戶有沒有了解過這個推薦結(jié)果。

 

總而言之,協(xié)同過濾作為最經(jīng)典的推薦算法,在很多場景下有它使用的價值。我們可以使用協(xié)同過濾來完成很多推薦工作,便利人們的生活。但仍然要在文章末尾強調(diào)的是,推薦算法是涉及人性的東西,而且需要大量的個人信息,某些甚至屬于隱私。資本的逐利性會放大推薦算法黑暗的一面,為攫取利潤而服務(wù)。抵抗推薦算法的操控,除了之前在公眾號里提出的“化被動為主動”的觀點外,了解算法的運行機制,也有助于我們控制算法對人性弱點的利用,協(xié)同過濾就是最經(jīng)典的一類推薦算法。雖然現(xiàn)在實際商業(yè)場景中的推薦算法遠遠沒有這么簡單,其內(nèi)核往往都是基于協(xié)同過濾的原理進行改造。我們不需要深究協(xié)同過濾背后的數(shù)理知識,弄清楚它的運作原理,明白自己是如何被推薦算法所操控的,就有益于我們理性地看待這個充滿推薦算法的世界

文章轉(zhuǎn)載自微信公眾號稀飯居然不在家