點擊上方「AI公園」,關注公衆號,選擇加「星標「或「置頂」算法
做者:Parul Pandey微信
編譯:ronghuaiyang
網絡
一個推薦系統的精彩概述,描述瞭如何向市場提供有效的推薦。機器學習
不少時候,人們不知道他們想要什麼,知道你展現給他們看:史蒂夫·喬布斯編輯器
這是《The Long Tail》這本書的摘錄,做者Chris Anderson:「1988年,一個名叫喬·辛普森的英國爬山者寫了一本書叫《Touching the Void》,寫了祕魯安第斯山脈附近的一個悲慘的死亡。它獲得了很好的評價,可是,僅僅是適度的成功,它很快就被遺忘了。十年後,一件奇怪的事情發生了。Jon Krakauer寫了本《Into Thin Air》,這是另外一本講述爬山悲劇的書,引發了出版界的轟動。忽然間,《Touching the Void》又開始銷售了」。ide
對《Touching the Void》的需求如此之高,以致於過了一段時間,它的銷量甚至超過了《Into Thin Air》。但這裏到底發生了什麼?事實證實,因爲這兩本書都基於同一個主題,亞馬遜認爲喜歡《Into Thin Air》的讀者也會喜歡Touching the Void》。當人們接受了他們真正喜歡這本書的建議,並所以寫了積極的評論,這致使更多的銷售最終致使了更多的推薦,從而進入一個積極的反饋循環。這就是推薦系統的力量。性能
推薦系統
推薦引擎試圖向人們推薦產品或服務。在某種程度上,推薦系統試圖經過向人們提供他們最可能購買或使用的建議來縮小人們的選擇範圍。從亞馬遜到Netflix,從Facebook到Linkedin,推薦系統幾乎無處不在。事實上,亞馬遜收入的很大一部分來自推薦。像Youtube和Netflix這樣的公司依靠他們的推薦引擎來幫助用戶發現新的內容。如下是咱們平常生活中的一些建議:學習
Amazon優化
亞馬遜利用其數百萬客戶的數據來肯定哪些商品一般是一塊兒購買的,並據此提出建議。亞馬遜網站的推薦是基於明確提供的評級、購買行爲和瀏覽歷史。網站
Linkedin
Linkedin利用你過去的經驗、當前的職位的數據向你推薦可能的工做。
Netflix
當咱們給一部電影打分或在Netflix上設置本身的偏好時,Netflix會利用這些數據以及其餘數百名用戶的相似數據來推薦電影和節目。這些評級和動做會被Netflix用來提出建議。
Facebook
像Facebook這樣的推薦系統並不直接推薦產品,而是推薦相關聯的人。
除此以外,Spotify、Youtube、IMDB、Trip Advisor、Google News,等衆多平臺不斷地給出適合咱們需求的建議。
爲何要用推薦系統
今天,網上商店蓬勃發展,咱們幾乎能夠經過點擊鼠標獲得任何物品。然而,在實體店時代,實體店的空間有限,因此店主只展現最受歡迎的商品。這意味着不少產品甚至沒有被展現,即便他們有很好的質量,如書籍或CD。簡而言之,店主必須對商品進行預過濾。
然而,在線購物行業改變了這種狀況。由於有無限的空間,因此無需預過濾。相反,這致使了一種現象,後來被稱爲長尾效應。
這一效應意味着,不管是在網上仍是線下商店,都很難找到受歡迎的產品。相反,不那麼受歡迎的產品不少,並且只能在網上商店找到,它們最終構成了「長尾」。然而,不受歡迎的產品也多是好的,在網站上找到這樣的產品是一項艱鉅的任務,須要某種形式的過濾。這樣的過濾器實際上構成了一個推薦系統。
推薦系統問題的形式
建立推薦系統主要是爲了解決如下兩個問題的其中之一:
預測版本
此版本用於預測用戶項目組合的評級值。在這種狀況下,咱們擁有由用戶給出的評分組成的訓練數據。其目的是利用這些數據,預測用戶未與之交互的項目的評級。
排序版本
坦率地說,沒有必要預測用戶對特定項目的評分來作出推薦。在線零售商或電子商務公司並不太在乎用戶的預測。相反,他們更感興趣的是列出一份有限的清單,列出最好的禮物送給某我的。此外,客戶不想看到系統預測他們對某件商品的評分的能力,他們只想看到他們可能喜歡的東西。
推薦引擎的成功取決於它爲人們找到最佳推薦的能力,因此把重點放在人們喜歡的東西上是有意義的,而不是咱們預測人們討厭的東西的能力。
推薦系統的目的
推薦系統的最終目標是增長公司的銷售。要作到這一點,推薦系統應該只向用戶顯示或提供有意義的項目。Charu C Aggarwal在他的著做《recommendation Systems》中總結了推薦引擎的四個指望目標:
相關性
推薦的項目只有在與用戶相關時纔有意義。用戶更有可能購買或消費他們感興趣的商品。
新穎性
除了相關性,新穎性也是一個重要因素。若是用戶之前沒有見過或消費過推薦的商品,那麼推薦的商品將更有意義。
意外性
有時推薦一些出人意料的商品也能促進銷售。然而,意外與新穎是不一樣的。引用做者的話:
「若是附近新開了一家印度餐館,那麼向一般吃印度菜的顧客推薦這家餐館就是新穎的,但不必定是意外的。另外一方面,當相同的用戶被推薦埃塞俄比亞食物時,用戶並不知道這種食物可能會吸引她,那麼推薦是意外的」.
多樣性
此外,增長建議的多樣性也一樣重要。簡單地推薦彼此類似的項目是沒有用的。
推薦系統的工做
那麼推薦系統是如何工做的呢?假設亞馬遜想給你展現圖書類別中的前10條推薦。在這裏,亞馬遜的推薦系統將從你的一些數據開始,從而找出你的我的品味和興趣。而後,它會將這些關於你的數據與其餘像你同樣的人的集體行爲結合起來,推薦你可能喜歡的東西。可是這些關於你喜歡和不喜歡的數據是從哪裏來的呢?
收集用戶偏好數據的方法有兩種:
顯式數據
要求用戶以1到5星的評分標準來評價一項內容,或者用「喜歡」或「不喜歡」來評價他們看到的內容,這是一個顯式數據收集的例子。在這些狀況下,會顯式地詢問用戶是否喜歡某個特定的項目,而後使用這些數據構建該用戶感興趣的概要文件。
然而,有一個缺點,由於不是每一個用戶都留下反饋或評級,即便他們留下評級,對於不一樣的人可能有不一樣的含義。例如,3⭐️評級可能對一我的來講意味着好,但對另一我的來講就是通常般。
隱式數據Implicit Data
隱式數據來自用戶與站點的交互,並將其解釋爲感興趣或不感興趣的指示。例如,從亞馬遜購買產品或觀看完整的youtube視頻片斷被認爲是一種積極的興趣。隱式交互能夠提供更多的數據,對於購買數據,它甚至多是更好的數據。
推薦系統的基礎模型
在當今的行業中,有許多類型的推薦系統。然而,重要是決定哪一種類型適合咱們的須要以及咱們可使用哪一種數據。選擇主要取決於:
咱們想要肯定的,
在咱們的數據中指定了什麼類型的關係。
推薦系統所採用的一些共同方法包括:
讓咱們對每個都作一個簡單的概述
基於內容的過濾
基於內容的過濾包括基於物品自己的屬性推薦物品。基於內容的過濾器提出的建議使用我的的歷史信息來指導所顯示的選擇。這樣的推薦系統會尋找一我的在過去購買或喜歡的物品或產品之間的類似之處,爲未來推薦一些選擇。
例如,若是用戶喜歡「文學」類別的書籍,那麼向用戶推薦相同類別的書籍是有意義的。此外,推薦同一年出版的同一做者的書也是一個好主意。這就是基於內容的過濾的工做原理。
基於內容的方法的優勢是,咱們實際上不須要不少交互來構建模型,由於咱們只須要關於產品的信息。然而,缺點是,模型沒有從交互中學習,所以隨着時間的推移,基於內容的系統的性能沒有太大的改進。
協同過濾
協同過濾利用許多用戶/客戶提供的評級的綜合能力來提供推薦。這意味着根據他人的協同行爲推薦產品。
協同過濾有兩種方法:
1. 基於記憶的方法 這也被稱爲基於鄰域的協同過濾算法,其中用戶項組合的評級是根據它們的鄰域來預測的。這些領域可進一步如下列兩種方式之一加以界定:
基於用戶的協同過濾:
找到像你這樣的人,向你推薦他們喜歡的東西。
基於物品的協同過濾:
推薦那些買了你喜歡的東西的人買的其餘東西。
2. 基於模型的方法 使用機器學習方法,將問題做爲一個普通的機器學習問題來處理,從而提取評級數據的預測。PCA, SVD,矩陣分解,聚類,還可使用神經網絡等。
混合以及基於集成的過濾
基於內容和協同的方法都有各自的優缺點,經過將許多算法結合在一塊兒,咱們稱之爲混合方法,最終能夠獲得一個更好的系統。混合系統利用物品數據和交互數據提供建議。
使用混合方法的一個很好的例子是Netflix。在Netflix,推薦不只基於人們的觀看和搜索習慣(協做系統),還推薦具備類似特徵的電影(基於內容)。
評估推薦系統:關於準確性的炒做
用戶並不真正關心準確性
沒有一種直接的方法來衡量推薦系統的好壞。這一領域的許多研究都傾向於預測用戶對全部他們還沒有評級的事物的評級,不管是好是壞。但這與現實世界中推薦系統所須要作的很是不一樣。度量準確性並非咱們真正想要推薦系統作的事情。那麼,爲何在推薦系統領域中對RMSE和準確性給予瞭如此大的重視呢?
嗯,不少均可以追溯到2006年,當時Netflix宣佈了著名的100萬美圓獎金挑戰賽。比賽開始時,他們的RMSE是0.9525,終點線是0.8572或更低。因爲獎項的焦點是RMSE,人們只關注它,這種影響一直持續到今天。
有趣的是,通過三年的競爭,大多數算法都沒有集成到Netflix中。
你可能想知道,在贏得了一百萬美圓以後的兩年發生了什麼事,…咱們離線評估了一些新方法,可是咱們度量到的準確率的提高並無沒有理由把他們放到到生產環境中。
咱們的商業目標是最大限度地提升會員滿意度和月訂閱率……如今很明顯,Netflix的獲獎目標,準確預測電影的評級,只是一個有效的推薦系統的許多組成部分之一,它優化了咱們的會員的體驗。
結論
在本文中,咱們概述了推薦系統,以及它們如何經過爲每一個客戶建立個性化的購物體驗來提供有效的目標營銷形式。可是,咱們沒有深刻探討各類推薦的方法。這是由於每種方法都是至關普遍的,都應該有本身的一篇文章。在下一篇文章中,我將詳細討論推薦方法的工做原理及其優缺點。

英文原文:https://towardsdatascience.com/the-remarkable-world-of-recommender-systems-bff4b9cbe6a7
請長按或掃描二維碼關注本公衆號
喜歡的話,請給我個好看吧!
本文分享自微信公衆號 - AI公園(AI_Paradise)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。