成 晨,韓玉輝,程新洲,張 恒(中國聯(lián)通網(wǎng)絡(luò)技術(shù)研究院,北京100048)
隨著機(jī)器學(xué)習(xí)、AI技術(shù)的研究和推廣以及5G萬物互聯(lián)時(shí)代的到來,大數(shù)據(jù)技術(shù)已逐漸成為行業(yè)技術(shù)革命的新動(dòng)能,運(yùn)營商大數(shù)據(jù)則以其用戶規(guī)模巨大、覆蓋空間廣、時(shí)間連續(xù)性強(qiáng)的優(yōu)勢發(fā)揮著重要作用。通過運(yùn)營商大數(shù)據(jù),我們可以獲取業(yè)務(wù)行為、時(shí)間位置、使用偏好、終端等信息,形成用戶360°畫像,為垂直領(lǐng)域帶來新思路和新動(dòng)能。
在金融行業(yè)中,信用卡業(yè)務(wù)是銀行零售業(yè)務(wù)利潤貢獻(xiàn)的重要組成部分,也是促進(jìn)產(chǎn)品和服務(wù)供求方交易的良性循環(huán)的催化劑,而信用卡本身也是聯(lián)系銀行、客戶、特約商戶等多方關(guān)系的重要渠道,其客戶類別和客戶需求呈現(xiàn)多元化、個(gè)性化的特征,因此精準(zhǔn)挖掘潛在信用卡用戶對銀行增加收入、開拓市場、構(gòu)建生態(tài)鏈有著重要意義?;谶\(yùn)營商大數(shù)據(jù)及機(jī)器學(xué)習(xí)算法,可以深刻洞察信用卡用戶及意向用戶的特征,將潛在客戶轉(zhuǎn)變?yōu)閷?shí)際客戶,從而增加銀行信用卡業(yè)務(wù)收益。在此過程中,基于客戶特征劃分用戶群體,并獲取影響意向率和轉(zhuǎn)化率的關(guān)鍵因素,具有重要意義,聚類算法是解決此類群體劃分問題的常用方法。
K-means算法是經(jīng)典的聚類算法,該算法以樣本之間的距離作為衡量樣本是否相似的指標(biāo),先假設(shè)簇是由距離相近的樣本組成,通過對簇劃分的優(yōu)化,使簇內(nèi)距離之和最小,也就是找到簇間獨(dú)立且簇內(nèi)緊湊的簇群。因此,通過K-means算法可以對信用卡用戶及潛在用戶群體進(jìn)行聚類,基于每個(gè)簇的特征獲取影響意向率、轉(zhuǎn)化率和核卡率的關(guān)鍵因素,更加有的放矢地進(jìn)行信用卡推廣。
在K-means聚類算法中,第1步為簇頭的選擇,在所有的節(jié)點(diǎn)中隨機(jī)選擇k個(gè)節(jié)點(diǎn)作為簇頭,然后根據(jù)簇內(nèi)節(jié)點(diǎn)的位置更新簇頭,因此,若初始簇頭的選擇不合理,將會(huì)影響最終聚類結(jié)果。而群體智能算法有著良好的健壯性,可以有效解決這類多模態(tài)、非線性的np-hard問題。
K-means算法是經(jīng)典的聚類算法,其根本目標(biāo)是通過對簇劃分的優(yōu)化,使簇內(nèi)距離之和最小。假設(shè)在集合{Y},y1,y2,…,yn中有N個(gè)個(gè)體,聚類目標(biāo)是把N個(gè)個(gè)體劃分為k個(gè)簇,表示為U={u1,u2,…,uk},使劃分結(jié)果中簇內(nèi)的個(gè)體間的距離最小。步驟如下:
a)在集合{Y}中,選擇k個(gè)節(jié)點(diǎn)u1,u2,…,uk作為初始簇頭。
b)把另外N-k個(gè)非簇頭節(jié)點(diǎn)分配到k個(gè)簇中,使每個(gè)節(jié)點(diǎn)與簇頭的距離之和最小。
c)基于步驟b)的分類結(jié)果更新k個(gè)簇頭,如公式(1)所示:
其中,Ni表示簇 Yi中第 i個(gè)體,表示更新后的第i個(gè)簇頭;
由此可以看出,在K-means聚類算法中,第1步是選擇k個(gè)初始節(jié)點(diǎn)作為k個(gè)簇的中心,在后面的進(jìn)化中,根據(jù)簇內(nèi)節(jié)點(diǎn)的位置更新每個(gè)簇的中心,如果在某一次進(jìn)化后,簇內(nèi)距離與簇間距離的比值沒有發(fā)生變化,則迭代結(jié)束。因此k個(gè)聚類中心的初始化對聚類結(jié)果有較大影響,若隨機(jī)生成的k個(gè)聚類中心不合理,可能會(huì)導(dǎo)致聚類效果不佳。
群體智能算法為解決K-means算法的簇頭初始化問題提供了可行方案。群體智能算法的靈感來自于群居性動(dòng)物利用個(gè)體間的協(xié)作所表現(xiàn)出的宏觀智能行為,其結(jié)構(gòu)為分布式、并行性、不存在中心及控制器,可用于解決目標(biāo)確定的np-hard問題,包括細(xì)菌覓食算法、蛙跳算法、粒子群算法、蟻群算法等等。人工蜂群算法(Artificial bee colony algorithm)是基于群體智能的一種典型算法,其基本思想為蜂群通過個(gè)體之間的信息交流和分工合作完成蜂蜜采集,算法以適應(yīng)度函數(shù)作為進(jìn)化的依據(jù)。該算法由蜂蜜源(Source)、引導(dǎo)蜂(Leader)、偵查蜂(Scouter)和跟隨蜂(Follower)4個(gè)要素組成,步驟如下:Leader發(fā)現(xiàn)Source并共享信息;Follower根據(jù)Leader提供的信息以一定的概率進(jìn)行搜索;如果Leader多次搜索到的Source沒有改善,則放棄現(xiàn)有蜜源,其角色轉(zhuǎn)化為Scouter尋找新的Source,當(dāng)搜索到高質(zhì)量的Source時(shí),再轉(zhuǎn)化為Leader。
由上可知,角色轉(zhuǎn)換是人工蜂群算法特有的機(jī)制,與蛙跳算法、粒子群算法等群體智能算法不同,它通過Leader、Follower和Scouter三者的角色轉(zhuǎn)換及群體協(xié)作的方式尋找高質(zhì)量Source,其中Scouter用于避免算法陷入局部最優(yōu)解,Leader用來維持當(dāng)前最優(yōu)解,F(xiàn)ollower用來提升搜索效率。
在人工蜂群算法的實(shí)施過程中,假設(shè)解空間維度為K,則Source的位置表示為式(2):
其中 r=rand(0,1),Zmin≤xik≤Zmax,Zmin和 Zmax分別表示解空間最小值和最大值,cid表示第i只蜜蜂源的第d維空間的值。
在初始階段,Leader在Sourcei周圍產(chǎn)生一個(gè)新的Source,方法如式(4)所示。
其中j≠i,u∈[-1,1],服從隨機(jī)分布,wik表示第 i只引導(dǎo)蜂的第k個(gè)解空間的值。則新產(chǎn)生的第i只Source表示為:
其適應(yīng)度表示為F(ci),F(xiàn)(ci)計(jì)算方式由具體問題確定。以最小化優(yōu)化問題為例,若F(wi)<F(ci),則按照貪婪選擇機(jī)制用wi代替ci,否則保留ci。所有的Leader按照式(4)進(jìn)行更新后,返回交流區(qū)同步各自的信息,隨后Follower按照式(6)計(jì)算更新概率:
隨后,隨機(jī)產(chǎn)生 ri,ri∈[0,1]。若 ri>pi,則基于式(3)產(chǎn)生新的Source。
設(shè)迭代次數(shù)為T,在搜索過程中,若Source ci經(jīng)過T次迭代后并未找到更好的Source,則它將會(huì)被丟棄,它相應(yīng)的Leader轉(zhuǎn)化為Scouter角色。Scouter在定義域內(nèi)隨機(jī)產(chǎn)生一個(gè)新的蜜蜂源,如式(7)所示:
其中,τ為嘗試次數(shù),gen為最大嘗試次數(shù)。
綜上所述,人工蜂群算法的步驟為:
a)設(shè)定參數(shù)gen,解空間個(gè)數(shù)P,解維度K以及最大迭代次數(shù)T,初始化Source ci。
b)為每個(gè)Source ci分配一個(gè)Leader,按照式(3)搜索,產(chǎn)生新的Source wi。
c)適應(yīng)度計(jì)算,根據(jù)貪婪算法確定是否保留該Source。
d)根據(jù)式(5)判斷ci是否被保留以及Leader是否轉(zhuǎn)換為Scouter。
e)Follower按照式(6)進(jìn)行搜索,根據(jù)貪婪算法確定是否保留Source。
f)判斷是否放棄ci,若是,將Leader轉(zhuǎn)化為Scouter,若否,則進(jìn)行步驟h)。
g)根據(jù)式(7)生成新的Source。
h)判斷是否達(dá)到最大迭代次數(shù),若是,終止迭代,輸出最優(yōu)解;若否,返回步驟b)。
基于sphere函數(shù)將人工蜂群算法與粒子群算法進(jìn)行性能對比,采用式(8)所示的測試函數(shù)。
其中Q為算法中初始解的維度,F(xiàn)(x)為適應(yīng)度值。
在迭代初期,粒子群算法比工蜂群算法收斂速度快,但是,由于人工蜂群算法引入了角色轉(zhuǎn)換機(jī)制,使得算法更容易跳出局部最優(yōu)解,在全局范圍內(nèi)進(jìn)行優(yōu)化,故人工蜂群算法有更高的收斂精度,有更強(qiáng)大的全局搜索能力。
把人工蜂群算法引入K-means聚類算法的簇頭初始化過程中,其步驟如下:
a)初始化樣本總數(shù)為N,簇頭個(gè)數(shù)k。
b)并按照式(2)初始化蜂蜜源(Source)。
c)基于步驟b的簇頭選擇方案,把另外N-k個(gè)非簇頭節(jié)點(diǎn)分配到k個(gè)簇中,使每個(gè)節(jié)點(diǎn)與簇頭的距離之和最小。
d)用K-means方法進(jìn)行簇頭節(jié)點(diǎn)的更新,根據(jù)式(1)計(jì)算每個(gè)Source的適應(yīng)度值:
e)根據(jù)2.2中所述的人工蜂群算法更新Source。
基于公開測試集,把基于人工蜂群算法的K-means聚類算法和傳統(tǒng)K-means聚類算法進(jìn)行對比,測試算法性能?!鞍拙瀑|(zhì)量”數(shù)據(jù)集的每個(gè)樣本包含酸堿度、酒精度等11類指標(biāo),并帶有分類標(biāo)簽,通過判斷樣本分類的正確度測試算法性能。進(jìn)行5次獨(dú)立重復(fù)試驗(yàn),試驗(yàn)結(jié)果如表1所示。
表1 2個(gè)算法聚類的準(zhǔn)確性對比
由表1的結(jié)果可以看出,與傳統(tǒng)的K-means算法相比,把人工蜂群算法引入K-means的簇頭初始化過程,可以獲得更好的聚類效果。
運(yùn)營商大數(shù)據(jù),特別是OSS域數(shù)據(jù),詳細(xì)刻畫了用戶的業(yè)務(wù)行為、時(shí)間位置、使用偏好、終端等信息,數(shù)據(jù)維度高,結(jié)構(gòu)復(fù)雜,特征豐富,采用基于人工蜂群算法的K-means聚類模型進(jìn)行分析,可以直觀刻畫出每個(gè)聚類特征以及影響意向率、轉(zhuǎn)化率、核卡率的關(guān)鍵因素,為信用卡精準(zhǔn)營銷提供了有效支撐。
本文采用了某省2019年3月12日至2019年3月18日7天的XDR(X Detail Record)數(shù)據(jù),篩選出10萬用戶,采用DPI(Deep packet Inspection)技術(shù)對數(shù)據(jù)進(jìn)行解析入庫,完成數(shù)據(jù)脫敏及預(yù)處理后,進(jìn)行數(shù)據(jù)探索,方案如下。
目前已經(jīng)針對該10萬用戶進(jìn)行了信用卡推薦,且已知其中完成了轉(zhuǎn)化和核卡的用戶ID。其中轉(zhuǎn)化是指用戶已經(jīng)提交了辦理該信用卡的申請;核卡是指用戶提交了辦理該信用卡的申請,且已通過銀行審核,得到了該信用卡。首先,進(jìn)行數(shù)據(jù)探索,為構(gòu)建特征工程做準(zhǔn)備。全體用戶和轉(zhuǎn)化用戶的下行流量箱圖如圖1和圖2所示。全體用戶和轉(zhuǎn)化用戶的工作日日均話次如圖3和圖4所示。
圖1 轉(zhuǎn)化用戶的日均下行流量
圖2 全體用戶的日均下行流量
圖3 轉(zhuǎn)化用戶的工作日日均話次
可見轉(zhuǎn)化用戶日均下行流量均值約為1 600 MB,中位數(shù)約為1 000 MB;全體用戶的日均下行流量均值約為900 MB,中位數(shù)約為600 MB,存在一定差距;轉(zhuǎn)化用戶的7天話次均值為45次,中位數(shù)為33次,全體用戶的7天話次均值為20次,中位數(shù)為9次,存在一定差距。
圖4 全體用戶的工作日日均話次
基于數(shù)據(jù)探索,整合7天XDR數(shù)據(jù)并關(guān)聯(lián)工參,構(gòu)建如表2所示的特征。
表2 聚類特征枚舉
做如下設(shè)定:日間為8:00—19:00,夜間指19:00—次日8:00;根據(jù)DPI流量識(shí)別庫對APP進(jìn)行人工分類,各類別之間可以重復(fù);為簡化數(shù)據(jù)解析難度,假設(shè)用戶每10 min訪問同一個(gè)APP最多1次。采用等頻分箱法對各個(gè)特征進(jìn)行歸一化處理,并刪除異常值。
基于人工蜂群算法的K-means聚類模型對用戶進(jìn)行簇的劃分,步驟如下:
a)初始化樣本總數(shù)N=100 000,簇頭個(gè)數(shù)k=7。
b)根據(jù)人工蜂群算法,設(shè)定參數(shù)gen=10,解空間個(gè)數(shù)100,解維度K=7以及最大迭代次數(shù)T=1 000,并初始化初始化P=100個(gè)蜂蜜源(Source),第i個(gè)解表示為:
其中,向量ci中的元素cim為簇頭,是一個(gè)h維向量,h為特征數(shù)據(jù)量,本文h=132;
c)基于步驟b)的簇頭選擇方案,把另外99 993個(gè)非簇頭節(jié)點(diǎn)分配到7個(gè)簇,使節(jié)點(diǎn)與簇頭的距離之和最小。
d)用K-means方法對簇頭節(jié)點(diǎn)進(jìn)行更新,計(jì)算每個(gè)Source的適應(yīng)度值。
e)根據(jù)2.2中所述的人工蜂群算法更新Source。
f)迭代結(jié)束后,輸出每一個(gè)簇的用戶列表、聚類特征、轉(zhuǎn)化率和核卡率。
本案最終將100 000個(gè)用戶基于132個(gè)特征分成7個(gè)聚類,由于篇幅限制,只在表3中標(biāo)注每個(gè)聚類的意向率和核卡率,從中選擇聚類中差異性較大的特征進(jìn)行描述。
表3 聚類結(jié)果
從表3可以看出,聚類2和聚類6的轉(zhuǎn)化率較高,達(dá)到6%以上;聚類7的核卡率較高,達(dá)到3‰以上。
聚類2、6、7的共同特征為日均流量和日均通話時(shí)長高于其他3個(gè)聚類,可見這3類用戶的業(yè)務(wù)行為活躍水平高于平均值;7日使用年輕時(shí)尚APP個(gè)數(shù)/日使用全部APP個(gè)數(shù)、日均使用年輕時(shí)尚APP次數(shù)以及日均使用年輕時(shí)尚APP流量高于其他3個(gè)聚類(其中年輕時(shí)尚APP的列表包括今日頭條、抖音、西瓜視頻、小紅書、快手等16種APP),表明聚類2、6、7對于年輕時(shí)尚類的APP有較高的使用率。
除此之外,每個(gè)聚類的自由特征如下。
聚類2的特征為:7日使用網(wǎng)貸類APP個(gè)數(shù)以及日均使用網(wǎng)貸類APP次數(shù)顯著高于其他聚類(其中網(wǎng)貸APP包括人人貸、微粒貸、螞蟻借唄、分期樂、快貸貸款、君融貸、閃電貸款、借點(diǎn)錢、宜人貸借款、拉卡拉、借了嗎、惠借寶、借貸寶、拍拍貸借款等APP);購物類APP的指標(biāo)一定程度上高于其他聚類;工作日經(jīng)過小區(qū)個(gè)數(shù)和休息日經(jīng)過小區(qū)個(gè)數(shù)的比值較低。因此,可將聚類2概括為:有申請網(wǎng)貸的習(xí)慣,有較強(qiáng)的購物欲,可能沒有較為固定的工作。
聚類6的特征為:日均使用銀行及支付類APP次數(shù)顯著高于其他聚類(特別是招商銀行、京東金融、工商銀行等APP),日均使用優(yōu)惠促銷類APP(拼多多、美團(tuán)團(tuán)購、薅羊毛、羊毛管家等)次數(shù)顯著高于其他聚類,網(wǎng)貸類APP的指標(biāo)一定程度上高于其他聚類,工作日經(jīng)過小區(qū)個(gè)數(shù)較低而休息日經(jīng)過小區(qū)個(gè)數(shù)較高,可能為價(jià)格敏感型用戶,且在校學(xué)生比例可能較高(通過移動(dòng)性指標(biāo)得出)。
聚類7的特征為:網(wǎng)貸類APP指標(biāo)較為顯著地低于聚類2和聚類6,但是工作日經(jīng)過小區(qū)個(gè)數(shù)/休息日經(jīng)過小區(qū)個(gè)數(shù)指標(biāo)較高,7日使用理財(cái)類APP個(gè)數(shù)以及7日使用理財(cái)類APP個(gè)數(shù)/7日使用全部APP個(gè)數(shù)較高(理財(cái)類APP包括pp理財(cái)、挖財(cái)寶、玖富錢包等),遠(yuǎn)高于其他聚類,同時(shí)辦公類、股票及財(cái)經(jīng)類、汽車類、家長類、家裝類、旅行類APP指標(biāo)略高于平均水平。聚類7的核卡率較高,該類用戶具備和聚類2、6差別較大的特征:有一定的存款或資產(chǎn),較大可能有較為正式的工作,且近期可能會(huì)有旅行、家裝、購車等大額消費(fèi)需求。
基于以上聚類結(jié)果,可以得到影響信用卡轉(zhuǎn)化率和核卡率的關(guān)鍵性特征,從而更加有的放矢地進(jìn)行信用卡精準(zhǔn)營銷。
信用卡業(yè)務(wù)是銀行零售業(yè)務(wù)利潤貢獻(xiàn)的重要組成部分,通過運(yùn)營商大數(shù)據(jù),可以對用戶進(jìn)行全面立體的刻畫,進(jìn)而分析信用卡潛在用戶的特征。本文提出了基于人工蜂群算法的K-means聚類算法,可以提升K-means算法的簇頭初始化水平,從而提升K-means算法性能。以信用卡精準(zhǔn)營銷為例,將該算法運(yùn)用在信用卡精準(zhǔn)營銷場景中,可以獲取影響意向率、核卡率的關(guān)鍵要素,從而更加有效地發(fā)掘潛在用戶,未來該方法也可以運(yùn)用到其他垂直領(lǐng)域,為行業(yè)發(fā)展帶來新思路和新動(dòng)能。