余晨,張澤,吉晶
(中移信息技術有限公司,廣東深圳,5 180481)
目前在老年人市場研究方面,主要總結有兩部分,一方面是對銀發市場的市場前景、經濟潛力、現狀問題等方面的專業評析研究,另一方面是對于老年特定人群或特定行為進行了一些數據技術識別。魏姍姍[1]等基于手機信令數據,建立了貝葉斯分類器進行老年人群識別。馮先成[2]等采用前饋神經網絡算法對空巢老人手機用戶進行識別分析。李力行[3]等基于通話費用、上網費用及時長及短信費用等電信數據進行空巢老人評判指標設計。呂子陽[4]等通過建立廣義回歸神經網絡(GRNN)、概率神經網絡(PNN)和誤差逆傳播神經網絡(ВPNN)三種神經網絡模型建立易跌倒老人識別模型。潘宇欣[5]等提出基于隨機森林和行為相似性的兩層行為識別算法用以識別老人居家行為。趙春陽[6]構建一種卷積神經網絡和循環神經網絡相結合的混合模型對老年居家行為進行識別,以提高老年居家生活質量。劉琳[7]利用不同的神經網絡模型對老人日常活動所產生的傳感器數據進行活動識別。周潔[8]使用Logistic 回歸、隨機森林、XGВoost 算法建立腦卒中風險預測模型,實現老年人高血壓并發癥高危個體識別。李彩福[9]等運用反向傳播神經網絡機器學習算法構建衰弱前期預測模型,為早期識別社區老年衰弱前期高危人群提供參考。張慶莉[10]結合模式識別技術、語音信號處理技術、語音情感識別技術,使用高斯混合模型進行了老年人語音情感識別研究。
關于老年人群體的識別方面較多使用的有監督算法,根據已有的是否老年人標簽進行分析挖掘,例如常用的貝葉斯分類、隨機森林、反向傳播神經網絡等,但結合現實的業務需求,較多業務場景是需要挖掘識別潛在用戶中的老年人群體,但是受限于已有數據的采集信息范圍,面向大部分潛在客戶都是無法有明確標簽標記是否為老年人,因此有監督算法在現實場景中的作用發揮有限。針對上述問題,本文提出一種基于用戶通信數據的潛在老年用戶識別模型,通過PU learning 算法在半監督場景下對未有明確標記的數據樣本進行老年人群體判別,同時使用AutoEncoder 算法得到誤差閾值同步進行判別,最后為提升識別的準確性,對兩種算法均識別出的綜合老年人群根據結果預測概率和預測閾值進行1-5 分賦值,計算綜合得分,取綜合得分大于等于8 分的人群識別為老年用戶。
2.1.1 PU learning 算法
通常有監督算法是一種針對有明確正負標簽的兩類樣本的二值分類器,但大多數情況下現有訓練樣本是已標記的正樣本和未標記樣本,其中未標記樣本包括正樣本和負樣本[11],PU learning 算法則是針對這樣場景的一種學習算法。首先對樣本做軟標簽,正樣本記為1,未標記的樣本記為-1,準備標簽0 作為確認的負樣本。其次構建分類器,選用隨機森林算法,保留每個樣本的預測概率,并取正樣本預測概率的最大值和最小值作為真實區間。第三更新軟標簽,對于未標記樣本中,預測概率大于真實區間最大值的記為1,預測概率小于真實區間最小值的記為0。最后基于每次迭代構建的分類器,每次重新定義真實區間,將未標記標簽區分為正樣本和確定的負樣本。不斷更新直到循環結束或不產生新的0、1 標簽,從而得到最終的判別結果。
2.1.2 AutoEncoder 算法
自編碼器是一類在半監督學習和非監督學習中使用的人工神經網絡,其功能是通過將輸入信息作為學習目標,對輸入信息進行表征學習[12-13]。構建一個神經網絡模型,將已有正樣本標簽數據作為輸入進行模型訓練,模型通過加解密盡量還原正樣本標簽數據的特征,得到正樣本標簽數據的還原誤差范圍。把樣本標簽數據放到模型中,通過還原誤差閾值的區分觀察兩者區分度判斷識別效果。根據模型測試效果選取合適的還原誤差閾值,對預測樣本進行輸出結果分析,根據是否大于設定的閾值來進行人群識別。
通常情況下,潛在用戶群體的識別往往具備較為明顯的群體特征以及能夠獲得明確的樣本標簽,這些因素幫助機器學習算法通過較小的學習成本達到相對優秀的識別效果。但在一些特殊場景下,原始數據中大量行為模糊的正樣本混雜在負樣本中,而不可靠的負樣本將極大程度上影響模型的準確性。因此在此場景下需要采用一些半監督算法對待識別用戶群體進行分類,減少混雜樣本的干擾、提升模型的準確性。潛在老年用戶識別問題即為此類場景,設計基于用戶通信數據的潛在老年用戶識別模型如圖1 所示。

