[黃良發(fā) 馬怡偉]
機器學(xué)習(xí)在構(gòu)建移動終端用戶興趣模型的應(yīng)用研究
[黃良發(fā) 馬怡偉]
移動終端 機器學(xué)習(xí) 用戶興趣模型
黃良發(fā)
就讀于重慶郵電大學(xué),碩士,研究方向為智能終端技術(shù)與應(yīng)用。
馬怡偉
奇酷互聯(lián)網(wǎng)絡(luò)科技(深圳)有限公司,高級工程師,從事智能終端的研發(fā)及管理工作。
隨著移動通信技術(shù)的發(fā)展,智能手機等移動終端設(shè)備成為人們獲取信息的主要載體。如何準(zhǔn)確分析移動用戶使用手機行為的關(guān)鍵特征,為用戶提供更加精準(zhǔn)的服務(wù),是當(dāng)下的互聯(lián)網(wǎng)經(jīng)濟的研究熱點。另一方面,機器學(xué)習(xí)技術(shù)在各個領(lǐng)域都得到了快速的發(fā)展。因而基于移動終端上的海量數(shù)據(jù),研究利用機器學(xué)習(xí)構(gòu)建移動終端的用戶興趣模型,對構(gòu)建用戶畫像、提高移動推薦系統(tǒng)的準(zhǔn)確性具有較高的實用價值。
機器學(xué)習(xí)最早可以追溯到對人工神經(jīng)網(wǎng)絡(luò)的研究。1943年Warren McCulloch和Walter Pitts 提出了神經(jīng)網(wǎng)絡(luò)層次結(jié)構(gòu)模型,確立為神經(jīng)網(wǎng)絡(luò)的計算模型理論,從而為機器學(xué)習(xí)的發(fā)展奠定了基礎(chǔ)。 1950 年,“人工智能之父”圖靈提出了著名的“圖靈測試”,使人工智能成為了計算機科學(xué)領(lǐng)域一個重要的研究課題[1]。機器學(xué)習(xí)是一門致力于研究如何通過計算的手段,利用經(jīng)驗來改善系統(tǒng)自身的性能的學(xué)科。今天,機器學(xué)習(xí)已經(jīng)與普通人的生活密切相關(guān)。例如在天氣預(yù)報等方面,有效地利用機器學(xué)習(xí)技術(shù)對衛(wèi)星回傳的數(shù)據(jù)進行分析,是提高預(yù)報和準(zhǔn)確性的重要途徑;在商業(yè)應(yīng)用領(lǐng)域,有效地利用機器學(xué)習(xí)技術(shù)對垃圾信息進行過濾,能夠改善產(chǎn)品,提升用戶體驗。
機器學(xué)習(xí)一般分為監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)兩大類。監(jiān)督學(xué)習(xí)利用已有標(biāo)簽的數(shù)據(jù)作為最終的學(xué)習(xí)目的,它的數(shù)據(jù)集包含初始訓(xùn)練數(shù)據(jù)和人為標(biāo)注數(shù)據(jù),希望根據(jù)標(biāo)注特征從訓(xùn)練集中學(xué)習(xí)到對象劃分的模型,并利用該模型在預(yù)測數(shù)據(jù)中預(yù)測結(jié)果,輸出標(biāo)記信息的數(shù)據(jù)。因此,監(jiān)督學(xué)習(xí)的根本目標(biāo)是是訓(xùn)練機器學(xué)習(xí)的泛化能力。監(jiān)督學(xué)習(xí)的典型算法有:邏輯回歸、樸素貝葉斯、卷積神經(jīng)網(wǎng)絡(luò)等;典型應(yīng)用有:回歸分析、任務(wù)分類等;在無監(jiān)督學(xué)習(xí)中,其訓(xùn)練樣本的標(biāo)記信息是未知的,目標(biāo)是通過對無標(biāo)記訓(xùn)練樣本的學(xué)習(xí)揭示數(shù)據(jù)的內(nèi)在性質(zhì)及規(guī)律,為進一步的數(shù)據(jù)分析提供基礎(chǔ)[2]。因此,無監(jiān)督學(xué)習(xí)的根本目標(biāo)是在學(xué)習(xí)過程中根據(jù)相似性原理進行區(qū)分。無監(jiān)督學(xué)習(xí)的典型算法有k-means聚類、高斯混合聚類、深度置信網(wǎng)絡(luò)等; 典型應(yīng)用有:聚類和異常檢測等。
用戶興趣模型是個性化推薦系統(tǒng)的基礎(chǔ),它不僅僅是對于用戶興趣的準(zhǔn)確描述,更是指從有關(guān)用戶興趣和行為的信息中歸納出可計算的用戶模型的過程[3]。
用戶興趣建模一般包括兩方面內(nèi)容:通過記錄和分析用戶行為及用戶反饋等收集用戶信息并從中挖掘用戶興趣; 用合適方法表示用戶興趣,即建立用戶興趣模型,并隨用戶興趣變化動態(tài)更新用戶興趣模型[4]。 其一般流程如圖1。
圖1 用戶興趣建模流程
目前,用戶在移動終端設(shè)備上的行為主要反映在對各種App的使用上,比如人們購物會使用專門的購物類App,聊天時會使用專門的社交類App等。因此,通過研究App的使用行為,便能夠準(zhǔn)確的反映該用戶的興趣所在。
3.1 數(shù)據(jù)預(yù)處理。
由于數(shù)據(jù)的獲取來源多異,數(shù)據(jù)結(jié)構(gòu)如圖2。導(dǎo)致收集的數(shù)據(jù)含有雜亂無用的信息,需要預(yù)先進行處理。主要分為三種類型:(1)設(shè)置、桌面,手電筒等系統(tǒng)預(yù)裝應(yīng)用,不能反映該用戶的興趣所在,需要過濾掉該部分信息;(2)對于一些非常熱門的App,如微信,支付寶等,由于每個用戶都會使用,因此通過這些應(yīng)用不能反映出用戶的興趣所在,也需要過濾掉;(3)針對原始數(shù)據(jù)的確實值,如果直接丟棄掉將會減少樣本,因此我們通過統(tǒng)計該值所在的特征值的均值,然后用該均值填充丟失的值的方法處理缺失值。
圖2 數(shù)據(jù)結(jié)構(gòu)
3.2 特征提取
特征提取是從特征集合中挑選一組最具統(tǒng)計意義的特征,以達到減少數(shù)據(jù)存儲和減少冗余的目的。由于各大應(yīng)用商店上都有成千上萬種應(yīng)用,如果對每個應(yīng)用都提取特征值,這將顯得該特征矩陣相當(dāng)龐大。因此,首先需要對每個應(yīng)用進行分類映射。例如,通過對應(yīng)用分類,把應(yīng)用劃分為社交,交通類等。通過該方法,能給對應(yīng)的用戶打上對應(yīng)的標(biāo)簽。為了平衡取值范圍不一致的特征,需要對特征進行歸一化處理,將特征取值歸一化到[0,1]區(qū)間。常用的歸一化方法包括(1)函數(shù)歸一化,通過映射函數(shù)將特征取值映射到[0,1]區(qū)間,例如最大最小值歸一化方法,是一種線性的映射;(2)分維度歸一化,可以使用最大最小歸一化方法,但是最大最小值選取的是所屬類別的最大最小值,即使用的是局部最大最小值,不是全局的最大最小值。(3)排序歸一化,不管原來的特征取值是什么樣的,將特征按大小排序,根據(jù)特征所對應(yīng)的序給予一個新的值。為了便于表示和在模型中處理,需要對連續(xù)值特征進行離散化處理。常用的離散化方法包括等值劃分和等量劃分。等值劃分是將特征按照值域進行均分,每一段內(nèi)的取值等同處理。例如某個特征的取值范圍為[0,10],我們可以將其劃分為10段,[0,1),[1,2),...[9,10)。為了選取出真正相關(guān)的特征,主要分為‘子集搜索’和‘子集評價’兩個環(huán)節(jié)?!蛹阉鳌墙o定特征集合,我們可將每個特征看作一個候選子集,對這d個候選單例特征子集進行評價,假定最優(yōu),于是將作為第一輪的選定集;然后,在上一輪的選定集中加入一個特征,構(gòu)成包含兩個特征的候選子集,假定在d-1個候選集中最優(yōu),且優(yōu)于,于是將作為本輪的選定集。假定經(jīng)過第k+1輪時,最優(yōu)的候選(k+1)特征子集不如上一輪的選定集,則停止生成候選子集,并將上一輪選定的k特征集合作為特征選擇結(jié)果?!蛹u價’是對特征子集進行評價,通過計算屬性子集A的信息增益,其中信息熵定義為,信息增益,意味著對應(yīng)特征子集A包含的分類信息越大,于是,對每個候選特征子集,將特征子集搜索和子集評價機制相結(jié)合,即可得到特征提取的方法[2],見表1 。
表1 類別映射表
3.3 算法選擇
為了得出用戶的興趣模型,本模型采用基于聚類的分類學(xué)習(xí)算法。
首先,根據(jù)聚類結(jié)果將每個簇定義為一個類,然后再基于這些類訓(xùn)練分類模型,判別新用戶的類型。主要采用的是k-means算法。給定樣本集D=,該算法針對聚類所得簇劃分C=,最小化平方誤差,其中是簇[2]。
在聚類的基礎(chǔ)上采用的是監(jiān)督學(xué)習(xí)算法。決策樹是一類常用的機器學(xué)習(xí)方法,決策樹計算復(fù)雜度不高、便于使用、而且高效,決策樹可處理具有不相關(guān)特征的數(shù)據(jù)、可很容易地構(gòu)造出易于理解的規(guī)則。一般的,一顆決策樹包含一個根結(jié)點,若干個內(nèi)部結(jié)點和若干個葉結(jié)點;葉節(jié)點對應(yīng)于決策結(jié)果,其他每個結(jié)點對應(yīng)于一個屬性測試;每個結(jié)點包含的樣本集合根據(jù)屬性測試的結(jié)果被劃分到子結(jié)點中;根節(jié)點包含樣本全集,從根節(jié)點到每個葉節(jié)點的路徑對應(yīng)了一個判定測試序列。決策樹最優(yōu)劃分屬性時,有多種選擇方式,其中ID3 決策樹算法是以信息增益來進行決策樹的劃分屬性選擇。但以信息增益進行分類決策時,存在偏向于取值較多的特征的問題。為了解決這個問題,在該模型中,采用的CART決策樹,區(qū)別就在于選取決斷特征時選擇信息增益比最大的。
3.4 模型評估
主要根據(jù)樣本數(shù)據(jù),模型結(jié)果反饋數(shù)據(jù)進行模型評估。比如通過精確率。精確度是分類正確的樣本數(shù)占樣本總數(shù)的比例。對于樣例集D,精度定義為
在應(yīng)用中,我們結(jié)合交叉驗證法,既先將數(shù)據(jù)集D劃分成k個大小相似的互斥子集,然后每次用k-1個子集的并集作為訓(xùn)練集,余下的那個子集作為測試集,進行k次訓(xùn)練和測試,用于評估結(jié)果的穩(wěn)定性和保真性。經(jīng)實驗證明,該模型的準(zhǔn)確度達到86%左右,如圖3。
圖3模型評估
3.5 模型優(yōu)化
模型初步構(gòu)建完成后,并不意味著一勞永逸,因為用戶的興趣經(jīng)常隨著時間發(fā)生變化[5]。因此,每個構(gòu)建的模型都有一定的時效性。一種方法是為一個用戶同時建立長期興趣和短期興趣模型,其核心就是處理好用戶的兩類興趣,即用戶的長期興趣和用的短期興趣。混合興趣模型依靠用戶的歷史數(shù)據(jù)來挖掘用戶穩(wěn)定的、波動范圍小的長期興趣,依靠最近的數(shù)據(jù)挖掘用戶個性化的、波動范圍大的短期興趣;另一種是采用窗口法,針對用戶最近一段時間的信息進行建模。因為用戶最后行為的觀察能更準(zhǔn)確地反映出用戶當(dāng)前的興趣[7]。因此,對用戶興趣進行建模時只需要考慮用戶最近一段時間內(nèi)的數(shù)據(jù)記錄。
本文討論了數(shù)據(jù)預(yù)處理、選擇特征值以及如何優(yōu)化用戶興趣模型等機器學(xué)習(xí)在移動終端用戶興趣模型中的應(yīng)用,它能夠減少業(yè)務(wù)人員手工標(biāo)記,標(biāo)準(zhǔn)難統(tǒng)一的問題,同時利用大數(shù)據(jù)平臺,使得機器學(xué)習(xí)在研究移動終端興趣模型上有更大的發(fā)展。
關(guān)于移動終端用戶興趣模型和移動上下文信息的結(jié)合,將是下一步研究工作重點。
1張潤,王永濱.機器學(xué)習(xí)及其算法和發(fā)展研究[J].中國傳媒大學(xué)學(xué)報(自然科學(xué)版),23(2):10-18,24
2周志華.機器學(xué)習(xí).北京.清華大學(xué)出版社,2016.2
3孟祥武,胡勛,王立才等.移動推薦系統(tǒng)及其應(yīng)用[J].軟件學(xué)報,2013,24(1):91-108
4尹春暉.面向個性化信息檢索的用戶興趣建模研究與實現(xiàn)[D].蘇州:蘇州大學(xué),2008
5楊李婷,陳翰雄.用戶興趣建模綜述[J].軟件導(dǎo)刊,2015,10:20-23
6Billsusd,pazzanimj.A hybrid classifi- cation model[C].kayj.(ed.),proceedings of the seventh international-conference on user modeling(UM 99),Spring-Verlag.1999:99-108
7Widmer G,Kubat M.Learning in the presence of concept drift and hidden contexts[J].Machine Learning,2013,23(1):69-101
10.3969/j.issn.1006-6403.2016.09.001
2016-08-24)
目前,機器學(xué)習(xí)已在各個領(lǐng)域得到了大量的應(yīng)用,因此研究機器學(xué)習(xí)在移動終端用戶興趣模型的應(yīng)用也顯得有必要。文章對機器學(xué)習(xí)進行了介紹,重點分析了機器學(xué)習(xí)算法在構(gòu)建移動終端興趣模型時的應(yīng)用,并對目前應(yīng)用中如何進行數(shù)據(jù)預(yù)處理、選擇特征值以及如何優(yōu)化用戶興趣模型進行了討論。