KNN算法是啥,懂了它就懂了系統平臺的文章推薦機制

“人家寫的文章,發佈的視頻,為什麼動輒有數十萬的訪問量啊,我寫的文章為什麼閱讀量總是寥寥無幾?”小李是公司的電子商務運營人員,這幾天小李一直在為找不到方向悶悶不樂。小李的情況代表大多數的電子商務運營者,由於不瞭解系統是如何選擇取捨用戶內容的,所以他們感到十分苦悶。

對算法熟悉的程序員知道,現在無論是頭條體系,還是阿里巴巴體系,或者是騰訊體系,在內容地分發上,統一採用推薦算法,也就是機器採用推薦算法完成的。電子商務運營人員只有明白了推薦的原理,才能很好完成電子商務運營。那麼機器是如何完成推薦的呢,KNN算法是其中的靈魂。

啥是KNN算法

KNN的全稱是K Nearest(最近的) Neighbors(鄰居),意思是K 個最近的鄰居,K代表不確定的數量。也就是根據K個最近鄰居特徵,向用戶推薦內容。

這聽起來有些抽象,我們舉個具體的例子,詳細解釋一下到底什麼是KNN算法。

假設你是一個短視頻經營平臺A,你要向你的用戶張三推薦他喜歡的短視頻內容。我們設計的思路是這樣的,首先我們計算找到與張三興趣愛好最相近的K個朋友,然後認定張三也喜歡他的K個朋友喜歡的內容,將他朋友喜歡的內容推薦給張三。

我們首先將所有的用戶放入座標之中。

KNN算法是啥,懂了它就懂了系統平臺的文章推薦機制

所有的用戶放入座標之中

然後,找到與張三興趣愛好最接近的3位朋友,也就是K=3(這個K是系統開發者設定的,但不是隨意的啊),我們判定李四、王五、趙六,與張三在短視頻上有共同的愛好。

KNN算法是啥,懂了它就懂了系統平臺的文章推薦機制

與推薦用戶最密切關係的人

有了這樣的圖表以後,創建推薦系統就變得十分簡單。只要是李四、王五、趙六喜歡的短視頻,就將其推薦給張三。

KNN算法是啥,懂了它就懂了系統平臺的文章推薦機制

將張三朋友李四喜歡的視頻推薦給張三

這就是KNN算法的簡單邏輯,但是還有兩個問題,需要解釋一下,就是K值選取多少為好呢,相似性是怎麼計算出來的呢等。

K值是如何計算得來的

K值的選取非常重要,不能太大也不能太小。還拿短視頻推薦的例子來講,我們打算為張三選取在短視頻方面有共同愛好的人,如果只是選取一個人作為共同愛好者時,一旦張三行為發生變化,那麼就會出現偏差,無法為張三推薦短視頻。

如果選取K的值過大,也就是關聯的朋友過多,也會出現情況,因為朋友過多,差異較大,張三上網選取短視頻時候,也會出現無短視頻可推送的情況。

學術上稱這兩種情況過擬合(over-fitting )和欠擬合(under-fitting)。

K的取值儘量要取奇數,常用的方法是從k=1開始,每次K增值1,以找到最佳的目標。

怎麼計算兩人之間的共同愛好啊

我們還以A短視頻平臺向張三推薦短視頻為例,假設A平臺要向張三推薦短視頻,平臺就需要將張三等短視頻用戶放到圖表中,並轉化為一組座標,確定了他們的座標,就可以計算他們之間的距離了。

KNN算法是啥,懂了它就懂了系統平臺的文章推薦機制

張三的座標

下圖是將用戶轉化為一組數字的方式。用戶註冊時,要求他們指出他們喜歡的短視頻類型,並指出對各種短視頻的喜歡程度。

KNN算法是啥,懂了它就懂了系統平臺的文章推薦機制

張三、李四、王五對不同類型短視頻的喜歡程度打分

這樣,對於每位用戶,都將獲得一組數字。那麼我們計算張三和李四之間的距離的公式為:

KNN算法是啥,懂了它就懂了系統平臺的文章推薦機制

距離計算公式

他們之間的數值越小,距離越近。

由於各種複雜的原因,他們之間的計算公式不都是這樣的計算,還有餘弦距離、Tanimoto 係數等方法。

回到上面的短視頻推薦中,經過計算,我們知道了和張三之間距離最近的人,他們喜歡的短視頻可能就是張三喜歡的短視頻,這樣我們就可以給張三推薦短視頻了。

實際的推薦系統遠比這個複雜

上面我們看到,我們向張三推薦的短視頻系統是通過張三的好朋友實現的。實際上在真實的短視頻、新聞內容推薦系統中,遠比這個複雜。

除了上面的這種推薦方法之外,還可以基於內容本身的特徵向用戶推薦內容,系統基於用戶的喜好評價對象的特徵,然後計算用戶和內容的匹配程度,並向用戶推薦內容。實際應用中還常常用到基於關聯規則、基於效用、基於知識等推薦方法。

我們知道頭條在推薦內容時候是首先基於內容向用戶推薦一輪,如果評論、轉發、收藏比較多,他們他們還會基於協同,也就是基於好朋友再向相關的用戶推薦一輪。這就綜合運用了各種推薦方法。淘寶的推薦方法也是綜合運用各種要素進行推薦的,其中商家的權重就是基於效用推薦的。

解釋:無論採用何種推薦方法,其核心的算法還是KNN算法,其具有簡單易用、模型訓練時間快、預測效果好、對異常值不敏感等優點,缺點是對內存要求高、如果預測可能比較慢、對數據規模比較敏感。


KNN算法是啥,懂了它就懂了系統平臺的文章推薦機制

推薦系統機制


在瞭解了系統推薦機制之後,我們需要梳理一下自己的思路。目標用戶關心的是我們電子商務運營的方向;同時,我們也要明白推薦的機制,我們的電子商務運營目標要與系統推薦平臺的目標達成一致。


分享到:


相關文章: