產(chǎn)品策略算法:參數(shù)的調(diào)整
產(chǎn)品策略在實(shí)現(xiàn)層,最終是以算法公式的形式輸出的。
超級APP功能越來越全,非超級APP的DAU都在下降,當(dāng)失去增長紅利之后,精細(xì)化迭代和精細(xì)化運(yùn)營將成為必然選擇。產(chǎn)品的工作的重點(diǎn)也需要從前端和交互的修改,轉(zhuǎn)移到策略的制定。而產(chǎn)品策略在實(shí)現(xiàn)層,最終是以算法公式的形式輸出的。
一個成熟的策略系統(tǒng),會涉及多種重要的因素。如何保證這些策略公式在復(fù)雜的運(yùn)算中發(fā)揮自己應(yīng)有的作用,如何保證不同的數(shù)值能在同一緯度計算,這就涉及很多參數(shù)調(diào)整的策略技巧。
1. 調(diào)整參數(shù)的目的
首先在調(diào)整參數(shù)的時候,前提是明確調(diào)整參數(shù)的目的。針對具體的目的,使用對應(yīng)的工具,然后才能達(dá)成具體的目的。對調(diào)整參數(shù)的目的簡單做了一些總結(jié),具體如下:
- 歸一化處理
- 調(diào)整因素的影響力
- 信息論處理:熱門降權(quán)和時間衰減降權(quán)
- 調(diào)整變化曲線
- 設(shè)定變化界限
2. 歸一化處理
歸一化處理,通過處理讓不同因素在一個范圍內(nèi)進(jìn)行比較。舉個例子,如果要比較專欄的影響力,需要綜合考慮閱讀量、點(diǎn)贊量、發(fā)表文章量這三個因素,直接相加顯然是不可行,因?yàn)殚喿x量數(shù)量是點(diǎn)贊數(shù)的至少10倍,而點(diǎn)贊數(shù)也是發(fā)表文章數(shù)的幾十倍。要讓不同因素在一個變化范圍內(nèi),這個時候就需要對進(jìn)行歸一化處理。
最簡單粗暴的歸一化方式,就是直接除以數(shù)據(jù)中的最大值,那么所有值都在0~1之間,并保留原有的變化性質(zhì)。即:
當(dāng)然這樣的處理方法也會有問題,比如受到極值影響比較大。而且如果大部分分值比極值低很大的數(shù)量級,則低分值將沒有區(qū)分度,以閱讀量為例,如果最大閱讀量為十萬+,而大部分專欄文章閱讀量集中在500左右。這樣直接除以極大值顯然是不明智的。這個時候最好在處理前對數(shù)值進(jìn)行調(diào)整。在之前的文章中提到的對數(shù)處理是個比較好用的方法.
這樣既保證了所有的數(shù)值在0~1之間,同時極值對最終分值的決定性影響也沒那么大。
3. 調(diào)整因素的影響力
調(diào)整影響力的比較通用的辦法有兩種,加數(shù)值,乘以數(shù)值。
加數(shù)值能解決冷啟動遇到的新內(nèi)容權(quán)重過低的問題,比如,如果知乎答案完全按照贊同排序,則新發(fā)布的知乎答案,一開始在下面,不利于被更多人看見,如果新發(fā)布的內(nèi)容自帶20個贊參與排序,則能解決這一問題。
乘以數(shù)值能解決數(shù)值重要性的問題,如果希望某一因素在總排序中占據(jù)更重要的位置,則可以用乘法處理,比如,還是知乎內(nèi)容排序的例子,如果完全按照贊同排序,要提高文章的排序權(quán)重,可以直接乘以某個系數(shù)。
4. 信息論處理:熱門降權(quán)、時間衰減降權(quán)、置信度提權(quán)
一個信息出現(xiàn)概率越小,信息量越大,如果一個信息越常見,包含的信息越小。這個在之前文章中提到的一個基礎(chǔ)觀點(diǎn)。在實(shí)際的策略公式中,從信息論的角度去考慮就能快速的理解策略,讓最終結(jié)果更加符合預(yù)期。
熱門降權(quán)以經(jīng)典的圖書推薦為例進(jìn)行介紹。在圖書推薦中買了的人還買了的策略中,有一個著名的哈利波特問題,因?yàn)楣ㄌ劁N量過高,幾乎所有的圖書都和它有關(guān)系。怎么處理呢?一個辦法是用銷量做流行度處理,降低流行度特別高的商品在排序中的得分。
時間衰減降權(quán),顧名思義,讓過去的信息權(quán)重更低,最近的信息權(quán)重更高。行為具有連續(xù)性,最新的行為包含了更大的信息量。在處理的時候也可以使用上面的數(shù)學(xué)形式,讓更遠(yuǎn)的時間分?jǐn)?shù)衰減更大。
置信度提權(quán),是基于數(shù)據(jù)量越大信息越靠譜,在處理平均值,打分等的參數(shù)時候有比較好的應(yīng)用。比如,在計算一個電影的排序的時候,在考慮多個因素中包含了電影觀眾打分,這兒時候應(yīng)該是打分的人越多,電影打分的權(quán)重越高。
5.調(diào)整變化的曲線
一般而言未經(jīng)加工的數(shù)值在策略中很難直接應(yīng)用,比如:知乎點(diǎn)贊/閱讀的比率。好的文章高一些,差的文章低一些。變化范圍特別小。希望整體數(shù)值變化范圍不變的情況下,怎么加大區(qū)分度?這個時候可以用一些曲線的性質(zhì)。開方是個例子,0.25變?yōu)?.5,0.01變?yōu)?.1,而1處理后還是1。
同樣的如果分值都集中在很高的情況下,為了加大區(qū)分度,也可以用開方的逆運(yùn)算。0.8處理后變?yōu)?.64,0.5處理后變?yōu)?.25,1處理后還是1。
6. 設(shè)定變化的界限
防止一些極值產(chǎn)生對于計算的影響,設(shè)定變化界限也是常用的方法。比較暴力的做法是設(shè)定最大值,比如:當(dāng)在閱讀量計算中,閱讀量數(shù)值大于10萬,只取十萬,防止大值的影響。
還有一些比較柔性的做法,比如用有界函數(shù)進(jìn)行處理:
或者直接用之前文章中提到的對數(shù)也是不錯的做法,會讓大值影響減少。
7. 總結(jié)
本章講的東西是一些通用的數(shù)值處理技巧,可能在脫離具體情形下,不是那么好理解,也比較枯燥。下一章主要會討論一些關(guān)于公式和模型的思考方法。歡迎大家關(guān)注專欄,并收看下期。
本文由 @潘一鳴 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。
一鳴老師的文章每次看了都收獲良多。
棒棒噠
6. 設(shè)定變化的界限
中 第一個函數(shù)看不懂,求解釋
厲害,看完還是需要消化 ??