#用戶出行偏好
****
**一、概覽**
采用機(jī)器學(xué)習(xí)解決問(wèn)題最關(guān)鍵的一步是找準(zhǔn)問(wèn)題:
1令花、這種問(wèn)題能否用機(jī)器學(xué)習(xí)方法解決锦担?
2俭识、是否存在其他更簡(jiǎn)單的方法?如字符串匹配洞渔、正則或特定數(shù)據(jù)結(jié)構(gòu)就可以簡(jiǎn)單解決套媚,采用機(jī)器學(xué)習(xí)方法反而很麻煩,得不償失痘煤;
3凑阶、如果能用機(jī)器學(xué)習(xí)方法,如何表示這個(gè)機(jī)器學(xué)習(xí)問(wèn)題衷快?如何抽取特征?又可能歸類為哪類機(jī)器模式(分類姨俩、聚類蘸拔、回歸等?)环葵;
針對(duì)**用戶出行偏好**主題调窍,最近半個(gè)月大致做了以上幾個(gè)問(wèn)題的思考,現(xiàn)將從業(yè)務(wù)及目標(biāo)的角度分析用戶出行偏好屬于普通的統(tǒng)計(jì)分析問(wèn)題张遭,還是數(shù)據(jù)挖掘問(wèn)題:
A邓萨、業(yè)務(wù)上包括高德地圖及開(kāi)放平臺(tái)兩條業(yè)務(wù)線,能夠覆蓋全中國(guó)絕大多數(shù)智能終端用戶菊卷;
B缔恳、單業(yè)務(wù)線統(tǒng)計(jì)分析存在用戶準(zhǔn)確率及覆蓋度較低的情況,且用戶活躍等級(jí)混亂數(shù)據(jù)稀疏洁闰。
C歉甚、目標(biāo)是提供智能推送服務(wù),不僅涉及用戶智能終端上所有能檢測(cè)到的行為扑眉,還包括用戶將來(lái)幾天甚至一段時(shí)間行為的推斷及預(yù)測(cè)纸泄;
基于以上幾個(gè)特點(diǎn)赖钞,**用戶出行偏好**屬于數(shù)據(jù)挖掘問(wèn)題,下面將從機(jī)器學(xué)習(xí)相關(guān)的幾個(gè)方面進(jìn)行分析及闡述聘裁。
****
**二雪营、問(wèn)題建模**
出行偏好是基于歷史行為來(lái)判斷或預(yù)估用戶出行的交通方式,簡(jiǎn)單分為三類:
A衡便、駕車或打車出行卓缰;
B、公共交通出行(公交砰诵、地鐵征唬、長(zhǎng)途汽車等);
C茁彭、其他
這是一個(gè)典型的**分類**問(wèn)題总寒,至于**模型選擇**,需先進(jìn)行數(shù)據(jù)上的調(diào)研及特征工程方面的工作理肺。
****
**三摄闸、數(shù)據(jù)調(diào)研**
業(yè)務(wù)線上概覽:
1、高德地圖 (以20150708為例):
**概況** 當(dāng)天主動(dòng)活躍用戶數(shù)1000W左右妹萨,其中新增用戶數(shù)45W左右年枕,總啟動(dòng)次數(shù)4000W次,**人均啟動(dòng)次數(shù)4.1次**乎完;
**行為**
A熏兄、**搜索狀況** 搜索總次數(shù)2360W,搜索總?cè)藬?shù)600W树姨,**人均搜索次數(shù)3.887次**摩桶;
B、**出行狀況**
a. 總體概況 出行接口總次數(shù)3430W帽揪,出行接口總?cè)藬?shù)600W硝清,**人均出行接口訪問(wèn)5.65次**;
b. 駕車狀況 駕車規(guī)劃總次數(shù)890W转晰,駕車規(guī)劃總?cè)藬?shù)280W芦拿,**人均規(guī)劃次數(shù)3.16次**;駕車導(dǎo)航總次數(shù)1600W查邢,駕車導(dǎo)航總?cè)藬?shù)325W蔗崎,**人均導(dǎo)航次數(shù)4.92次**;
c. 公交狀況 公交規(guī)劃總次數(shù)686W侠坎,公交規(guī)劃總?cè)藬?shù)200W蚁趁,**人均規(guī)劃次數(shù)3.33次**;
d. 步行狀況 步行規(guī)劃總次數(shù)230W实胸,步行規(guī)劃總?cè)藬?shù)93W他嫡,**人均規(guī)劃次數(shù)2.47次**番官;步行導(dǎo)航總次數(shù)26W,步行導(dǎo)航總?cè)藬?shù)10W钢属,**人均導(dǎo)航次數(shù)2.44次**徘熔;
C、**定位狀況** 定位總次數(shù)5290W淆党,定位總?cè)藬?shù)830W酷师,**人均定位次數(shù)6.397次**;
D染乌、**用戶重合度**
a. **搜索**600W,**出行**600W 重合用戶數(shù)**419W**山孔;
b. **搜索**600W,**駕車規(guī)劃**280W 重合用戶數(shù)**184W**;
c. **搜索**600W,**駕車導(dǎo)航**325W 重合用戶數(shù)**227W**荷憋;
d. **搜索**600W,**公交規(guī)劃**200W 重合用戶數(shù)**154W**台颠;
e. **搜索**600W,**步行規(guī)劃**93W 重合用戶數(shù)**78W**;
f. **搜索**600W,**步行導(dǎo)航**10W 重合用戶數(shù)**9.5W**勒庄;
g. **駕車規(guī)劃**280W,**駕車導(dǎo)航**325W 重合用戶數(shù)**94W**串前;
h. **步行規(guī)劃**93W,**步行導(dǎo)航**10W 重合用戶數(shù)**10W**;
i. **駕車導(dǎo)航**325W,**公交規(guī)劃**200W 重合用戶數(shù)**35W**实蔽;
j. **駕車導(dǎo)航**325W,**步行導(dǎo)航**10W 重合用戶數(shù)**4W**荡碾;
k. **公交規(guī)劃**200W,**步行導(dǎo)航**10W 重合用戶數(shù)**7W**;
**周活躍**
周活躍用戶數(shù):3390W局装,DAU/WAU:28.72%坛吁,**周平均活躍天數(shù):1.94天**;
**月活躍**
月活躍用戶數(shù):6900W贼邓,DAU/MAU:14.12%阶冈,**月平均活躍天數(shù):4.12天**,**平均每次使用時(shí)長(zhǎng):238秒**塑径;
2、開(kāi)放平臺(tái):
**用戶量(月)** 導(dǎo)航 SDK 517W填具,地圖 SDK:13390W统舀,定位 SDK:40933W,搜索 SDK:4585W劳景,所有 SDK:47944W誉简。
以上用戶量不包括Rest及JS請(qǐng)求,只包括AND盟广、IOS闷串、WP。
**行為(天)**
A筋量、搜索:搜索總次數(shù) 8145W烹吵,主要請(qǐng)求集中在:**周邊查詢碉熄、關(guān)鍵字查詢、搜索意圖分析肋拔、行政區(qū)查詢锈津、1002、ID查詢凉蜂、電話號(hào)碼查詢琼梆、公交路線關(guān)鍵字、1000窿吩、搜索服務(wù)-多邊形查詢茎杂、公交路線ID查詢、公交站關(guān)鍵字查詢**纫雁,以上查詢總次數(shù)占比99%煌往;
B、駕車:駕車總次數(shù)4067W先较,主要請(qǐng)求集中在:**駕車路徑規(guī)劃携冤、行駛距離測(cè)量**,以上服務(wù)總次數(shù)占比99%闲勺;
C曾棕、公交:公交總次數(shù)130W,主要請(qǐng)求集中在:**公交路徑規(guī)劃菜循、公交路徑規(guī)劃(未結(jié)合步行)**翘地,以上服務(wù)總次數(shù)占比99%;
D癌幕、步行:步行總次數(shù)1356W衙耕,主要請(qǐng)求集中在:**步行路徑規(guī)劃**,其服務(wù)總次數(shù)占比99%勺远;
E橙喘、交通:交通總次數(shù)13W,主要請(qǐng)求集中在:**圓形區(qū)域內(nèi)交通態(tài)勢(shì)查詢**胶逢,其服務(wù)總次數(shù)占比99%厅瞎;
在確定了目標(biāo)之后,下一步初坠,就是確定使用哪些數(shù)據(jù)來(lái)達(dá)到目標(biāo)和簸,即:梳理哪些特征數(shù)據(jù)可能與用戶出行偏好相關(guān)。
****
**四碟刺、特征工程**
**1锁保、特征分類與提取:**直接特征和間接特征
從業(yè)務(wù)經(jīng)驗(yàn)來(lái)判斷,可能影響用戶出行偏好的因素大致分為以下幾個(gè)方面
A爽柒、接口PV:
啟動(dòng)次數(shù)吴菠;
搜索次數(shù)、搜索駕車類別次數(shù)霉赡、搜索公交(地鐵)類別次數(shù)橄务;
駕車規(guī)劃次數(shù)、駕車導(dǎo)航次數(shù)穴亏;
公交規(guī)劃次數(shù)蜂挪;
步行規(guī)劃次數(shù)、步行導(dǎo)航次數(shù)
B嗓化、活躍度:
周均活躍天數(shù)棠涮、月均活躍天數(shù)、總活躍天數(shù)刺覆;
單次使用定位頻率(均值)严肪;
單次使用實(shí)時(shí)路況頻率(均值)
C、時(shí)長(zhǎng)與實(shí)效:
單次均使用時(shí)長(zhǎng)谦屑、日均使用時(shí)長(zhǎng)驳糯、周均使用時(shí)長(zhǎng)、月均使用時(shí)長(zhǎng)氢橙;
單次均駕車導(dǎo)航時(shí)長(zhǎng)酝枢、日均駕車導(dǎo)航時(shí)長(zhǎng)、周均駕車導(dǎo)航時(shí)長(zhǎng)悍手、月均駕車導(dǎo)航時(shí)長(zhǎng)帘睦、正常結(jié)束駕車導(dǎo)航次數(shù)、中途結(jié)束駕車導(dǎo)航次數(shù)坦康、總駕車導(dǎo)航次數(shù)竣付;
單次均步行導(dǎo)航時(shí)長(zhǎng)、日均步行導(dǎo)航時(shí)長(zhǎng)滞欠、周均步行導(dǎo)航時(shí)長(zhǎng)古胆、月均步行導(dǎo)航時(shí)長(zhǎng)、總步行導(dǎo)航次數(shù)
D筛璧、距離與速度:
活躍半徑(均值)赤兴;
單次均駕車導(dǎo)航距離、日均駕車導(dǎo)航距離隧哮、周均駕車導(dǎo)航距離、月均駕車導(dǎo)航距離座舍;
單次均駕車導(dǎo)航速度沮翔、日均駕車導(dǎo)航速度、周均駕車導(dǎo)航速度、月均駕車導(dǎo)航速度采蚀;
單次均步行導(dǎo)航距離疲牵、日均步行導(dǎo)航距離、周均步行導(dǎo)航距離榆鼠、月均步行導(dǎo)航距離纲爸;
單次均步行導(dǎo)航速度、日均步行導(dǎo)航速度妆够、周均步行導(dǎo)航速度识啦、月均步行導(dǎo)航速度
E、其他(針對(duì)開(kāi)放平臺(tái)):
搜索次數(shù)神妹、搜索駕車類別次數(shù)颓哮、搜索公交(地鐵)類別次數(shù);
駕車服務(wù)請(qǐng)求次數(shù)鸵荠、駕車服務(wù)活躍天數(shù)冕茅、駕車服務(wù)App數(shù);
公交服務(wù)請(qǐng)求次數(shù)蛹找、公交服務(wù)活躍天數(shù)姨伤、公交服務(wù)App數(shù);
步行服務(wù)請(qǐng)求次數(shù)庸疾、步行服務(wù)活躍天數(shù)乍楚、步行服務(wù)App數(shù);
交通地圖請(qǐng)求次數(shù)彼硫、交通地圖活躍天數(shù)炊豪、交通地圖App數(shù);
定位服務(wù)請(qǐng)求次數(shù)拧篮、定位服務(wù)活躍天數(shù)词渤、定位服務(wù)App數(shù)
以上**65個(gè)特征**為與**出行偏好**相關(guān)的直接特征,而**間接特征**可以從直接特征或者各種數(shù)據(jù)組合里計(jì)算推導(dǎo)出來(lái)串绩,期間會(huì)用到一些機(jī)器學(xué)習(xí)技術(shù)或統(tǒng)計(jì)規(guī)則(如性別職業(yè)等特征)缺虐。
**2、特征處理與分析:**
A礁凡、歸一離散缺省值
- **歸一化** 為了解決不同特征具有不同取值范圍問(wèn)題高氮,需要進(jìn)行特征歸一化,將有量綱度量變換為無(wú)量綱度量顷牌,即統(tǒng)一度量衡(類似線性模型或距離相關(guān)模型如聚類剪芍、KNN等,特征的取值范圍會(huì)對(duì)最終結(jié)果產(chǎn)生非常大影響窟蓝,因?yàn)?*模型會(huì)更偏向于取值范圍較大的特征**)罪裹。其中主要的方法包括:**a. 函數(shù)歸一化:**單位長(zhǎng)度向量、Min-Max、Log函數(shù)状共;**b. 統(tǒng)計(jì)歸一化:**正態(tài)分布Z-score套耕、泊松分布。
- **離散化** 對(duì)連續(xù)值特征進(jìn)行離散化處理峡继,主要包括
a. 等值劃分:將特征按照值域進(jìn)行均分冯袍,每一段內(nèi)的取值等同處理;
b. 等量劃分:根據(jù)樣本總數(shù)進(jìn)行均分碾牌,每段等量個(gè)樣本劃分為一段康愤;
c. 分布劃分:根據(jù)特征值進(jìn)行聚類分析形成多個(gè)簇,每個(gè)簇劃分為一段小染。
另外翘瓮,離散化還有增加系統(tǒng)抗噪聲的能力。
- **缺省值** 某些特征可能因?yàn)闊o(wú)法采樣或者沒(méi)有觀測(cè)值而缺失裤翩,此時(shí)需要做特殊處理资盅,賦予一個(gè)缺省值。主要包括:0默認(rèn)踊赠、眾數(shù)呵扛,平均值等填充。
B筐带、特征降維
機(jī)器學(xué)習(xí)中VC維理論:VC維越高今穿,打散能力越強(qiáng),可容許的模型復(fù)雜度越高伦籍,而維度越高蓝晒,就會(huì)帶來(lái)非常經(jīng)典的**維度災(zāi)難**問(wèn)題,因此要進(jìn)行特征降維帖鸦。
其意義在于:
a. 特征維數(shù)越高芝薇,模型越容易過(guò)擬合,此時(shí)更復(fù)雜的模型就不好用了作儿。
b. 相互獨(dú)立的特征維數(shù)越高洛二,在模型不變的情況下,在測(cè)試集上達(dá)到相同的效果所需要的訓(xùn)練樣本的數(shù)目就越大攻锰。
c. 特征數(shù)量增加帶來(lái)的訓(xùn)練晾嘶、測(cè)試以及存儲(chǔ)的開(kāi)銷都會(huì)增大。
d. 在某些模型中娶吞,如KMeans垒迂,KNN等模型,距離計(jì)算時(shí)妒蛇,維度過(guò)高會(huì)影響模型的精度和性能娇斑。
e.? 可視化分析策添,低維能可視化地看到數(shù)據(jù),高維難以繪制了毫缆。
主要包括:**a. 線性降維方法:**PCA、LDA乐导、MDS苦丁;**b. 非線性降維方法:**流形學(xué)習(xí)、等距特征映射物臂、局部線性嵌入等旺拉。
C、特征選擇
**方法**
a. 完全搜索:廣度優(yōu)先搜索棵磷、分支限界搜索蛾狗、定向搜索、最優(yōu)優(yōu)先搜索
b. 啟發(fā)式搜索:序列前向選擇仪媒、序列后向選擇沉桌、雙向搜索、增L去R算吩、序列浮動(dòng)選擇留凭、決策樹(shù)
c. 隨機(jī)搜索:隨機(jī)產(chǎn)生序列、模擬退火算法偎巢、遺傳算法
**有效性分析**
Filter:相關(guān)性蔼夜、距離、信息增益压昼、一致性
Wrapper:分類器錯(cuò)誤率
機(jī)器學(xué)習(xí)任務(wù)中求冷,70%的效果由特征帶來(lái)的,進(jìn)行完特征工程之后窍霞,就該是模型的選擇及驗(yàn)證相關(guān)了匠题。
****
**五、模型選擇**
出行偏好屬于分類問(wèn)題官撼,常用的分類模型包括決策樹(shù)梧躺、隨機(jī)森林、GBDT傲绣、貝葉斯掠哥、邏輯回歸、分片線性模型MLR秃诵、支持向量機(jī)等
1续搀、訓(xùn)練數(shù)據(jù)
注意點(diǎn):
a. 與待解決問(wèn)題的數(shù)據(jù)本身分布盡量一致;
b. 訓(xùn)練集/測(cè)試集分布與線上預(yù)測(cè)環(huán)境數(shù)據(jù)分布盡可能一致菠净,這里分布指 (x,y) 的分布禁舷,不僅僅指 y 的分布彪杉;
c. y 數(shù)據(jù)噪音盡可能小,盡量剔除y有噪音的數(shù)據(jù)牵咙;
d. 非必要不做采樣派近,采樣可能使實(shí)際數(shù)據(jù)分布發(fā)生變化,但若據(jù)太大無(wú)法訓(xùn)練或者正負(fù)比例嚴(yán)重失調(diào)(如超過(guò)100:1),則需采樣解決洁桌。
出行偏好訓(xùn)練樣本集的選擇可從兩方面入手:
a. 車系車住渴丸、交通強(qiáng)制險(xiǎn)等獲得正樣本集,通過(guò)規(guī)則過(guò)濾出負(fù)樣本集另凌;
b. **正樣本:**前3個(gè)月(或6個(gè)月)有相應(yīng)行為谱轨,最后1個(gè)月(或2個(gè)月)有相應(yīng)行為;
**負(fù)樣本:**前3個(gè)月(或6個(gè)月)有相應(yīng)行為吠谢,最后1個(gè)月(或2個(gè)月)無(wú)相應(yīng)行為土童;
2、模型比較
樣本選擇方法的區(qū)別:
第一種方法工坊,在得出出行特征后献汗,直接套用分類模型,然后驗(yàn)證即可栅组;
第二種方法雀瓢,基于用戶**過(guò)去3個(gè)月(或6個(gè)月)歷史數(shù)據(jù)**預(yù)測(cè)**下1個(gè)月(或2個(gè)月)**相應(yīng)的行為
出行偏好挖掘目標(biāo)在于確定交通方式的**權(quán)重**,最直觀上就是貝葉斯玉掸、邏輯回歸及支持向量機(jī)等刃麸。基于以下幾個(gè)方面的分析司浪,更**傾向于采用邏輯回歸模型**:
1泊业、邏輯回歸Sigmoid函數(shù)是一個(gè)S形的曲線,它的取值在[0, 1]之間啊易,在遠(yuǎn)離0的地方函數(shù)的值會(huì)很快接近0/1吁伺,這個(gè)性質(zhì)天生地適合以概率的方式來(lái)解釋;
2篮奄、屬于**判別模型的邏輯回歸**與**生成模型的高斯貝葉斯**在假設(shè)P(x|y)服從高斯分布割去,P(y)服從多項(xiàng)式分布時(shí)會(huì)學(xué)習(xí)到同一個(gè)模型呻逆;
3、其決策函數(shù)選擇0.5作為閾值屬于一般的做法茬腿,實(shí)際應(yīng)用時(shí)經(jīng)常**根據(jù)情況選擇不同的閾值**,如果對(duì)正例的判別準(zhǔn)確性要求高握础,可以選擇較大閾值揭绑,若要求正例的召回要求高他匪,則可以選擇較小閾值邦蜜,當(dāng)然悼沈,支持向量機(jī)也支持這樣的特征姐扮;
4、根據(jù)特征的復(fù)雜度壤靶,可以現(xiàn)在可以選擇
5贮乳、與決策樹(shù)恬惯、樸素貝葉斯酪耳、支持向量機(jī)一樣,邏輯回歸也能進(jìn)行多分類颈将;
6讹堤、根據(jù)特征可以選擇簡(jiǎn)單的邏輯回歸洲守,也可以選擇復(fù)雜的分片線性模型MLR(參見(jiàn)ATATech:海量數(shù)據(jù)下的非線性模型探索);
另外撒蟀,當(dāng)模型的參數(shù)過(guò)多時(shí),很容易導(dǎo)致過(guò)擬合保屯,需要在優(yōu)化目標(biāo)中加入正則項(xiàng)姑尺,通過(guò)懲罰過(guò)大的參數(shù)來(lái)防止過(guò)擬合切蟋。
****
**六柄粹、驗(yàn)證方式**
1匆绣、Precision-Recall 評(píng)估模型
2崎淳、ROC 評(píng)估模型
3、AUC 評(píng)估模型
****
**七茵瘾、其他**
1拗秘、搜索特征提取可利用Word2Vec來(lái)判斷Query是否屬于某一類祈惶;
2、產(chǎn)品的迭代很大程度上會(huì)引起用戶行為的變化凡涩,必然導(dǎo)致特征的變化活箕,因此應(yīng)引入特征監(jiān)控以在發(fā)現(xiàn)特征異常時(shí)可款,及時(shí)采取措施;當(dāng)然還有模型監(jiān)控埃叭。