零基礎(chǔ)科普:4種簡單推薦算法背后的原理
本文轉(zhuǎn)載自微信公眾號「大數(shù)據(jù)DT」,作者李智慧。轉(zhuǎn)載本文請聯(lián)系大數(shù)據(jù)DT公眾號。
大數(shù)據(jù)平臺只是提供了數(shù)據(jù)獲取、存儲、計算、應(yīng)用的技術(shù)方案,真正挖掘這些數(shù)據(jù)之間的關(guān)系讓數(shù)據(jù)發(fā)揮價值的是各種機器學習算法。在這些算法中,最常見的當屬智能推薦算法了。下面通過幾種簡單的推薦算法來了解一下推薦算法背后的原理。
我們在淘寶購物,在頭條閱讀新聞,在抖音刷短視頻,背后其實都有智能推薦算法。這些算法不斷分析、計算我們的購物偏好、瀏覽習慣,然后為我們推薦可能喜歡的商品、文章、視頻。這些產(chǎn)品的推薦算法如此智能、高效,以至于我們常常一打開淘寶就買個不停,一打開抖音就停不下來。
01 基于人口統(tǒng)計的推薦
基于人口統(tǒng)計的推薦是相對簡單的一種推薦算法,它會根據(jù)用戶的基本信息進行分類,然后將商品推薦給同類用戶,如圖1所示。
▲圖1 基于人口統(tǒng)計的推薦算法
用戶A和用戶C的年齡相近、性別相同,可以將他們劃分為同類。用戶A喜歡商品D,因此推測用戶C可能也喜歡這個商品,系統(tǒng)就可以將這個商品推薦給用戶C。
圖1中的示例比較簡單,在實踐中,還應(yīng)該根據(jù)用戶收入、居住地區(qū)、學歷、職業(yè)等各種因素對用戶進行分類,以使推薦的商品更加準確。
02 基于商品屬性的推薦
基于商品屬性的推薦和基于人口統(tǒng)計的推薦相似,只是它是根據(jù)商品的屬性進行分類,然后根據(jù)商品分類進行推薦的,如圖2所示。
▲圖2 基于商品屬性的推薦
電影A和電影D都是科幻、戰(zhàn)爭類型的電影,如果用戶A喜歡電影A,很有可能他也會喜歡電影D,因此就可以給用戶A推薦電影D。
這和我們的生活常識也是相符合的。如果一個人連續(xù)看了幾篇關(guān)于籃球的新聞,那么再給他推薦一篇籃球的新聞,他很大可能會有興趣看。
03 基于用戶的協(xié)同過濾推薦
基于用戶的協(xié)同過濾推薦是根據(jù)用戶的喜好進行用戶分類,然后根據(jù)用戶分類進行推薦,如圖3所示。
▲圖3 基于用戶的協(xié)同過濾推薦
這個示例中,用戶A和用戶C都喜歡商品A和商品B,根據(jù)他們的喜好可以分為同類。用戶A還喜歡商品D,那么將商品D推薦給用戶C,他可能也會喜歡。
現(xiàn)實中,跟我們有相似喜好、品味的人也常常被我們當作同類,我們也愿意去嘗試他們喜歡的其他東西。
04 基于商品的協(xié)同過濾推薦
基于商品的協(xié)同過濾推薦則是根據(jù)用戶的喜好對商品進行分類,然后根據(jù)商品分類進行推薦,如圖4所示。
▲圖4 基于商品的協(xié)同過濾推薦
這個示例中,喜歡商品B的用戶A和用戶B都喜歡商品D,那么商品B和商品D就可以分為同類。對于同樣喜歡商品B的用戶C,很有可能也喜歡商品D,就可以將商品D推薦給用戶C。
這里描述的推薦算法比較簡單。事實上,要想做好推薦其實是非常難的,用戶不要你覺得他喜歡,而要自己覺得喜歡?,F(xiàn)實中,有很多智能推薦的效果并不好,被用戶吐槽是“人工智障”。推薦算法的優(yōu)化需要不斷地收集用戶的反饋,不斷地迭代算法和升級數(shù)據(jù)。
關(guān)于作者:李智慧,資深架構(gòu)專家,同程旅行交通首席架構(gòu)師,曾在NEC、阿里巴巴、Intel等知名企業(yè)擔任架構(gòu)師,也曾在WiFi萬能鑰匙等企業(yè)擔任CTO。長期從事大數(shù)據(jù)、大型網(wǎng)站的架構(gòu)和研發(fā)工作,領(lǐng)導(dǎo)設(shè)計過多個日活用戶在千萬級以上的互聯(lián)網(wǎng)系統(tǒng)架構(gòu),實戰(zhàn)經(jīng)驗豐富。曾設(shè)計、開發(fā)過 Web 服務(wù)器防火墻、分布式NoSQL 系統(tǒng)、大數(shù)據(jù)倉庫引擎、反應(yīng)式編程框架等各種類型的軟件系統(tǒng)。
本文摘編自《架構(gòu)師的自我修煉:技術(shù)、架構(gòu)和未來》,經(jīng)出版方授權(quán)發(fā)布。