圖1 基于用戶通信數據的潛在老年用戶識別模型
基于用戶通信數據的潛在老年用戶識別模型的具體步驟如下所示:
步驟1:對原始數據集進行數據預處理和特征提取。部分算法對異常值較為敏感,可根據字段定義及字段之間邏輯關系去除異常值。
步驟2:對新構建的數據集分為訓練集D 和測試集T。其中訓練集D 包含兩類樣本:正樣本D1和待定樣本Dn,待定樣本即為不可靠的負樣本。
步驟3:選擇PU learning 算法、AutoEncoder 算法作為學習器展開訓練。
步驟3-1:在PU learning 算法中,采取兩步法進行模型構建。在第一步中選擇一種二分類學習器對訓練集D 進行訓練,得到對應預測概率P。根據正樣本D1對應的最大概率和最小概率得到正樣本真實區間(P1,P2)。以該區間作為劃分依據,訓練集D 中概率超過P2的待定樣本與正樣本D1合并確定為新的正樣本,低于P1的待定樣本確定為新的負樣本,從而產生新的三分類訓練集Da,包含正樣本Da1,負樣本Da2和處于(P1,P2)區間的待定樣本Dan。第二步選擇一種三分類學習器,對訓練集Da進行訓練。根據正樣本Da1對應的最大概率和最小概率得到新的真實區間(Pa1,Pa2),按第一步相同的劃分原則更新訓練集Da,進行反復訓練迭代,每次重新定義真實區間,將待定樣本Dan區分為正樣本和確定的負樣本直到循環結束或不產生新的0、1 標簽。
步驟3-2:在AutoEncoder 算法中,即構建一個神經網絡模型,將正樣本D1作為輸入進行模型訓練,模型通過加解密盡量還原D1的特征,根據還原結果確定D1的平均絕對誤差mae 范圍。
步驟4:將測試集T 代入完成訓練的PU learning 和AutoEncoder 模型中進行模型評價優化,分別產生標簽為1 的預測結果T1和T2。
步驟5:根據預測結果T1的概率范圍均分為5 個區間并由低到高賦予1-5 分,根據預測結果T2的mae 范圍均分為5 個區間并由低到高賦予1-5 分,兩項預測結果數據集合并,兩模型共同命中的用戶根據其概率值和mae 值所落區間相加計分,使識別人群總得分區間保持在[0,10]之間,根據實際業務要求以閾值分數以上的預測數據作為最終輸出結果。
在實際生活中,經常存在子女為父母代辦手機號碼或父母使用子女手機副卡的情況,此類老年人用戶無法通過實名制身份證篩選獲得,導致各類推薦信息無法觸達。因此模型目標為基于用戶通信數據識別隱藏在年輕人手機號碼下的老年人群體。
本文抽取某省用戶的通訊行為數據作為原始數據集。對原始數據集進行數據清洗,剔除異常值、極端值,補充缺失值,并針對不同特征之間量綱差別較大的問題,采用極大極小歸一化的方式對數據進行標準化。
通過對原始數據集的特征進行重建和相關性篩選,選擇了5 個維度中分別選擇44 個和19 個比較有代表性的特征作為PU learning 和AutoEncoder 算法的輸入特征進行模型建設。方案特征舉例說明如表1 所示。

表1 方案特征舉例說明
抽取原始數據集中10 萬真實老年人群作為正樣本,10萬待識別人群作為待定樣本,組成訓練集,隨機抽取近20萬人群作為測試集,使測試集符合真實年齡分布。為了獲得更好的評估模型效果,本文在測試集設置時對待測樣本進行了處理,將待測樣本中特征較為明顯的部分年輕人群體作為真實負樣本進行標注,觀察算法的識別效果。訓練集、測試集樣本分布如表2。

