余 韋,余鳳麗,吉 晶,楊 猛
(中移動信息技術(shù)有限公司,廣東 深圳 518048)
三家電信運(yùn)營商均存在兩級協(xié)同架構(gòu)模式,尤其中國移動在近些年集中化背景下,一點(diǎn)開發(fā)全網(wǎng)支撐的模式發(fā)揮著越來越大的作用。為提高用戶需求響應(yīng)速度、提升生產(chǎn)效能,不斷鉆研應(yīng)用智慧中臺、人工智能等互聯(lián)網(wǎng)應(yīng)用架構(gòu)和前沿技術(shù)。如精準(zhǔn)營銷場景,通過數(shù)據(jù)挖掘技術(shù)識別潛在營銷目標(biāo)用戶群,已成為一線營銷人員智能營銷的利器。數(shù)據(jù)挖掘建模包括目標(biāo)確定、指標(biāo)篩選、數(shù)據(jù)清洗、算法選擇、參數(shù)調(diào)整、效果評估、上線應(yīng)用以及模型優(yōu)化等閉環(huán)流程。當(dāng)前建模者主要關(guān)注模型上線前的建模環(huán)節(jié),而模型上線后的效果跟蹤和模型優(yōu)化還主要靠被動接收市場的反饋。本文針對模型上線后,通過改進(jìn)算法實現(xiàn)模型自動優(yōu)化問題進(jìn)行研究[1-2]。
現(xiàn)有模型上線后的優(yōu)化主要存在以下4個方面的問題[3]:
(1)優(yōu)化模型所需的樣本量幾乎和新建/重建樣本所使用的樣本量相同;
(2)模型優(yōu)化過程中消耗資源過多,如對包括算法和所有參數(shù)在內(nèi)的自動優(yōu)化方法,需要GPU的支撐,對機(jī)器的運(yùn)算能力的依賴程度較大;
(3)問題1和問題2導(dǎo)致模型優(yōu)化耗時過長,達(dá)不到快速反應(yīng)的需求;
(4)邏輯回歸算法是運(yùn)營商最常用的算法之一,當(dāng)前尚無針對邏輯回歸算法進(jìn)行自動調(diào)整參數(shù)研究成果,在建立模型并實際應(yīng)用過程中,不能充分利用真實樣本結(jié)果與原始模型預(yù)測結(jié)果的差異這類有效信息來自動優(yōu)化模型,并提高模型的預(yù)測精度。
針對以上問題,本文提供了一種基于邏輯回歸參數(shù)的在線快速自動優(yōu)化算法,主要思路如下:
(1)樣本選取方法創(chuàng)新,即不需重新提取研究樣本,提出根據(jù)模型應(yīng)用效果按一定規(guī)則劃分提取易混淆樣本加入模型;
(2)采用改進(jìn)的小批量梯度下降算法,在保證精度的情況下降低資源和時間消耗。
邏輯回歸模型參數(shù)自動優(yōu)化流程,如圖1所示。
基于一種評價模型分類效果好壞的指標(biāo)KS(Kolmogorov-Smirnov)值,對樣本分界閾值p進(jìn)行更新。此方法引用已有知識,不做詳細(xì)介紹。
瘦身原始調(diào)參數(shù)據(jù)集S獲得新的調(diào)參數(shù)據(jù)集S1,S1較S樣本量少,且S1包含S集中容易判斷錯誤的所有樣本,具體步驟如下。

圖1 邏輯回歸模型參數(shù)自動優(yōu)化流程
步驟1:根據(jù)預(yù)測標(biāo)識向量v對樣本分類,將vi<p的樣本歸于集合A1,將vi≥p的樣本歸于集合A2;
步驟2:根據(jù)yi與vi找出所有的判錯樣本。若樣本yi=1,vi<p,則將該樣本歸于判錯樣本集合B1;若樣本yi=0,vi≥p,則將該樣本歸于判錯樣本集合B2;
步驟3:對集合A1和集合B1進(jìn)行以下處理。
(1)判斷集合B1是否為空。若是,則設(shè)集合C1為空,并跳出步驟3,進(jìn)入步驟4;若否,則繼續(xù)。
(2)計算D值。計算集合B1中所有樣本預(yù)測值與p差值的絕對值,獲得向量l。取l的第三四分位數(shù)Q3,令D=Q3;
(3)對集合A1進(jìn)行異常樣本排除處理。對于集合A1中的樣本,若其預(yù)測值與p差的絕對值大于等于p值,則將該樣本從集合A1中刪除。處理后獲得新的集合,將其設(shè)為C1;
步驟4:對集合A2、B2進(jìn)行上步驟中與集合A1、B1一樣的處理,得集合C2;
步驟5:對集合C1與C2取并集,輸出新的調(diào)參數(shù)據(jù)集S1。
接收上一模塊輸出的調(diào)參數(shù)據(jù)集S1和原始的模型參數(shù)向量θ0,更新邏輯回歸模型參數(shù),具體步驟如下[3]。
步驟1:輸入調(diào)參數(shù)據(jù)集S1,并對X進(jìn)行Minmax標(biāo)準(zhǔn)化處理。設(shè)定每份小數(shù)據(jù)集樣本個數(shù)k(默認(rèn)值k=10),按圖2的方法進(jìn)行處理,輸出處理后的新數(shù)據(jù)集S2和迭代次數(shù)n。

