預(yù)測(cè)服務(wù)基于華為分析服務(wù)(Analytics Kit)上報(bào)的用戶行為數(shù)據(jù)和屬性,結(jié)合機(jī)器學(xué)習(xí)技術(shù),實(shí)現(xiàn)特定目標(biāo)人群的精準(zhǔn)預(yù)測(cè)。針對(duì)預(yù)測(cè)生成的細(xì)分受眾群體,開(kāi)展和優(yōu)化相關(guān)運(yùn)營(yíng)舉措,如通過(guò)A/B測(cè)試評(píng)估運(yùn)營(yíng)活動(dòng)效果、遠(yuǎn)程配置特定受眾群體的專(zhuān)屬套餐等,可有效幫助產(chǎn)品提高用戶留存,增加轉(zhuǎn)化。
使用預(yù)測(cè)服務(wù)前,需要先集成華為分析服務(wù)的SDK,這樣系統(tǒng)才可以順利開(kāi)展流失、付費(fèi)、復(fù)購(gòu)以及自定義預(yù)測(cè)任務(wù)。在詳情界面可以查看相關(guān)預(yù)測(cè)人群的高中低概率對(duì)應(yīng)人群數(shù)量,及其相應(yīng)的屬性分布(比如詳情頁(yè)的高概率流失人群,表示該人群在未來(lái)7日內(nèi)有較高概率流失,您可以通過(guò)相關(guān)卡片,觀察其行為特點(diǎn)并制定針對(duì)性運(yùn)營(yíng)計(jì)劃)。
預(yù)測(cè)任務(wù)和預(yù)測(cè)詳情界面如下所示:
*數(shù)據(jù)為模擬
預(yù)測(cè)模型構(gòu)建流程
在構(gòu)建預(yù)測(cè)模型的時(shí)候,首先是確定我們要預(yù)測(cè)什么,即確立預(yù)測(cè)的統(tǒng)計(jì)口徑,然后根據(jù)統(tǒng)計(jì)口徑圍繞用戶特點(diǎn)尋找對(duì)應(yīng)相關(guān)的特征,通過(guò)清洗和采樣得到數(shù)據(jù)集。我們把數(shù)據(jù)集二八分得到訓(xùn)練集和驗(yàn)證集,在線下進(jìn)行不斷實(shí)驗(yàn)找到最優(yōu)特征和參數(shù),最后根據(jù)相關(guān)數(shù)據(jù)在線上調(diào)度訓(xùn)練預(yù)測(cè)任務(wù)。
具體流程圖如下所示:
特征、模型選擇和調(diào)優(yōu)
特征探索
項(xiàng)目初期,我們分析數(shù)據(jù),從屬性、行為、需求三方面入手,尋找與業(yè)務(wù)有可能相關(guān)的變量,構(gòu)建特征表,比如用戶近7天的活躍天數(shù)、使用時(shí)長(zhǎng)等行為數(shù)據(jù)。
在確定特征之后,下一步就是在實(shí)驗(yàn)中進(jìn)行模型的選擇和調(diào)優(yōu)了,業(yè)界常用的樹(shù)形模型有xgboost、隨機(jī)森林、GBDT等,把我們的數(shù)據(jù)集用這幾種模型進(jìn)行訓(xùn)練,發(fā)現(xiàn)在隨機(jī)森林上效果較好,其采用bagging策略提高模型擬合能力和泛化能力。
除了模型參數(shù),也要考慮采樣比,尤其是對(duì)于付費(fèi)預(yù)測(cè)這種正負(fù)樣本懸殊的情況(大約1:100),綜合考慮Accuracy和Recall, 付費(fèi)訓(xùn)練時(shí)將正負(fù)樣本比例采樣至1.5:1, 以提高模型付費(fèi)用戶召回率。
超參與特征確立
訓(xùn)練出了合適的模型,但并非所有特征都是有用的,無(wú)用特征除了可能會(huì)影響模型效果,也會(huì)減慢訓(xùn)練速度。在初期版本中,通過(guò)實(shí)驗(yàn)確定合適的超參和特征,特征按照特征重要性排序選擇權(quán)重較大的,在線上版本中配置對(duì)應(yīng)的超參和特征。
在版本上線之后還需要不斷觀察數(shù)據(jù)、分析數(shù)據(jù)、補(bǔ)充特征,我們?cè)诤罄m(xù)版本中主要新增了事件特征與趨勢(shì)特征,補(bǔ)充后總計(jì)400+特征。
自動(dòng)超參搜索
在挖掘出更多的特征之后,如果都是全量特征訓(xùn)練可能效果未必會(huì)好,而且也會(huì)非常耗時(shí)。同時(shí),可能每個(gè)App訓(xùn)練時(shí)可能最優(yōu)的超參和特征并不相同,最好是每個(gè)App分開(kāi)訓(xùn)練且使用自己最優(yōu)的超參和特征。
為了解決這些問(wèn)題,我們?cè)黾恿俗詣?dòng)的超參搜索,可以在配置好的參數(shù)空間里搜索,找到并保存合適的訓(xùn)練參數(shù)。搜索完之后的最優(yōu)超參保存在如下結(jié)構(gòu)的hive表中。
當(dāng)前的整體流程以及外部依賴如下所示:
未來(lái)方向
在未來(lái)提高模型效果上,我們也有很多思考,預(yù)研的方向大致如下:
神經(jīng)網(wǎng)絡(luò)
當(dāng)前的特征規(guī)模不斷擴(kuò)大(400+),而用戶行為的規(guī)律又十分復(fù)雜,除了使用原有的樹(shù)形模型,也在嘗試?yán)蒙窠?jīng)網(wǎng)絡(luò)強(qiáng)大的表達(dá)能力,結(jié)合行為特征訓(xùn)練出更準(zhǔn)確的預(yù)測(cè)模型。
聯(lián)邦學(xué)習(xí)
對(duì)于各App、各租戶數(shù)據(jù)不可互通的問(wèn)題,可以通過(guò)橫向聯(lián)邦學(xué)習(xí)聯(lián)合各個(gè)App、各個(gè)租戶間的模型,在數(shù)據(jù)不互通的前提下協(xié)同訓(xùn)練。
時(shí)序特征
不同App的用戶每周上報(bào)數(shù)百個(gè)事件(涵蓋1000+種類(lèi)),訪問(wèn)近百個(gè)頁(yè)面,通過(guò)這些時(shí)序數(shù)據(jù)可以構(gòu)造出不同用戶的長(zhǎng)短期行為特征,提高不同場(chǎng)景預(yù)測(cè)的準(zhǔn)確率。用戶訪問(wèn)頁(yè)面的行為有較高的時(shí)序特點(diǎn),可以加工成時(shí)間序列特征,有較高的研究?jī)r(jià)值。
特征挖掘和加工
對(duì)目前的特征集擴(kuò)充、補(bǔ)充,一方面挖掘更多的相關(guān)特征比如平均使用間隔、設(shè)備屬性、安裝渠道、國(guó)家省市等特征。另一方面基于現(xiàn)有特征通過(guò)離散化、歸一化、開(kāi)方、平方、笛卡爾積、多重笛卡爾積等等方法構(gòu)造更多新特征。