表2 樣本分布表
3.3.1 模型評價指標
受不可靠負樣本的影響,測試集中其他待定樣本的分類結果不能說明模型實際效果。因此在此類模型的評價指標中,主要關注正樣本和真實負樣本之間的查準率和查全率。此外,其他待定樣本中預測為正的樣本數占其他待定樣本總數的比例(r)將作為一項輔助指標進行觀測。
根據樣本真實類別與學習器預測類別的組合,在常規的真正例(TP)、假正例(FP)、真反例(FN)、假反例(TN)四種情形之外,對其他待測樣本中的預測結果為正的樣本記為XP,預測結果為負的樣本記為XN,如表3 所示。精準率P、召回率R、待定樣本識別比例r 分別定義為公式(1)~(3)。

表3 真實類別與預測類別說明
3.3.2 PU learning 模型分類能力分析
PU learning 兩步法計算時,使用隨機森林作為二分類學習器對訓練樣本進行訓練預測,得到正樣本對應的概率區間[0.45,0.7]。以該區間作為劃分區間對待定樣本進行分類標記,訓練集中概率超過0.7 的待定樣本與上一輪的正樣本合并確定為新的正樣本,低于0.45 的待定樣本確定為新的負樣本,從而產生三分類訓練集,包含正樣本、負樣本和處于[0.45,0.7]區間的待定樣本。對該訓練集采用隨機森林作為三分類學習器進行數據集的多輪迭代更新,循環9 次后,停止產生新的正負樣本,學習器訓練完成。以該模型對測試集進行預測,得到結果如表4 所示。

表4 PU learning模型分類結果
根據預測結果可知,模型正樣本查全率為12092/15683=80.59%,查準率為12092/(12092+3139)=79.39%,其他待定樣本識別比例r=32305/138051=23.4%。說明模型在對能夠識別絕大部分老年人,同時也將年輕人的誤判比例控制在了一定程度。其他待定樣本識別比例在23.4%左右。
3.3.3 AutoEncoder 模型分類能力分析
選擇訓練集中的正樣本進入AutoEncoder 模型訓練,模型設定參數包括完整訓練次數、批數據量和學習率epoch=50,batch=1000,lr=0.001,得到模型損失函數曲線,如圖2 所示。由圖可知,loss 函數在10 個epoch 之內極速下降,隨后趨于穩定,模型完成收斂。計算正樣本的平均絕對誤差mae,繪制正樣本平均絕對誤差mae 的分布圖并確定正樣本的mae 閾值為0.06,如圖3 所示。

圖2 損失函數曲線圖

圖3 mae 分布圖
根據預測結果可知,模型查全率為12565/15683=80.12%,查準率為12565/(12565+4134)=75.24%,其他待定樣本識別比例r=35348/138051=25.61%。說明模型對潛在老年人用戶群體具有一定的識別能力,同時誤判相對較少。其他待定樣本識別比例在25.6%左右。

表5 AutoEncoder模型分類結果
3.3.4 識別結果輸出
由于半監督算法是利用已有標簽對未標記標簽進行預測,易受樣本質量、特征有效性等因素的影響,進而影響到模型整體的準確性和泛化能力。為降低上述因素影響、提高識別人群的可靠性、滿足不同業務經營要求,對兩種算法識別的正例概率區間[0.5,1]和mae 區間[0,0.06]進行等分,分別形成5 個概率區間并由低到高賦值1-5 分,兩者相加產生0-10 分的分值區間,計算人群的綜合得分。
根據實際業務需求和專家經驗判斷,本文確定綜合得分較高(>=8 分)的老人人群作為業務營銷的目標人群,輸出老年人13543 人。由于正樣本可根據實名制年齡準確提取,因此輸出老年人數即為正樣本總數15683 人。總計輸出老年人人數29226 人,占總體人群19.01%。

表6 輸出結果分析表
本文針對現有潛在老年人識別業務場景中有監督算法實用性不大的問題,提出一種基于中國移動數據,結合PU learning 算法和AutoEncoder 算法的老年人識別算法,通過對未有明確標記的數據樣本進行分類器迭代標記以及輸出誤差閾值,并結合兩種算法結果進行綜合得分計算,根據得分識別老年人群,以此提升老年用戶群的識別準確率。通過數據驗證結果可以得出老年人用戶群識別占比符合大數據統計結果。由此,基于中國移動數據與各行業數據的融合互補,提高銀發市場用戶識別準確率,向其推薦適配的適老化服務產品,能夠更有利于社會養老結構優化,從而促進社會穩定與經濟效益發展。