推荐算法为啥这么“灵”,又为啥会“失灵”?
導(dǎo)讀:一句話概括推薦算法的原理。
作者:木羊同學(xué)
來(lái)源:華章計(jì)算機(jī)(ID:hzbook_jsj)
推薦系統(tǒng)是為用戶推薦所需物品的軟件工具和技術(shù)。提供的推薦旨在通過(guò)各種決策過(guò)程來(lái)支持用戶,例如,買什么物品、聽(tīng)什么歌曲或讀什么新聞。推薦系統(tǒng)的價(jià)值在于幫助用戶解決信息過(guò)載和做出更好的選擇,也是現(xiàn)在互聯(lián)網(wǎng)領(lǐng)域最強(qiáng)大和最流行的信息發(fā)現(xiàn)工具之一。
今天就和大家聊聊:推薦算法為啥這么“靈”,又為啥會(huì)“失靈”?
01 推薦算法為啥這么“靈”?
要回答這個(gè)問(wèn)題,首先得講清楚推薦算法的原理是什么。
我們知道,互聯(lián)網(wǎng)最大的特點(diǎn)就是有海量的信息。不過(guò),光是數(shù)量龐大是沒(méi)有任何意義的,需要信息真正發(fā)揮作用才能產(chǎn)生價(jià)值。所以,如何讓信息發(fā)揮價(jià)值,始終是互聯(lián)網(wǎng)發(fā)展的一條主軸。為此,我們想了很多辦法。
“算法推薦系統(tǒng)”出現(xiàn)前,我們的做法是發(fā)現(xiàn)信息,這就是搜索引擎。搜索引擎很有用,但限制也很明顯,遺留了很多問(wèn)題。回想一下:我們要用搜索引擎找信息,不是直接就得到想要的結(jié)果,而是得首先掏出一個(gè)“關(guān)鍵詞”輸入進(jìn)去,然后才能看到命中的結(jié)果。
這個(gè)過(guò)程叫信息檢索,也就是你得首先知道自己對(duì)什么信息感興趣,得有線索,然后才能通過(guò)搜索引擎檢索信息。但這就有個(gè)問(wèn)題,互聯(lián)網(wǎng)實(shí)在太大了,而人的認(rèn)知圈子實(shí)在太小了,這就導(dǎo)致了大量本該有價(jià)值的信息,因?yàn)闆](méi)被人看到,而只能靜靜躺在角落被白白浪費(fèi)了。
這個(gè)問(wèn)題初看不可能有解,畢竟從常識(shí)推斷,我們得首先知道那條信息,才可能判斷對(duì)它是否感興趣,這個(gè)過(guò)程應(yīng)該沒(méi)法顛倒過(guò)來(lái),去發(fā)現(xiàn)我們不知道但感興趣的信息。但推薦算法做到了,它改變了搜索引擎的做法,不再是發(fā)現(xiàn)信息,而是發(fā)現(xiàn)興趣。
推薦算法是怎樣發(fā)現(xiàn)興趣的呢?聽(tīng)起來(lái)好像很玄乎,不過(guò)原理遠(yuǎn)沒(méi)有想象中的那么復(fù)雜,我用一句話概括——就是依靠人和物的關(guān)聯(lián)關(guān)系,最少只要經(jīng)過(guò)三次關(guān)聯(lián),就能完成興趣發(fā)現(xiàn),進(jìn)行一次推薦。
這么說(shuō)不太形象,我舉一個(gè)例子。
我愛(ài)喝快樂(lè)水,經(jīng)常去家旁邊的便利店買快樂(lè)水,店長(zhǎng)當(dāng)然很快就知道我對(duì)快樂(lè)水感興趣,這是第一次關(guān)聯(lián)——我關(guān)聯(lián)快樂(lè)水。
接著,店長(zhǎng)收完錢,想起來(lái)有另一位顧客也對(duì)快樂(lè)水感興趣,名字就叫小編吧。小編也常到店里買快樂(lè)水,這是第二次關(guān)聯(lián)——快樂(lè)水關(guān)聯(lián)小編。
這位小編和我一樣,對(duì)快樂(lè)水有著相同的執(zhí)念,但又有點(diǎn)不同:除了到店里買快樂(lè)水,小編還常買另一樣?xùn)|西——薯片,這就是第三次關(guān)聯(lián)——小編關(guān)聯(lián)薯片。
想到這里,店長(zhǎng)覺(jué)得:既然我們都愛(ài)喝快樂(lè)水,那沒(méi)準(zhǔn)你們也都喜歡吃薯片呢?于是,店長(zhǎng)就向我推薦了薯片。這就是基于興趣的推薦算法,大數(shù)據(jù)分析常舉的例子——啤酒尿布,就是上面的這個(gè)原理。
我最近看到很多文章,說(shuō)推薦算法比女朋友更懂你,外人一看都覺(jué)得挺神奇的,其實(shí)明白了推薦算法的原理,就應(yīng)該知道這是理所當(dāng)然的,術(shù)業(yè)有專攻,除非你的女朋友正好是店長(zhǎng)。
當(dāng)然了,推薦算法原理不復(fù)雜,但實(shí)際要發(fā)揮好作用,還需要根據(jù)應(yīng)用場(chǎng)景作很多調(diào)整。推薦算法的重心在于發(fā)現(xiàn)人與人之間的共同點(diǎn),但怎么劃分共同點(diǎn),是有很多不同的方法的。
就拿我們常見(jiàn)的推薦來(lái)說(shuō),既有“看過(guò)這個(gè)視頻的觀眾還看過(guò)”這類基于視頻節(jié)目的推薦,也有“同城的觀眾都在看”這類基于地理位置的推薦。
早期做推薦很簡(jiǎn)單,是基于點(diǎn)擊量來(lái)推薦,但大家很快發(fā)現(xiàn):基于點(diǎn)擊量的推薦沒(méi)法發(fā)現(xiàn)差異化的興趣。所以,要想實(shí)現(xiàn)一套好用的推薦算法,通常要綜合方方面面去考慮,而不只是單獨(dú)的一兩個(gè)點(diǎn)。
02 推薦算法為啥會(huì)“失靈”?
推薦算法平時(shí)沒(méi)什么問(wèn)題,但一旦出現(xiàn)極端情況,譬如說(shuō)爆發(fā)大規(guī)模疫情,就會(huì)出現(xiàn)前面我們看到的推薦算法“失靈”的問(wèn)題,大量推薦的都是疫情相同的信息,把其他信息都湮沒(méi)了。
不過(guò)說(shuō)實(shí)話,推薦算法有這樣的結(jié)果,其實(shí)是“合理”的。你想一下:疫情期間你的朋友、家人、同學(xué)或者同事,包括你自己,最關(guān)心的是什么?就是疫情。
推薦算法這邊呢,我們一再?gòu)?qiáng)調(diào)推薦算法要做的是發(fā)現(xiàn)興趣,而恰恰是正確地發(fā)現(xiàn)了你對(duì)疫情的“興趣”,所以推薦算法才給你大量推薦了疫情相關(guān)的信息。非要說(shuō)這是問(wèn)題的話,恐怕首先也得是社會(huì)學(xué)的問(wèn)題。
但是,深入地想一想就會(huì)發(fā)現(xiàn),這個(gè)問(wèn)題沒(méi)這么簡(jiǎn)單。互聯(lián)網(wǎng)經(jīng)濟(jì)在過(guò)去很長(zhǎng)一段的時(shí)間里是推崇一種理論的,叫長(zhǎng)尾理論,大概意思是:人類社會(huì)中存在著大量的小眾需求,你販賣的東西再離經(jīng)叛道,也總會(huì)能得到真愛(ài)的捧場(chǎng),互聯(lián)網(wǎng)就是溝通小眾需求的橋梁。
推薦算法在很大程度上也受了這種理論的影響,所以有一種說(shuō)法是:推薦算法的最終目標(biāo)就是能發(fā)現(xiàn)這一個(gè)一個(gè)的小眾圈子,把小眾的信息推薦給圈子里的人。
但現(xiàn)實(shí)卻是另外一回事。近幾年大家討論更多的是另一種互聯(lián)網(wǎng)現(xiàn)象,如果你經(jīng)營(yíng)過(guò)公眾號(hào)或者當(dāng)過(guò)UP主,應(yīng)該會(huì)對(duì)這種現(xiàn)象印象深刻,這就是頭部效應(yīng)。
大部分甚至絕大部分的互聯(lián)網(wǎng)流量,實(shí)際上是被少數(shù)幾個(gè)“頭部”信息生產(chǎn)者吸走了,剩下絕大多數(shù)的信息生產(chǎn)者,則仍然是靜靜地呆在角落里面被人遺忘。
本該打破這一現(xiàn)象的推薦算法,反而加劇了這種現(xiàn)象。因?yàn)檎紦?jù)頭部,所以容易被推薦,因?yàn)槿菀妆煌扑],所以繼續(xù)占據(jù)頭部,推薦算法導(dǎo)致的這種上升螺旋,讓頭部效應(yīng)更加明顯。如果把本次疫情看作是一個(gè)新的頭部,也許能更好地理解推薦算法為什么會(huì)在疫情中出現(xiàn)失靈。
那么,這個(gè)問(wèn)題應(yīng)該怎么解決呢?這個(gè)問(wèn)題,容易回答,也不容易回答。從技術(shù)的角度看,這個(gè)問(wèn)題想要解決,思路是很清晰的,就四個(gè)字:去極端化。
理論研究和真實(shí)環(huán)境往往有差別。理論研究都愛(ài)對(duì)環(huán)境條件進(jìn)行簡(jiǎn)化假設(shè),智能算法也不例外,通常假設(shè)各種情況出現(xiàn)的概率是服從均勻分布的,大家應(yīng)該是旗鼓相當(dāng)?shù)墓礁?jìng)爭(zhēng),誰(shuí)也壓不住誰(shuí),然后再在這個(gè)假設(shè)條件下構(gòu)建算法的各種邏輯。
但實(shí)際上,一枝獨(dú)秀也許才是真實(shí)環(huán)境中最為常見(jiàn)的情況。其它的所謂競(jìng)爭(zhēng)者,要么是萌新,躲在角落瑟瑟發(fā)抖,要么是菜雞,互啄上不了臺(tái)面。在算法看來(lái),這種現(xiàn)實(shí)情況和假設(shè)情況相差實(shí)在太遠(yuǎn),太極端,所以,會(huì)出現(xiàn)奇奇怪怪的結(jié)果自然也就不值得奇怪了。
要讓算法恢復(fù)正常怎么辦呢?只要把極端情況變得不那么極端就可以了,很多依靠評(píng)委打分的比賽為了避免受極端情況影響,通常會(huì)選擇采取去掉一個(gè)最高分和一個(gè)最低分的做法,就是類似的思路。
不過(guò),技術(shù)本身是中立的,是正是邪,要看使用的人,就好比菜刀,究竟是用來(lái)切菜還是砍人,不是由菜刀自己說(shuō)了算。現(xiàn)在討論的很多問(wèn)題看起來(lái)是技術(shù)的問(wèn)題,其實(shí)還是人的問(wèn)題。譬如人工智能,說(shuō)到自動(dòng)駕駛,我們就很愛(ài)討論一個(gè)話題,說(shuō)算法應(yīng)該怎么處理電車難題。
但實(shí)際上,算法自己是不會(huì)產(chǎn)生價(jià)值觀的,算法的價(jià)值觀,說(shuō)到底還是人的價(jià)值觀。推薦算法究竟要怎么改,說(shuō)到底還是要看推薦算法的使用者怎么定義價(jià)值。
我想,推薦算法最后一定能夠滿足“推薦有價(jià)值信息”這一要求的,但是,這里的“有價(jià)值”究竟是對(duì)誰(shuí)而言的有價(jià)值,那就是另一個(gè)問(wèn)題了。
關(guān)于作者:莫凡,筆名木羊同學(xué),娛樂(lè)向機(jī)器學(xué)習(xí)解說(shuō)選手,《機(jī)器學(xué)習(xí)算法的數(shù)學(xué)解析與Python實(shí)現(xiàn)》作者,前沿技術(shù)發(fā)展觀潮者,擅長(zhǎng)高冷技術(shù)的“白菜化”解說(shuō),微信公眾號(hào)“睡前機(jī)器學(xué)習(xí)”,個(gè)人知乎號(hào)“木羊”。
延伸閱讀《機(jī)器學(xué)習(xí)算法的數(shù)學(xué)解析與Python實(shí)現(xiàn)》
推薦語(yǔ):如果你之前不太了解機(jī)器學(xué)習(xí),現(xiàn)在想要了解機(jī)器學(xué)習(xí)的主流算法和原理,并希望快速、清晰地建立對(duì)機(jī)器學(xué)習(xí)的“大局觀”,但是擔(dān)心一上來(lái)就被各種艱澀的數(shù)學(xué)公式“揍”得眼冒金星,那這本書就是你想要的。
劃重點(diǎn)????
干貨直達(dá)????
盤點(diǎn)人工智能十大經(jīng)典應(yīng)用領(lǐng)域、圖解技術(shù)原理
智能駕駛系統(tǒng)是怎樣看懂交通標(biāo)志的?3張流程圖給你講明白
吐血整理:機(jī)器學(xué)習(xí)的30個(gè)基本概念,都在這里了(手繪圖解)
離婚冷靜期能拯救婚姻嗎?37秒視頻看2001-2019各地離婚排行
更多精彩????
在公眾號(hào)對(duì)話框輸入以下關(guān)鍵詞
查看更多優(yōu)質(zhì)內(nèi)容!
PPT?|?讀書?|?書單?|?硬核?|?干貨?|?講明白
大數(shù)據(jù)?|?云計(jì)算?|?數(shù)據(jù)庫(kù)?|?Python?|?可視化?|?神操作
AI?|?人工智能?|?機(jī)器學(xué)習(xí)?|?深度學(xué)習(xí)?|?神經(jīng)網(wǎng)絡(luò)
5G?|?中臺(tái)?|?用戶畫像?|?1024?|?大神?|?數(shù)學(xué)?|?揭秘
據(jù)統(tǒng)計(jì),99%的大咖都完成了這個(gè)神操作
????
新人創(chuàng)作打卡挑戰(zhàn)賽發(fā)博客就能抽獎(jiǎng)!定制產(chǎn)品紅包拿不停!總結(jié)
以上是生活随笔為你收集整理的推荐算法为啥这么“灵”,又为啥会“失灵”?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 10本最火的中台与数字化转型图书,朋友圈
- 下一篇: 简析Kubernetes八大重要特性