關(guān)于大數(shù)據(jù)、算法的幾點(diǎn)看法(轉(zhuǎn))
回想起來,我也算是國內(nèi)接觸推薦系統(tǒng)較早的人之一了,最近和人聊天,覺得不少人對(duì)推薦系統(tǒng)有所誤解,以為需要多么高大上的算法才能搭建起來的,我只想說我經(jīng)常說的那句話【不是這樣的】,所以有了這篇文章。第一次接觸【推薦系統(tǒng)】是在兩年前在某高校的互聯(lián)網(wǎng)信息處理實(shí)驗(yàn)室的時(shí)候,那時(shí)候,【機(jī)器學(xué)習(xí)】和【大數(shù)據(jù)】都是新概念,但是差不多半年后,【大數(shù)據(jù)】的概念就開始風(fēng)靡全球了,到現(xiàn)在已經(jīng)被爆炒得面目全非。
那年還因此買了一本項(xiàng)亮的書《推薦系統(tǒng)實(shí)踐》,那本書和現(xiàn)在的很多熱門書籍一樣,都是跟著概念熱起來的。 雖然有一些作者自己的實(shí)戰(zhàn)經(jīng)驗(yàn)在里面,但是總體上來說并沒有太多值得重復(fù)翻開的地方。
幾乎所有宣揚(yáng)【推薦系統(tǒng)】的人,都要拿【啤酒和尿布】,【亞馬遜推薦占營(yíng)收20%】之類的經(jīng)典例子來說力證推薦系統(tǒng)的牛逼之處。到處宣揚(yáng)【推薦系統(tǒng)】插上【機(jī)器學(xué)習(xí)】等算法的翅膀,就能讓電子商務(wù)變得精準(zhǔn)無比,能智能的猜出用戶想買的東西。
殊不知,其實(shí)這兩個(gè)例子和所謂的【算法】其實(shí)關(guān)系不大。
1. 啤酒和尿布
首先是【啤酒和尿布】,超市的人員發(fā)現(xiàn)買啤酒的男人容易順手買尿布。這其實(shí)是一種數(shù)據(jù)分析,是根據(jù)數(shù)據(jù)統(tǒng)計(jì)加上人工分析得出,是一種以經(jīng)驗(yàn)來改善銷售的行為。和【機(jī)器學(xué)習(xí)】【數(shù)據(jù)挖掘】等算法的關(guān)系不大。 剛接觸【推薦系統(tǒng)】的時(shí)候,【協(xié)同過濾算法】大熱, 我也曾經(jīng)迷戀得研究過該算法,以為發(fā)現(xiàn)了什么寶貝一樣。但是實(shí)際上,在工程中【協(xié)同過濾】出來的效果往往慘不忍睹,所謂的【算法工程師】每天能做的就是在那調(diào)整【協(xié)同過濾】算法的相關(guān)參數(shù),然后看看第二天的點(diǎn)擊率有沒有上升。然后調(diào)整到最后你會(huì)發(fā)現(xiàn),牛逼哄哄的【協(xié)同過濾】其實(shí)還不如簡(jiǎn)簡(jiǎn)單單的【看了又看】效果來的好,雖然協(xié)同過濾算法本質(zhì)上也是一種【看了又看】的思想。
2. 亞馬遜的推薦系統(tǒng)
亞馬遜的推薦系統(tǒng)占了營(yíng)收比,我記得是20%,不知道現(xiàn)在上升了還是下降了。這個(gè)說辭會(huì)讓很多人誤以為只要你搞好了推薦系統(tǒng),你的營(yíng)收就能上升20%以上一樣。其實(shí)不然,對(duì)于亞馬遜來說,為什么推薦能起到這么高的銷量,一個(gè)很重要的原因在于,【亞馬遜的首頁點(diǎn)擊率高的部分位置劃分給了推薦系統(tǒng)的】,從廣告學(xué)上講,廣告位置的好壞極大的決定了廣告的銷量。這個(gè)很容易理解,假設(shè)你的產(chǎn)品的廣告牌能掛上天安門城樓的話,你覺得你還需要擔(dān)心該產(chǎn)品的銷量嗎?
當(dāng)然不可否定的是亞馬遜的推薦系統(tǒng)應(yīng)該是很牛逼的,但是這并不說明他們采用的【推薦算法】非常牛逼。推薦系統(tǒng)我認(rèn)為其實(shí)和搜索系統(tǒng)并無太大差異,我一直認(rèn)為推薦系統(tǒng)其實(shí)只是一個(gè)個(gè)性化的搜索引擎。之前在【秘密】上很火的有個(gè)爆料是:“360搜索的Rank剛開始就是用【機(jī)器學(xué)習(xí)】的算法去做,屎一樣的效果,是我把百度的基于規(guī)則的算法偷過去之后才變好的。” ,這個(gè)爆料出來不少人諷刺【基于規(guī)則】,覺得這是在黑百度的算法。 其實(shí)不是這樣的,記得當(dāng)時(shí)阿里搜索挖了一個(gè)谷歌搜索的員工,該人在阿里分享的時(shí)候就說過:【谷歌的搜索效果比別人好的原因就是規(guī)則庫牛逼,關(guān)于算法使用的都是成熟的人盡皆知的算法,并沒什么新奇酷的算法】。 可能也是這個(gè)原因,谷歌研究院的科學(xué)家?guī)缀跞恰竟こ處煴尘啊砍錾淼摹_€記得上次【CCF推薦系統(tǒng)前言講座】,剛開始叫了幾個(gè)學(xué)院派的講師在那大講特講各種酷炫掉渣天的算法,然后淘寶的大數(shù)據(jù)負(fù)責(zé)人車品覺 上臺(tái)之后直接來了句【我們實(shí)驗(yàn)出各種算法效果不太好,還不如最基本的 關(guān)聯(lián)規(guī)則效果來的好】直接把前面的學(xué)院派專家們打臉打得都腫了。
我心目中的推薦系統(tǒng)
不管是電商,或者是新聞,都有【個(gè)性化推薦】和【熱門推薦】的取舍。一個(gè)商品熱門或者點(diǎn)擊量高是有其原因的。所以將熱門的東西推薦給用戶是非常合情合理的,因?yàn)榧热粺衢T,也側(cè)面說明了很大概率上該用戶也會(huì)喜歡該商品。而【個(gè)性化推薦】本質(zhì)上是為了解決【長(zhǎng)尾】問題,把那些不熱門的東西,但是很可能符合某特定用戶品味的商品【挖掘】出來,推薦給特定的用戶群。
首先,在推薦中,醒目的推薦位應(yīng)該是【熱門推薦】或者【人工推薦】,【人工推薦】是指比如在體育新聞中,巴薩奪冠之類的大新聞是直接讓編輯來【人工推薦】即可,就是此新聞一出,馬上登上頭條,而不是在那磨磨唧唧的計(jì)算特征值,計(jì)算相似度,計(jì)算是否符合用戶興趣。 對(duì)于推薦中的【冷啟動(dòng)】,最理想的推薦就是【相關(guān)推薦】。說到這里,整個(gè)推薦系統(tǒng)的 80% 已經(jīng)搭建完畢,【熱門推薦+人工推薦+相關(guān)推薦】,這三者都是【個(gè)性化】都沒什么關(guān)系,也算法關(guān)系也不大,但是這三者效果的好壞就決定了整個(gè)系統(tǒng)推薦效果好壞的 80% 。好多人連最基本的這三者都沒有做好,就開始想一步登天,很可惜,這樣的捷徑是不存在的。 接下來是 20% 的【個(gè)性化】的做法,如上所說,個(gè)性化是為了解決【長(zhǎng)尾】問題,正是因?yàn)殚L(zhǎng)尾占商品的 20% ,所以在此我認(rèn)為【個(gè)性化】其實(shí)也只有 20% 。要解決個(gè)性化,首先就是要對(duì)用戶分析,最成熟的辦法就是對(duì)用戶打標(biāo)簽(是否讓你想起來社交網(wǎng)絡(luò)為什么經(jīng)常讓你選用合適的標(biāo)簽描述自己,沒錯(cuò),就是為了分析你)。
其實(shí),給用戶打標(biāo)簽,逼格更高的說法叫【用戶特征提取】或者【用戶行為分析】。說到這兩個(gè)詞,那些所謂的算法工程師可能就會(huì)開始扯什么高大上的算法,機(jī)器學(xué)習(xí),自然語言處理,數(shù)據(jù)挖掘等各種算法。其實(shí)在我看來,算法很大情況根本派不上用場(chǎng),我認(rèn)為這方面的關(guān)鍵在于【數(shù)據(jù)統(tǒng)計(jì) + 人工分析】。將用戶的瀏覽記錄等記錄下來,統(tǒng)計(jì)他最常點(diǎn)擊的東西,最常去的頻道,然后給他打上這些頻道或者商品的標(biāo)簽。或者收集更詳細(xì)的信息,比如年齡,打上【青少年,男人,女人,老人】等標(biāo)簽,根據(jù)這些標(biāo)簽進(jìn)行推薦。比如當(dāng)推薦護(hù)膚的商品時(shí),就可以偏向于女人,推薦運(yùn)動(dòng)產(chǎn)品時(shí),就可以偏向于男人和青少年,推薦保健品時(shí),就可以偏向于老年人。所以,光看年齡這個(gè)標(biāo)簽的維度,就可以做很多文章。所以標(biāo)簽庫的設(shè)計(jì)和積累,是非常廣泛和重要的,而這方面需要大量依賴于【人工分析】,而不是看論文調(diào)算法能做到的。 就好比現(xiàn)在的中文分詞,拼到最后大家都在比詞庫的積累,誰的詞庫好,誰的效果就好,【搜狗】的【拼音輸入法】效果好也是因?yàn)樵~庫比別人好。
最后就是根據(jù)標(biāo)簽的定向推薦,這個(gè)推薦概率是有【權(quán)重設(shè)置】在里面,就比如剛才對(duì)年齡這個(gè)維度的權(quán)重,是需要給予對(duì)應(yīng)的權(quán)重值,如何給定呢?其實(shí)就是【拍腦袋】,當(dāng)然,如果有某些公司已經(jīng)得出經(jīng)驗(yàn)值了直接可以拿來用就會(huì)更好。但是在拍完腦袋之后需要做的就是觀察點(diǎn)擊率變化,查Bad Case,然后再對(duì)權(quán)重進(jìn)行調(diào)整,也就是根據(jù)評(píng)測(cè)和反饋來調(diào)整,沒有【評(píng)測(cè)和反饋】,整個(gè)系統(tǒng)等于是一個(gè)黑盒,談何優(yōu)化?在我看來,【推薦系統(tǒng)】本質(zhì)上首先是一個(gè)系統(tǒng),需要不斷的對(duì)各種效果進(jìn)行【評(píng)測(cè)】,查各種【Bad Case】,而這些都不是看論文可以學(xué)到的東西。
總結(jié)
1、實(shí)力派的【算法工程師】往往都是ABC[always be coding],這樣的算法工程師才能根據(jù)實(shí)際問題建立模型或者建立規(guī)則庫,是真正能解決問題的人。往往是一些有研究背景,經(jīng)驗(yàn)豐富的研究員,更加重視工程,因?yàn)楣こ碳軜?gòu)上一些恰當(dāng)合理的設(shè)計(jì),效果往往就能遠(yuǎn)遠(yuǎn)高過于模型算法優(yōu)化。
2、學(xué)院派的【算法工程師】往往是為了算法而算法,而不是為了解決推薦系統(tǒng)的問題去找最適合算法。這也是為什么大公司經(jīng)常招了一些博士畢業(yè)的算法工程師后,不是研究算法而是讓他們整天在那看數(shù)據(jù)報(bào)表?【因?yàn)榘l(fā)現(xiàn)算法沒啥好研究,只能讓他們?cè)谀强纯磮?bào)表找找規(guī)律了。】
3、【幾乎所有所謂的智能推薦算法都是花拳繡腿】
4、當(dāng)一個(gè)做推薦系統(tǒng)的部門開始重視【數(shù)據(jù)清理,數(shù)據(jù)標(biāo)柱,效果評(píng)測(cè),數(shù)據(jù)統(tǒng)計(jì),數(shù)據(jù)分析】這些所謂的臟活累活,這樣的推薦系統(tǒng)才會(huì)有救。
posted on 2014-09-01 08:16 paulwong 閱讀(544) 評(píng)論(2) 編輯 收藏 所屬分類: BIG DATA