讓產(chǎn)品更智能:如何為你的產(chǎn)品選擇適合的推薦算法
推薦算法是指利用用戶的一些行為,通過一些數(shù)學(xué)算法,推測(cè)出用戶可能喜歡的東西。如何為產(chǎn)品選擇其合適的推薦算法呢?
一、常見推薦機(jī)制/算法
1. 基礎(chǔ)推薦機(jī)制
協(xié)同過濾的風(fēng)險(xiǎn):
盡管協(xié)同過濾技術(shù)在個(gè)性化推薦系統(tǒng)中獲得了極大的成功,但隨著產(chǎn)品結(jié)構(gòu)、內(nèi)容的復(fù)雜度和用戶人數(shù)的不斷增加,協(xié)同過濾技術(shù)的一些缺點(diǎn)逐漸暴露出來。主要有以下三點(diǎn):
- 稀疏性(sparsity):在許多推薦系統(tǒng)中,每個(gè)用戶涉及的信息量相當(dāng)有限,在一些大的系統(tǒng)如亞馬遜網(wǎng)站中,用戶最多不過就評(píng)估了上百萬本書的1%~2%。造成評(píng)估矩陣數(shù)據(jù)相當(dāng)稀疏,難以找到相似用戶集,導(dǎo)致推薦效果大大降低。
- 擴(kuò)展性(scalability):“最近鄰居”算法的計(jì)算量隨著用戶和項(xiàng)的增加而大大增加,對(duì)于上百萬之巨的數(shù)目,通常的算法將遭遇到嚴(yán)重的擴(kuò)展性問題。
- 精確性(accuracy):通過尋找相近用戶來產(chǎn)生推薦集,在數(shù)量較大的情況下,推薦的可信度隨之降低。
2. 經(jīng)典算法
混合推薦算法:
沒有哪種推薦技術(shù)敢說自己沒有弊端, 往往一個(gè)好的推薦系統(tǒng)也不是只用一種推薦技術(shù)就解決問題, 往往都是相互結(jié)合來彌補(bǔ)彼此的不足, 常見的組合方式如下
- 混合推薦技術(shù): 同時(shí)使用多種推薦技術(shù)再加權(quán)取最優(yōu);
- 切換推薦技術(shù): 根據(jù)用戶場(chǎng)景使用不同的推薦技術(shù);
- 特征組合推薦技術(shù): 將一種推薦技術(shù)的輸出作為特征放到另一個(gè)推薦技術(shù)當(dāng)中;
- 層疊推薦技術(shù): 一個(gè)推薦模塊過程中從另一個(gè)推薦模塊中獲取結(jié)果用于自己產(chǎn)出結(jié)果
綜上所有的推薦策略和算法,大致可以分為以下常見的推薦策略:
- 基于內(nèi)容的推薦;
- 協(xié)同過濾推薦;
- 混合推薦;
- 流行度推薦;
- 其他更高級(jí)的。
二、重要事項(xiàng)
1. 上線前評(píng)估
離線評(píng)估是指在發(fā)布之前,需要去檢驗(yàn)典型的bad case 是否解決。是否達(dá)成一開始的目標(biāo),如果沒有,則需要繼續(xù)調(diào)整對(duì)應(yīng)算法,直到能夠明顯解決問題。
灰度上線則也是穩(wěn)妥的措施。一開始推薦系統(tǒng)一定是充滿了各種問題,所以為了解決這個(gè)問題,剛開始上線一定不能直接全量上線。正確的做法是,灰度上線一段時(shí)間期間,快速的根據(jù)用戶反饋迭代算法,再考慮全量上線。
用戶反饋的方案包括但不限于:用戶問卷,負(fù)反饋操作入口。
2. ABtest
推薦和搜索一樣,本身極大依賴參數(shù)的配置。而這些參數(shù)的配置并沒有通用的法則,同時(shí)也依賴各個(gè)平臺(tái)自身具體的情況,只能在了解其原理的基礎(chǔ)上,不斷迭代摸索。在算法迭代的過程中,能夠測(cè)試其效果是算法迭代的核心。只有能同時(shí)在線上部署多套搜索算法,并且監(jiān)控其效果,推薦的迭代和改進(jìn)才能展開。而這一切的基礎(chǔ),正是一個(gè)看不見的功能:AB test機(jī)制。
總結(jié)
- 推薦算法是需要不斷完善的,如果開始沒有數(shù)據(jù)必定會(huì)結(jié)果不精確;需要一個(gè)可以不斷回收數(shù)據(jù)、驗(yàn)證算法的推薦機(jī)制。
- 一款產(chǎn)品如果希望基于同好社交來做音樂推薦,則類似基于用戶的協(xié)同過濾,需要通過指標(biāo)找到相同的用戶。當(dāng)前是直接給相同的用戶推薦某一個(gè)推薦規(guī)則,而下一步則是通過算法精準(zhǔn)推薦內(nèi)容。
- tip:注意降低用戶的嘗新成本。首次推薦的內(nèi)容做到準(zhǔn)確比較難,需要從視覺、交互體驗(yàn)、反饋結(jié)果等多角度說服用戶推薦是有效的,推薦算法的首次展示變得很重要,避免推薦黑箱。
- 風(fēng)險(xiǎn):協(xié)同過濾進(jìn)行用戶分群的指標(biāo)否可以沿用,但需要注意冷啟動(dòng)階段的推薦算法是否可以具備可拓展性,即從研發(fā)成本角度考慮是否要做一個(gè)可持續(xù)優(yōu)化的架構(gòu),而不是當(dāng)用戶數(shù)據(jù)涌入后推翻之前的全部假設(shè)。
從“音樂推薦的價(jià)值”角度考慮,如何設(shè)計(jì)推薦算法指標(biāo)?
用戶角度:
- 聽到當(dāng)下需要的歌(指標(biāo)-與需求場(chǎng)景是否匹配)
- 聽到喜歡的歌(指標(biāo)-是否是喜歡的歌)
- 產(chǎn)生新鮮感和驚喜(指標(biāo)-是否產(chǎn)生新鮮感和驚喜)
產(chǎn)品角度:
- 提升粘性,延長(zhǎng)使用時(shí)間(監(jiān)測(cè)粘性-粘性指標(biāo)-影響粘性的指標(biāo))
- 降低流失,防止用戶在版權(quán)缺失的情況下轉(zhuǎn)到連接藍(lán)牙模式(監(jiān)測(cè)流失-流失指標(biāo)-防止流失&流失召回的指標(biāo))
- 成為傳播點(diǎn),讓用戶在VUI場(chǎng)景下仍然能保證較好的聽歌體驗(yàn)
參考文獻(xiàn)
- https://www.cnblogs.com/xuanku/p/recsys.html 常見推薦算法科普
- http://theventurebank.com/pd/683874.html 推薦策略設(shè)計(jì)的Notes
- http://theventurebank.com/pd/267484.html 懂你的推薦算法,推薦邏輯是怎樣的?
- https://blog.csdn.net/u010670689/article/details/71513133 5類系統(tǒng)推薦算法,非常好使,非常全
- http://www.infoq.com/cn/articles/recommendation-algorithm-overview-part01 推薦算法綜述
- https://blog.csdn.net/myboyliu2007/article/details/19212381?utm_source=tuicool Spark0.9分布式運(yùn)行MLlib的協(xié)同過濾
- https://blog.csdn.net/fishineye/article/details/69502068 用Python開始機(jī)器學(xué)習(xí)(9:推薦算法之推薦矩陣
- https://www.cnblogs.com/silencestorm/p/8512504.html 關(guān)于topN問題的幾種解決方案
- https://blog.csdn.net/whaoxysh/article/details/19038453 Slope one—個(gè)性化推薦中最簡(jiǎn)潔的協(xié)同過濾算法
- http://www.cppblog.com/AutomateProgram/archive/2010/07/19/120790.html 協(xié)同推薦算法實(shí)踐之Slope One的介紹
- https://blog.csdn.net/s1162276945/article/details/77531123 隱式/顯式反饋
- http://theventurebank.com/pd/618662.html 關(guān)于個(gè)性化推薦算法及應(yīng)用場(chǎng)景的幾點(diǎn)思考
- https://blog.csdn.net/w5688414/article/details/78652159?locationNum=7&fps=1 Deep Learning based Recommender System: A Survey and New Perspectives (3)
- Yi Zheng, Cailiang Liu, Neural Autoregressive Collaborative Filtering for Implicit Feedback, 2016
本文由 @鋼镚兒yu 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自Unsplash,基于CC0協(xié)議
- 目前還沒評(píng)論,等你發(fā)揮!