目錄
- 對關鍵元素重要性的認識:
- 目標思維和不確定思維
- 總結:
今天我主要帶你認識兩方面的內容:一個是重新認識推薦系統關鍵元素的重要性,另一個是要建立起兩個思維模式。
對關鍵元素重要性的認識:
要開發一個推薦系統產品,有這么四個關鍵的元素需要注意:
1、UI和UE
2、數據
3、領域知識
4、算法
他們的重要性依次遞減,權重大致是4-3-2-1,要正確認識不同階段不同因素的重要性;
最先優化的一定是產品的UI和UE,即人機交互設計和用戶體驗設計。顏值即正義的法則放在推薦系統中也是成立的。
數據與UI和UE是幾乎同等重要的元素,它是推薦系統的食材。數據貫穿了產品始終,對數據的尊重就是對理性和科學的尊重。UI、UE、數據是一個產品的基石,無論其有沒有推薦系統存在都是基石。
領域知識,與之對應的是常識和通識。沒有哪一個產品不涉及領域知識,電商產品有自己的領域知識,音樂產品也有自己的領域知識。至于新聞類產品,更是有自己的領域知識。
大多數人最不了解的似乎是算法,其實算法的左右沒有你想象的那么大,但也一定不是可有可無。一種對算法的常見誤會就是:短期高估,長期低估。在一款個性化產品誕生之初,算法所起到的作用可以忽略,我們不能指望它能讓產品起死回生,一飛沖天。但就此拋出算法是無用的也是很愚蠢的。
目標思維和不確定思維
四個元素的重要性認識清楚后,還需認識兩個思維模式:目標思維和不確定思維
我個人對于軟件有一個粗略分類。傳統的軟件是一個信息流通管道,從信息生產端到信息消費端的通道。比如一款內容app,寫內容的可以正常記錄,讀內容的可以順暢加載,在高并發下依然能扛得住,這就是一個正常的產品了。
但推薦系統這種產品和信息流通管道的本質不一樣,它是一個信息過濾工具,要解決的不是信息流通本身,而是如何讓流通更有效率。
這兩個本質不同的軟件產品,決定了我們要以不同的視角去對待推薦系統。傳統的軟件產品追求的是穩定喝滿足預期,背后思想強調的是邏輯和因果鏈條,軟件體驗上設定好行為和響應,軟件設計上強調分層以應對無比復雜的操作邏輯。核心詞可以表述為:邏輯,因果,分層。
反觀推薦系統這種信息過濾系統,追求的是指標的增長,背后思想強調的是目標和不確定性;我們并不能很確定地模擬每個人將會看到什么,也不能很好地復現一些操作過程,充滿了不確定性,但是在推薦系統未動的情形下,目標先行是常識。
關于目標思維,可以參考機器學習,通常來說,訓練機器學習模型是一個不斷最小化目標函數的過程,先設定一個目標函數,然后通過不斷迭代讓這個函數值到最小值。
我們把一個推薦系統也可以看做一個函數,這個函數的輸入有:UI、UE、數據、領域知識等等,輸出是我們關注的指標:留存率、新聞的閱讀時間、電商的GMV、視頻的vv等等;
我們做任何調整:如加新的策略、替換現有的推薦算法、修改UI等等,都是在改變這個函數的參數,如果輸出值在增長,就說明修改有效,就可以繼續沿著這個方向修改,一旦無效或者起反作用就需要立即回滾。
目標思維的背后是量化一切的價值取向。首先要量化的就是目標本身,接下來要量化的是所有優化改進動作,量化一切的價值取向和前面說的數據的重要性是一體兩面,要量化就要回收數據,數據收集對了才能得到正確的量化結果。
盯著量化后的目標去行動后,還需要具備另一個思維:不確定性思維。什么是確定思維,可以理解為完全依靠邏輯和因果鏈條引發而成的,只要初始條件給定,那么結果就是一定的。這是確定性思維,就是對于結果有預期,可以提前推演出來。
反之就是不確定性思維:不用因果邏輯嚴絲合縫地提前推演,而是用概率的眼光去看結果。
為什么負責推薦系統產品的人一定要有不確定性思維呢?原因有以下幾個。
1、絕大多數推薦算法都是概率算法,因此本身就無法保證得到確切結果,只是概率上得到好的效果。
2、推薦系統追求的是目標的增長,而不是一城一池的得失;
3、如果去花時間為了一個case而增加補丁,那么付出的成本和得到的收益將會大打折扣;
4、本身出現意外的推薦也是有益的,可以探索用戶的新興趣,這屬于推薦系統的一個經典問題:EE問題,會在后面的內容中專門講;
總結:
今天,我主要說了兩個內容:
1、推薦系統構成元素的相對重要性,搞清楚重點,才能快速前進;
2、建立器目標和不確定性思維,抓住目標,不擇手段地增長目標,不糾結一城一池的得失。