erp系統(tǒng)_安大教務(wù)系統(tǒng)_推薦系統(tǒng)原理介紹
本文關(guān)鍵詞:推薦系統(tǒng),由筆耕文化傳播整理發(fā)布。
猜你喜歡-----推薦系統(tǒng)原理介紹
寫在正文之前
最近在做推薦系統(tǒng),在項(xiàng)目組內(nèi)做了一個分享。今天有些時間,就將邏輯梳理一遍,將ppt內(nèi)容用文字沉淀下來,便于接下來對推薦系統(tǒng)的進(jìn)一步研究。推薦系統(tǒng)確實(shí)是極度復(fù)雜,要走的路還很長。
A First Glance
為什么需要推薦系統(tǒng)——信息過載
隨著互聯(lián)網(wǎng)行業(yè)的井噴式發(fā)展,獲取信息的方式越來越多,人們從主動獲取信息逐漸變成了被動接受信息,信息量也在以幾何倍數(shù)式爆發(fā)增長。舉一個例子,PC時代用google reader,常常有上千條未讀博客更新;如今的微信公眾號,也有大量的紅點(diǎn)未閱讀。垃圾信息越來越多,導(dǎo)致用戶獲取有價值信息的成本大大增加。為了解決這個問題,我個人就采取了比較極端的做法:直接忽略所有推送消息的入口。但在很多時候,有效信息的獲取速度極其重要。
由于信息的爆炸式增長,對信息獲取的有效性,針對性的需求也就自然出現(xiàn)了。推薦系統(tǒng)應(yīng)運(yùn)而生。
亞馬遜的推薦系統(tǒng)
最早的推薦系統(tǒng)應(yīng)該是亞馬遜為了提升長尾貨物的用戶抵達(dá)率而發(fā)明的。已經(jīng)有數(shù)據(jù)證明,長尾商品的銷售額以及利潤總和與熱門商品是基本持平的。亞馬遜網(wǎng)站上在線銷售的商品何止百萬,但首頁能夠展示的商品數(shù)量又極其有限,給用戶推薦他們可能喜歡的商品就成了一件非常重要的事情。當(dāng)然,商品搜索也是一塊大蛋糕,亞馬遜的商品搜索早已經(jīng)開始侵蝕谷歌的核心業(yè)務(wù)了。
在亞馬遜的商品展示頁面,經(jīng)常能夠看見:瀏覽此商品的顧客也同時瀏覽。
這就是非常典型的推薦系統(tǒng)。八卦一下:”剁手族”的興起,與推薦系統(tǒng)應(yīng)該有一定關(guān)系吧,哈哈。
推薦系統(tǒng)與大數(shù)據(jù)
大數(shù)據(jù)與云計算,在當(dāng)下非常熱門。不管是業(yè)內(nèi)同事還是其他行業(yè)的朋友,大數(shù)據(jù)都是一個常談的話題。就像青少年時期熱門的話題:“性”。大家都不太懂,但大家都想說上幾句。業(yè)內(nèi)對于大數(shù)據(jù)的使用其實(shí)還處于一個比較原始的探索階段,前段時間聽一家基因公司的CEO說,現(xiàn)在可以將人類的基因完全導(dǎo)出為數(shù)據(jù),但這些數(shù)據(jù)毫無規(guī)律,能拿到這些數(shù)據(jù),但根本不知道可以干什么。推薦系統(tǒng)也是利用用戶數(shù)據(jù)來發(fā)現(xiàn)規(guī)律,相對來說開始得更早,運(yùn)用上也比較成熟。
冷啟動問題
推薦系統(tǒng)需要數(shù)據(jù)作為支撐。但亞馬遜在剛剛開始做推薦的時候,是沒有大量且有效的用戶行為數(shù)據(jù)的。這時候就會面臨著“冷啟動”的問題。沒有用戶行為數(shù)據(jù),就利用商品本身的內(nèi)容數(shù)據(jù)。這就是推薦系統(tǒng)早期的做法。
基于內(nèi)容的推薦:
tag 給商品打上各種tag:運(yùn)動商品類,快速消費(fèi)品類,等等。粒度劃分越細(xì),推薦結(jié)果就越精確
商品名稱,描述的關(guān)鍵字 通過從商品的文本描述信息中提取關(guān)鍵字,從而利用關(guān)鍵字的相似來作推薦
同商家的不同商品 用戶購買了商店的一件商品,就推薦這個商店的其他熱銷商品
利用經(jīng)驗(yàn),,人為地做一些關(guān)聯(lián) 一個經(jīng)典的例子就是商店在啤酒架旁邊擺上紙尿布。那么,在網(wǎng)上購買啤酒的人,也可以推薦紙尿布?
由于內(nèi)容的極度復(fù)雜性,這一塊兒的規(guī)則可以無限拓展。基于內(nèi)容的推薦與用戶行為數(shù)據(jù)沒有關(guān)系,在亞馬遜早期是比較靠譜的策略。但正是由于內(nèi)容的復(fù)雜性,也會出現(xiàn)很多錯誤的推薦。比如:小明在網(wǎng)上搜索過保時捷汽車模型。然后推薦系統(tǒng)根據(jù)關(guān)鍵字,給小明推薦了價值200萬的保時捷911......
用戶行為數(shù)據(jù)—到底在記錄什么
在游戲里面,我們的人物角色是一堆復(fù)雜的數(shù)據(jù),這叫做數(shù)據(jù)存儲;這些數(shù)據(jù)以一定的結(jié)構(gòu)組合起來,這叫做數(shù)據(jù)結(jié)構(gòu)。同樣地,在亞馬遜眼里,我們就是一張張表格中一大堆紛繁復(fù)雜的數(shù)字。舉一個栗子:
小明早上9點(diǎn)打開了亞馬遜,先是瀏覽了首頁,點(diǎn)擊了幾個熱銷的西裝鏈接,然后在搜索欄輸入了nike籃球鞋,在瀏覽了8雙球鞋后,看了一些購買者的評價,最終選定了air jordan的最新款。
這就是一條典型的用戶行為數(shù)據(jù)。亞馬遜會將這條行為拆分成設(shè)定好的數(shù)據(jù)塊,再以一定的數(shù)據(jù)結(jié)構(gòu),存儲到亞馬遜的用戶行為數(shù)據(jù)倉庫中。每天都有大量的用戶在產(chǎn)生這樣的行為數(shù)據(jù),數(shù)據(jù)量越多,可以做的事情也就越強(qiáng)大。
user-item 用戶偏好矩陣
收集數(shù)據(jù)是為了分析用戶的偏好,形成用戶偏好矩陣。比如在網(wǎng)購過程中,用戶發(fā)生了查看,購買,分享商品的行為。這些行為是多樣的,所以需要一定的加權(quán)算法來計算出用戶對某一商品的偏好程度,形成user-item用戶偏好矩陣。
數(shù)據(jù)清理
當(dāng)我們開始有意識地記錄用戶行為數(shù)據(jù)后,得到的用戶數(shù)據(jù)會逐漸地爆發(fā)式增長。就像錄音時存在的噪音一樣,獲取的用戶數(shù)據(jù)同樣存在著大量的垃圾信息。因此,拿到數(shù)據(jù)的第一步,就是對數(shù)據(jù)做清理。其中最核心的工作,就是減噪和歸一化:
減噪:用戶行為數(shù)據(jù)是在用戶的使用過程中產(chǎn)生的,其中包含了大量的噪音和用戶誤操作。比如因?yàn)榫W(wǎng)絡(luò)中斷,用戶在短時間內(nèi)產(chǎn)生了大量點(diǎn)擊的操作。通過一些策略以及數(shù)據(jù)挖掘算法,來去除數(shù)據(jù)中的噪音。
歸一化:清理數(shù)據(jù)的目的是為了通過對不同行為進(jìn)行加權(quán),形成合理的用戶偏好矩陣。用戶會產(chǎn)生多種行為,不同行為的取值范圍差距可能會非常大。比如:點(diǎn)擊次數(shù)可能遠(yuǎn)遠(yuǎn)大于購買次數(shù),直接套用加權(quán)算法,可能會使得點(diǎn)擊次數(shù)對結(jié)果的影響程度過大。于是就需要?dú)w一算法來保證不同行為的取值范圍大概一致。最簡單的歸一算法就是將各類數(shù)據(jù)來除以此類數(shù)據(jù)中的最大值,以此來保證所有數(shù)據(jù)的取值范圍都在[0,1]區(qū)間內(nèi)。
降維算法——SVD奇異值分解
通過記錄用戶行為數(shù)據(jù),我們得到了一個巨大的用戶偏好矩陣。隨著物品數(shù)量的增多,這個矩陣的列數(shù)在不斷增長,但對單個用戶來說,有過行為數(shù)據(jù)的物品數(shù)量是相當(dāng)有限的,這就造成了這個巨大的用戶偏好矩陣實(shí)際上相當(dāng)稀疏,有效的數(shù)據(jù)其實(shí)很少。SVD算法就是為了解決這個問題發(fā)明的。
將大量的物品提取特征,抽象成了3大類:蔬菜,水果,休閑服。這樣就將稀疏的矩陣縮小,極大的減少了計算量。但這個例子僅僅是為了說明SVD奇異值分解的原理。真正的計算實(shí)施中,不會有人為的提取特征的過程,而是完全通過數(shù)學(xué)方法進(jìn)行抽象降維的。通過對矩陣相乘不斷的擬合,參數(shù)調(diào)整,將原來巨大的稀疏的矩陣,分解為不同的矩陣,使其相乘可以得到原來的矩陣。這樣既可以減少計算量,又可以填充上述矩陣中空值的部分。
協(xié)同過濾算法
我一直在強(qiáng)調(diào)用戶行為數(shù)據(jù),目的就是為介紹協(xié)同過濾算法做鋪墊。協(xié)同過濾,Collaborative Filtering,簡稱CF,廣泛應(yīng)用于如今的推薦系統(tǒng)中。通過協(xié)同過濾算法,可以算出兩個相似度:user-user相似度矩陣; item-item相似度矩陣。
為什么叫做協(xié)同過濾?是因?yàn)檫@兩個相似度矩陣是通過對方來計算出來的。舉個栗子:100個用戶同時購買了兩種物品A和B,得出在item-item相似度矩陣中A和B的相似度為0.8; 1000個物品同時被用戶C和用戶D購買,得出在user-user相似度矩陣中C和D的相似度是0.9. user-user, item-item的相似度都是通過用戶行為數(shù)據(jù)來計算出來的。
計算相似度的具體算法,大概有幾種:歐幾里得距離,皮爾遜相關(guān)系數(shù),Cosine相似度,Tanimoto系數(shù)。具體的算法,有興趣的同學(xué)可以google.
用戶畫像
提到大數(shù)據(jù),不能不說用戶畫像。經(jīng)?吹接泄具@樣宣傳:“掌握了千萬用戶的行為數(shù)據(jù),描繪出了極其有價值的用戶畫像,可以為每個app提供精準(zhǔn)的用戶數(shù)據(jù),助力app推廣。” 這樣的營銷廣告經(jīng)不起半點(diǎn)推敲。用戶對每個種類的app的行為都不同,得到的行為數(shù)據(jù)彼此之間差別很大,比如用戶在電商網(wǎng)站上的行為數(shù)據(jù),對音樂類app基本沒有什么價值。推薦系統(tǒng)的難點(diǎn),其中很大一部分就在于用戶畫像的積累過程極其艱難。簡言之,就是用戶畫像與業(yè)務(wù)本身密切相關(guān)。
LR邏輯回歸
基于用戶偏好矩陣,發(fā)展出了很多機(jī)器學(xué)習(xí)算法,在這里再介紹一下LR的思想。具體的邏輯回歸,又分為線性和非線性的。其他的機(jī)器學(xué)習(xí)算法還有:K均值聚類算法,Canopy聚類算法,等等。有興趣的同學(xué)可以看看July的文章。鏈接在最后的閱讀原文。
LR邏輯回歸分為三個步驟:
提取特征值
通過用戶偏好矩陣,不斷擬合計算,得到每個特征值的權(quán)重
預(yù)測新用戶對物品的喜好程度
舉個栗子:
小明相親了上千次,我們收集了大量的行為數(shù)據(jù),以下數(shù)據(jù)僅僅是冰山一角。
通過大量的擬合計算得出,特征值“個性開朗程度”的權(quán)重為30%,“顏值”的權(quán)重為70%。哎,對這個看臉的世界已經(jīng)絕望了,寫完這篇文章,就去訂前往韓國的機(jī)票吧。
然后,通過擬合出的權(quán)重,來預(yù)測小明對第一千零一次相親對象的喜愛程度。
這就是LR邏輯回歸的原理。具體的數(shù)學(xué)算法,有興趣的同學(xué)可以google之。
如何利用推薦系統(tǒng)賺錢
還是以亞馬遜為例。小明是個籃球迷,每個月都會買好幾雙籃球鞋。通過幾個月的購買記錄,亞馬遜已經(jīng)知道小明的偏好,準(zhǔn)備給小明推薦籃球鞋。但籃球鞋品牌這么多,推薦哪一個呢?笑著說:哪個品牌給我錢多,就推薦哪個品牌。這就是最簡單的流量生意了。這些都叫做:商業(yè)規(guī)則。
但在加入商業(yè)規(guī)則之前,需要讓用戶感知到推薦的準(zhǔn)確率。如果一開始就強(qiáng)推某些置頂?shù)腣IP資源,會極大地?fù)p害用戶體驗(yàn),讓用戶覺得推薦完全沒有準(zhǔn)確性。這樣的后果對于推薦系統(tǒng)的持續(xù)性發(fā)展是毀滅性的。
過濾規(guī)則
協(xié)同過濾只是單純地依賴用戶行為數(shù)據(jù),在真正的推薦系統(tǒng)中,還需要考慮到很多業(yè)務(wù)方面的因素。以音樂類app為例。周杰倫出了一張新專輯A,大部分年輕人都會去點(diǎn)擊收聽,這樣會導(dǎo)致其他每一張專輯相似專輯中都會出現(xiàn)專輯A。這個時候,再給用戶推薦這樣的熱門專輯就沒有意義了。所以,過濾掉熱門的物品,是推薦系統(tǒng)的常見做法之一。這樣的規(guī)則還有很多,視不同的業(yè)務(wù)場景而定。
推薦的多樣性
與推薦的準(zhǔn)確性有些相悖的,是推薦的多樣性。比如說推薦音樂,如果完全按照用戶行為數(shù)據(jù)進(jìn)行推薦,就會使得推薦結(jié)果的候選集永遠(yuǎn)只在一個比較小的范圍內(nèi):聽小清新音樂的人,永遠(yuǎn)也不會被推薦搖滾樂。這是一個很復(fù)雜的問題。在保證推薦結(jié)果準(zhǔn)確的前提下,按照一定的策略,去逐漸拓寬推薦結(jié)果的范圍,給予推薦結(jié)果一定的多樣性,這樣才不會膩嘛。
持續(xù)改進(jìn)
推薦系統(tǒng)具有高度復(fù)雜性,需要持續(xù)地進(jìn)行改進(jìn)?赡茉谕粫r間內(nèi),需要上線不同的推薦算法,做A/B test。根據(jù)用戶對推薦結(jié)果的行為數(shù)據(jù),不斷對算法進(jìn)行優(yōu)化,改進(jìn)。要走的路還很長:路漫漫其修遠(yuǎn)兮,吾將上下而求索。
本文章歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明微信公眾號和作者。微信公眾號:互聯(lián)網(wǎng)與作曲家. 作者:neil 版權(quán)所有,翻版必究!
posted on
Copyright ©2016 NeilHappy Powered by: 博客園 模板提供:滬江博客
本文關(guān)鍵詞:推薦系統(tǒng),由筆耕文化傳播整理發(fā)布。
本文編號:79701
本文鏈接:http://sikaile.net/wenshubaike/jyzy/79701.html