【数字智能三篇】之二: 一页纸说清楚“什么是推荐系统?”
按:【數字智能三篇】 目前“大數據”、“推薦系統”、“深度學習”是數字智能領域的熱點研究方向,相關的書籍也很火熱,比如“大數據”僅這兩年就出版了很多本,讓一般人看的眼花繚亂。
本系列共分三篇,力求僅以一頁紙的篇幅來系統完整地介紹以上這三個方向,深入淺出。以下內容摘自2014年新出版的《3D打印:三維智能數字化創造》一書,有刪節,完整內容及目錄詳見鏈接:http://www.sigvc.org/why/book/3dp/index.htm?
【數字智能三篇】之一: 一頁紙說清楚“什么是大數據”:http://blog.sciencenet.cn/blog-4099-781642.html
-----------------------
我們回到一開始的話題,總有一天你肯定會為每天要打印哪些3D模型而犯愁,因為網上的模型實在是太多了。答案是:個性化推薦系統!基于大數據(比如你以往所有的打印記錄、你好友圈的所有打印記錄,還有網上所有的3D模型),推薦系統對你的個性偏好進行深度分析(結合4.6.3節將要介紹的深度學習算法)確認,發現你偏好于打印可愛類型的美少女模型。而且通過對模型形狀特點(參見第6章的6.2節)的無監督特征學習(參見4.6.3節)發現:你只喜歡擁有大酒糟鼻子的臉型(您的一個特殊癖好)。于是,推薦系統就把那些近期剛剛上架不久的熱門美少女模型推薦給你,甚至還幫你自動分類(參見第6章的6.4.1節),設計成多個主題系列,讓你搖身變成了一位有高端品位的“卡哇伊大酒糟鼻子美少女3D模型”收藏專家。
言歸正傳,在大數據的社會背景下,所謂個性化推薦就是根據用戶的興趣特點和購買行為,向用戶推薦感興趣的信息和商品。在當前Web 2.0時代,隨著電子商務規模的不斷擴大,商品數量和種類快速增長,顧客需要花費大量的時間才能找到自己想買的商品,出現了所謂的信息超載(Information Overload)問題。為了解決這個難題,個性化(Personalized)推薦系統(Recommender System)應運而生。個性化推薦系統通過分析用戶的行為,發現用戶的個性化需求、興趣等,然后將用戶感興趣的信息、產品推薦給用戶。推薦系統主要依賴于數據挖掘(Data Mining)和機器學習(Machine Learning)的算法。
通常,以Google、百度為代表的搜索引擎可以讓用戶通過輸入關鍵詞精確找到自己需要的相關信息。但是,如果用戶無法想到準確描述自己需求的關鍵詞,此時搜索引擎就無能為力了。和搜索引擎不同,推薦系統不需要用戶提供明確的需求,而是通過分析用戶的歷史行為來對用戶的興趣進行建模,從而主動給用戶推薦可滿足他們興趣和需求的信息。因此,搜索引擎和推薦系統對用戶來說是兩個互補的工具,前者需要用戶“主動出擊”,后者則讓用戶“被動笑納”。
推薦系統現已廣泛應用于很多領域,其中最典型并具有良好的發展應用前景的領域就是電子商務領域,如圖4-44所示的亞馬遜購物網站。
圖4-44 ?亞馬遜推薦系統的用戶界面
推薦系統可認為是一種特殊形式的信息過濾(Information Filtering)系統,主要有“協同過濾推薦”、“基于內容的推薦”、“基于關聯規則的推薦”、“基于知識推理的推薦”、“組合推薦”這幾種智能算法。
如果推薦系統根據用戶的歷史興趣來給用戶做推薦,那么這種方法被稱為“協同過濾推薦”(Collaborative Filtering Recommendation)算法。協同過濾是基于這樣的原理:首先找到與此用戶有相似興趣的其他用戶,然后將他們感興趣的內容推薦給此用戶。其基本思想非常易于理解,在日常生活中,我們往往會通過好朋友的推薦來進行一些選擇,如音樂、電影等。協同過濾實際上是通過人與人之間的合作來過濾掉不良信息,因此協同過濾也叫社會過濾(social collaborative filtering)。
參考:具體地,給定用戶和,令是喜歡的物品集合,是喜歡的物品集合,則用戶和的興趣相似度可用如下公式來表示:
(Jaccard公式) 或?(余弦相似度)
然后,用戶對物品的喜歡程度就可用如下公式來計算:
其中,包含與用戶興趣最接近的個用戶,為喜歡物品的用戶集合。
如果推薦系統利用了商品的內容描述,計算用戶的興趣和商品描述之間的相似度,來給用戶做推薦,則稱為“基于內容的推薦”(Content-based Recommendation)算法,如4.6.1節提到的魔幻武俠小說的推薦例子。基于內容的推薦不需要其他用戶的幫助,不需要依據其他用戶對商品的評價意見,因此沒有冷啟動問題、新上架商品問題、冷門商品問題和稀疏性問題(相比于海量的商品數目,商品的用戶評價數目往往非常少,其本質上可歸結為數據的高維)。說直白點,就是商品剛上架時,此時還沒有一個用戶對該商品做出過評價,這時“協同過濾推薦”算法就無法工作,而“基于內容的推薦”算法則沒有問題。
基于關聯規則的推薦以關聯規則為基礎,分析用戶已經選擇的項目與未選擇項目之間的關聯性得出最后的推薦結果。關聯規則推薦的典型例子是購物籃分析,該推薦方法通過發現顧客放入其購物籃中不同商品之間的聯系,分析顧客的購買習慣。例如買面包的顧客,還會購買牛奶。通過了解哪些商品頻繁地被顧客同時購買,可以把相關的產品擺在一起,達到促銷的目的。
基于知識推理的推薦是數據挖掘技術在個性化推薦系統中的應用,它不參考用戶對于項目的偏好,而是依據某種知識或者推理來進行推薦。例如,如果用戶喜歡沖洗大照片,那么高分辨率相機會對其更有吸引力。具體地,通過對數據庫中數據進行分析,發現信息中隱含的有價值的知識,或者在用戶和待推薦對象之間構建推理,來進行推薦。此外,基于知識推理的推薦系統還可不斷學習用戶對推薦的反饋情況,從而達到更高的推薦質量。
除此以上這些,還有基于信任網絡的推薦系統、上下文感知推薦系統、基于網絡結構的推薦等等。由于各種推薦方法都有優缺點,所以在實際中,組合推薦(Hybrid Recommendation)經常被采用。比如分別用基于內容推薦方法和協同過濾推薦方法去產生一個推薦預測結果,然后用某方法組合其結果,以彌補各推薦技術的弱點。判斷一個推薦系統的優劣主要有以下評價指標:準確度(Accuracy,包括預測準確度、分類準確度、排序準確度)、覆蓋率(Coverage),驚喜性(Serendipity)、新穎性(Novelty)、多樣性、用戶滿意度等。
推薦系統的早期研究主要集中在靜態用戶行為分析領域,即不考慮用戶行為發生的時間,而僅僅研究用戶行為中與時間無關的靜態模式。近年來,很多研究人員轉向研究推薦系統的動態特性,主要包括用戶興趣變化的動態模型,基于時間上下文的推薦等問題。例如一部電影剛上映的時候可能會被很多人關注,但過了幾個月后人們逐漸不再感興趣,所以這時就不能再把它放在最醒目的位置,即使這部電影的評價很高、用戶的興趣跟它很相關。
推薦系統可以更好地發掘信息的長尾(Long Tail)。在傳統零售超市里,最熱門的少數商品往往擺在最醒目的位置,而大量的冷門商品則放在貨架的某個角落,很難讓人注意到。但在電子商務時代,借助于個性化推薦系統,這些冷門商品也終于可以揚眉吐氣、主動被推送到感興趣用戶網頁的最醒目位置。?
from:?http://blog.sciencenet.cn/blog-4099-783271.html
總結
以上是生活随笔為你收集整理的【数字智能三篇】之二: 一页纸说清楚“什么是推荐系统?”的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【数字智能三篇】之一: 一页纸说清楚“什
- 下一篇: 【数字智能三篇】之三: 一页纸说清楚“什