圖2 數(shù)據(jù)集S1處理流程
步驟2:按設(shè)定的小數(shù)據(jù)集樣本個數(shù)k的要求,將新數(shù)據(jù)集S2切分成n份小數(shù)據(jù)集,小數(shù)據(jù)集的個數(shù)即迭代次數(shù)。
步驟3:從n份小數(shù)據(jù)集中按序選取一份小數(shù)據(jù)集,設(shè)為第j份小數(shù)據(jù)集中的第j樣本的特征,為該樣本對應(yīng)的真實標(biāo)簽,α∈{100,10,1,0.1,0.01,0.001,0.000 1,0.000 01,0}為梯度下降步長。將原始邏輯回歸模型的參數(shù)θ0和每個步長α依次帶入邏輯回歸預(yù)測函數(shù)公式和梯度下降公式,計算得出9個新參數(shù)θj+1。
邏輯回歸預(yù)測函數(shù)公式如下[3]:

邏輯回歸梯度下降公式如下:

其中θj初始值為θ0。
步驟4:獲取步驟3輸出的9個θj+1,分別與數(shù)據(jù)集S1一起帶入邏輯回歸損失函數(shù)公式計算損失值l(θj+1),并選取讓損失值l(θj+1)最小的參數(shù)θj+1。
邏輯回歸損失函數(shù)公式[3]:

在計算過程中,可能出現(xiàn)以下兩種情況。
(1)步長α太大,計算出來的參數(shù)θj+1無法計算其損失值l(θj+1)。遇到這種情況時,可令損失值l(θj+1)等于某個極大的值,以保證其不被篩選出來。
(2)已知預(yù)測值hθ(x)∈(0,1),但因計算機(jī)存儲問題,當(dāng)hθ(x)無限逼近0或1時,會出現(xiàn)hθ(x)=0或hθ(x)=1的情況,進(jìn)而導(dǎo)致邏輯回歸損失值出現(xiàn)logh=∞、log(1-h)=∞的問題。遇到這種情況時,若計算的預(yù)測值等于0或1,可令其等于某個定值,如當(dāng)hθ(x)=0時,令hθ(x)=0.000 1;當(dāng)hθ(x)=1時,則令hθ(x)=0.999 9。
步驟5:重復(fù)步驟3和步驟4,直至n份小數(shù)據(jù)集都被抽取完,最后的更新的參數(shù)θ′為本模塊最終的輸出結(jié)果。
此模塊通過對比模型優(yōu)化前后對應(yīng)的模型查準(zhǔn)率、查全率等常用指標(biāo)值對比模型效果。此部分引用已有知識,不做詳細(xì)介紹。
如圖3所示,2019年以某省為試點(diǎn)開展?jié)撛诩彝拵P徒ㄔO(shè),模型上線以來1—4月效果呈下降趨勢。5月對模型優(yōu)化并實現(xiàn)在線自動調(diào)參優(yōu)化功能,模型效果跟蹤持續(xù)至2020年4月效果未出現(xiàn)明顯波動,說明在線自動調(diào)參功能發(fā)揮了較大作用。

圖3 模型優(yōu)化后潛在家寬模型效果
本文創(chuàng)新點(diǎn)總結(jié)如下:
(1)以邏輯回歸算法為例,利用數(shù)學(xué)和數(shù)據(jù)挖掘知識,提出一種模型上線后自動優(yōu)化方法,并給出了詳細(xì)處理過程;
(2)提出一種新的樣本抽樣方法,即充分利用模型實際應(yīng)用效果,僅抽取容易判斷錯誤樣本取代全量樣本進(jìn)行模型訓(xùn)練,提升效率;
(3)構(gòu)建了一種基于改進(jìn)的多步長小批量梯度下降的邏輯回歸模型調(diào)參方法。相比于傳統(tǒng)的小批量梯度下降法,該方法雖同樣使用少量樣本對參數(shù)進(jìn)行調(diào)整,但其通過設(shè)定參數(shù)更新的步長集合,使得在每一次參數(shù)調(diào)優(yōu)的過程中都可根據(jù)損失值的大小選擇最優(yōu)步長(當(dāng)選擇步長為0時,即不進(jìn)行參數(shù)更新),解決了傳統(tǒng)算法中步長太大錯過最優(yōu)解和步長太小迭代速度慢的問題。
綜上所述,本文主要是基于邏輯回歸算法進(jìn)行模型上線后的自動調(diào)參技術(shù)研究,后續(xù)可持續(xù)針對其他常用算法的自動調(diào)參模式,如決策樹、隨機(jī)森林等方法,并探索一套針對不同算法的通用自動調(diào)參邏輯[4]。此外,在數(shù)據(jù)挖掘建模方面,隨著需求數(shù)量增多、響應(yīng)及時性要求的提高,自動化建模也是未來趨勢之一,主要面臨兩個挑戰(zhàn):一是如何識別種類繁多的數(shù)據(jù)特征并做針對性清洗處理[5];二是如何提升遍歷尋找最佳算法和參數(shù)的性能[6]。