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