亚洲精华国产精华精华液网站,你懂的,娇生惯养4ph归寻(矜以),丰年经继拇中文3与其他教材比较

技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 基于用戶特征聚類聯(lián)合情境特征的多維度應(yīng)用推薦系統(tǒng)

基于用戶特征聚類聯(lián)合情境特征的多維度應(yīng)用推薦系統(tǒng)

時間:2021-08-11 23:52:36來源:

導(dǎo)語:?隨著移動設(shè)備的普及、同時大數(shù)據(jù)時代數(shù)據(jù)過載問題的日益嚴重,如何更準確地根據(jù)用戶的興趣及行為向用戶推薦其可能感興趣的應(yīng)用軟件成為亟待解決的問題。現(xiàn)有的推薦系統(tǒng)方法大多面臨著推薦內(nèi)容較為單一乏味等問題,且在推薦時沒有將用戶所處情境加以考慮,導(dǎo)致推薦效果欠佳。該文提出一種基于用戶特征聚類聯(lián)合情境特征的多維度應(yīng)用推薦系統(tǒng)。經(jīng)奇異值分解降維并去噪后的用戶特征數(shù)據(jù)會被層次聚類為多個用戶組,之后與用戶所處情境信息聯(lián)合輸入至貝葉斯模型,得到應(yīng)用推薦準確概率的降序推薦列表, 從而實現(xiàn)更加準確的應(yīng)用推薦。該文在分布式框架下實現(xiàn)了所提出的推薦系統(tǒng),使其運行高效可靠。經(jīng)驗證,經(jīng)過奇異值分解處理后的數(shù)據(jù)組內(nèi)平均差值降低至 0.4,聚類后得到的應(yīng)用推薦召回率提升至 73%,較基于用戶協(xié)同過濾與基于關(guān)聯(lián)規(guī)則的方法有 5% ~ 16%的顯著提升,且貝葉斯模型的量化指標均有約 10% 的提升,充分驗證了所提出算法及系統(tǒng)的有效性。

      1 引言

  隨著數(shù)字時代的到來以及智能移動設(shè)備的廣泛應(yīng)用,人們可獲取的信息量急劇增多,信息過載問題也因此變得日趨嚴重。為應(yīng)對信息過載帶來的弊端,將真正有用的信息以個性化的形式推薦給用戶,推薦系統(tǒng)成為解決信息過載問題的有力工具之一, 其應(yīng)用也變得愈發(fā)廣泛,且受到了眾多的關(guān)注和研究。面對海量的信息,推薦系統(tǒng)可以根據(jù)用戶的信息需求、興趣愛好等,將用戶可能感興趣的信息、產(chǎn)品等進行個性化推薦。與傳統(tǒng)的搜索引擎相比,推薦系統(tǒng)可以通過收集用戶的興趣偏好,進行個性化的學(xué)習(xí),從而自動化地發(fā)現(xiàn)用戶的興趣點,無需用戶人為輸入其興趣點。這使得推薦系統(tǒng)在引導(dǎo)用戶發(fā)現(xiàn)其信息需求的同時更加簡潔易用。

  雖然經(jīng)過了長期的發(fā)展與演化,但推薦系統(tǒng)算法仍存在一些不足。例如,有限的數(shù)據(jù)收集能力無法應(yīng)對當(dāng)前海量的信息,以及數(shù)據(jù)收集過程較差的連續(xù)性造成較嚴重的數(shù)據(jù)稀疏性等問題。這勢必會給推薦系統(tǒng)算法對用戶行為的分析、用戶興趣的挖掘帶來困難。同時,現(xiàn)有的絕大多數(shù)推薦系統(tǒng)算法著重于對用戶和所推薦的商品屬性進行分析并輔助推薦,在推薦過程中往往缺失對用戶所處情境的考慮,如用戶上一個瀏覽的應(yīng)用類型、用戶在某類應(yīng)用中的啟動次數(shù)、停留時間等,從而使得推薦系統(tǒng)的推薦效果欠佳。此外,推薦系統(tǒng)算法還面臨著推薦同質(zhì)化的問題。絕大多數(shù)的推薦系統(tǒng)更善于推薦與用戶歷史興趣相似的資源,推薦的內(nèi)容缺乏新穎性,同類資源的重復(fù)推薦無法引導(dǎo)用戶發(fā)現(xiàn)更多新的潛在興趣點,從而使得推薦系統(tǒng)存在較大的局限性,其推薦準確性也因此而受損。

  針對上述推薦系統(tǒng)面臨的局限性,以及推薦過程中對用戶自身所處情境考慮的缺失,本文旨在對傳統(tǒng)推薦系統(tǒng)算法做進一步優(yōu)化,提出基于用戶特征聚類聯(lián)合場景特征的多維度應(yīng)用推薦系統(tǒng)。該推薦系統(tǒng)將根據(jù)不同用戶群體、不同應(yīng)用軟件特征以及用戶所處情境信息為用戶進行個性化的應(yīng)用程序推薦。具體地,首先對用戶群體的特征矩陣進行奇異值分解 (Singular Value Decomposition) 操作,得到降維并且去噪的用戶向量表示。其中, 對用戶群體特征進行的奇異值分解可以去除數(shù)據(jù)中重要性較低的成分,從而對用戶特征的表示進行精簡。同時,這種精簡同樣可以使得所提出推薦系統(tǒng)的運行更加高效。其次,對用戶群體的特征向量進行層次聚類分析,從而將具有相似用戶特征的用戶聚類, 并利用各用戶類的均值向量作為其特征表示。在此基礎(chǔ)上,算法結(jié)合用戶所處情境因素,以用戶為出發(fā)點、情境為補充,依據(jù)貝葉斯模型預(yù)測最佳的應(yīng)用推薦列表,從而實現(xiàn)為用戶進行更為優(yōu)化的應(yīng)用軟件推薦,提高用戶對海量信息的使用精準度與使用效率。

  在推薦系統(tǒng)運行性能及拓展性能方面,為滿足推薦系統(tǒng)的高并發(fā)處理海量數(shù)據(jù)的需求,本文使用分布式集群服務(wù)器運行所提出的系統(tǒng),使得數(shù)據(jù)存儲、模型運算等方面的性能有了極大提升。此外,計算集群使得本文推薦系統(tǒng)具備良好的拓展性,對推薦系統(tǒng)在運行中的穩(wěn)定性起到了重要的作用。

  為驗證所提出算法的有效性,本文將所提出的基于奇異值分解的用戶特征層次聚類結(jié)合情境特征信息,并利用貝葉斯模型的推薦系統(tǒng)算法與傳統(tǒng)的推薦系統(tǒng)算法進行推薦質(zhì)量及模型量化指標的效果對比,從而驗證系統(tǒng)的有效性與優(yōu)勢。

  本文將在第 2 小節(jié)介紹所涉及算法的相關(guān)理論研究;第 3 小節(jié)陳述所提出算法的細節(jié)以及其在現(xiàn)有研究基礎(chǔ)上的創(chuàng)新性; 第 4 小節(jié)介紹推薦系統(tǒng)的架構(gòu)與具體實現(xiàn);第 5 小節(jié)展示本文推薦系統(tǒng)的實驗驗證結(jié)果;最后小節(jié)對本文進行概括與總結(jié)。

  2 算法介紹及相關(guān)理論研究

  2.1 聚類算法在推薦系統(tǒng)中的應(yīng)用

  聚類算法是一種探索性的分析方法,在聚類過程中,無需事先給出聚類的具體標準。聚類算法能夠從樣本數(shù)據(jù)出發(fā),自動發(fā)現(xiàn)空間實體的屬性間所具有的關(guān)聯(lián)關(guān)系并進行聚類,從而將本身沒有類別的樣本聚集成不同的類 ( 簇),其目的在于使屬于同一個類的樣本之間能夠彼此相似,而屬于不同類的樣本之間在特征上應(yīng)該足夠疏遠。同時,聚類算法對大型數(shù)據(jù)集具有良好的可拓展性,這對于數(shù)據(jù)需求量大的推薦系統(tǒng)而言是極其適用的。此外,聚類結(jié)果的可解釋性以及運行的高效性也為其能夠應(yīng)用在推薦系統(tǒng)中打下了良好的基礎(chǔ)。Shinde 和 Kulkarni 提出了基于用戶評價聚類的個性化推薦系統(tǒng)算法。該算法首先將用戶根據(jù)其對商品的評價進行分類,之后,對商品具有類似評價、類似興趣與偏好的用戶組進行個性化的商品推薦,從而使得推薦系統(tǒng)的推薦更加精準。經(jīng)過驗證,聚類算法有效地提升了推薦系統(tǒng)對于商品的推薦質(zhì)量。Hsu 則在為學(xué)生推薦英語學(xué)習(xí)課程的推薦系統(tǒng)中運用聚類算法,先將具有不同學(xué)習(xí)行為習(xí)慣的學(xué)生聚類為不同的學(xué)生組,隨后優(yōu)化推薦系統(tǒng)算法,為具有不同學(xué)習(xí)習(xí)慣的學(xué)生組推薦適合他們的英語課程,從而使得推薦系統(tǒng)更加人性化。

  然而,上述聚類算法應(yīng)用于推薦系統(tǒng)中的工作時,存在兩個缺點。首先,這些方法均未在聚類前使用矩陣分解的方法對用戶特征信息進行降維并去噪,這使得特征信息中不僅存在冗余以及表示能力弱的特征,而且具有較高的維度,從而損害推薦系統(tǒng)的運行效率。其次,這些方法并未充分利用用戶自身所處的情境信息,使得推薦系統(tǒng)在進行推薦時具有局限性。

  2.2 情境信息在推薦系統(tǒng)中的應(yīng)用

  情境信息可以輔助推薦系統(tǒng)分析用戶的背景、興趣愛好等個性化信息。在推薦系統(tǒng)模型中,情境可以是用戶打開某類應(yīng)用的次數(shù)、用戶在某類應(yīng)用中的停留時長以及用戶上一個使用的應(yīng)用種類等能夠反映用戶決策的額外信息。例如,通過用戶上一個使用的應(yīng)用可以輔助預(yù)測用戶下一個可能會使用的應(yīng)用,通過實時地獲取用戶所處的情境信息,進而在原有用戶數(shù)據(jù)和應(yīng)用數(shù)據(jù)的基礎(chǔ)上,更為人性化、智能化地分析用戶的信息需求,從而提高應(yīng)用推薦的效果。

  然而,當(dāng)前基于情境因素的推薦系統(tǒng)算法均利用用戶情境信息來分析所推薦產(chǎn)品的特征,而并非對用戶自身喜好特征進行分析。Hu 等在為用戶推薦電視節(jié)目的推薦系統(tǒng)中借助了用戶瀏覽歷史、購買歷史、搜索歷史甚至是用戶鼠標移動等用戶情境信息,對電視節(jié)目特征進行分析,并將電視節(jié)目更好地推薦給用戶。而Abbas 等則利用 YouTube 視頻的用戶評分與評價信息,獲得對視頻更好的特征分析與定位,從而輔助推薦系統(tǒng)為用戶推薦更加準確、合適的 YouTube 視頻。

  然而,上述算法均利用用戶情境信息分析產(chǎn)品的特征,而現(xiàn)有的推薦系統(tǒng)算法較少有利用用戶情境信息對用戶喜好進行分析。此外,用戶評分、評價等信息不僅需要用戶的額外參與,而且不同用戶擁有不同的評分、評價標準,這導(dǎo)致此類用戶情境信息收集困難,且利用難度大,從而對推薦系統(tǒng)的推薦效果產(chǎn)生影響。

  3 算法設(shè)計

  為了更加準確高效地為用戶進行應(yīng)用推薦,本文提出了基于用戶特征聚類聯(lián)合情境特征的多維度推薦系統(tǒng)。首先,對用戶特征進行奇異值分解;然后,對分解后的用戶特征進行層次聚類操作,并用每一個用戶類的均值向量作為代表該類用戶的特征信息; 最后,結(jié)合用戶所處情境信息,利用貝葉斯模型,對用戶可能感興趣的應(yīng)用進行預(yù)測并按照概率降序排序,形成應(yīng)用推薦列表。

  用戶 - 特征矩陣 M 示意圖.jpg

  圖 1 用戶 - 特征矩陣 M 示意圖

  3.1 用戶特征奇異值分解

  首先,推薦系統(tǒng)所需的用戶特征將以矩陣形式進行初始化。每一個用戶都使用 T 維的向量表示該用戶的 T 個特征 (A1 - AT),如年齡、性別、愛好、所在地區(qū)等。因此,N 個用戶 (U1 - UN) 將構(gòu)成一個 N 行T 列的用戶特征矩陣,如圖 1 所示。

  然而,對于表示用戶特征的 T 個特征維度而言,并非每個特征維度都能有效地用來表示用戶信息,其中部分特征包含噪聲、或是大量的冗余信息,從而使得其不具備良好的表示能力。同時, 不同特征也擁有不同的重要程度,并非所有的特征維度在表示用戶時都具有相同的重要程度。此外,初始時的特征維度 T 可能較大,從而造成用戶特征矩陣維度較高,若直接將龐大的用戶特征矩陣輸入至推薦系統(tǒng)算法,將使得算法運行效率較低。為解決上述問題,本文算法使用奇異值分解算法對用戶特征矩陣進行分解, 從而達到降維和去噪的效果。

  奇異值分解算法可以將用戶 - 特征矩陣 M 分解為用戶 - 精簡特征空間矩陣 U、奇異值對角矩陣 Σ 和精簡特征空間 - 特征矩陣 V 的矩陣乘積,如公式 (1) 所示。通過奇異值分解操作,用戶特征表示能力最強的一部分特征將會被保留,而特征中影響程度不大或表示能力不強的次要特征將會被剔除。通過將主要的影響因素保留,可以使得特征具有對用戶更強的表示能力。此外,在經(jīng)過奇異值分解后,特征維度的下降也使得所生成的用戶 - 精簡特征空間矩陣 U 擁有較低的維數(shù),從而使得后續(xù)的推薦運算變得更加高效。

  公式1.jpg(1)

  3.2 用戶特征層次聚類

  在對用戶特征矩陣進行奇異值分解之后,算法基于用戶特征使用層次聚類算法(Hierarchical Clustering) 對用戶進行聚類, 從而將用戶們聚類到特征相似、興趣愛好相仿的用戶組中。從下至上的層次聚類算法的算法流程如圖 2 所示。首先,算法將所有用戶數(shù)據(jù)都初始化為一個葉子節(jié)點。在每一次迭代中,算法會計算葉子節(jié)點之間的相似性 ( 如歐氏距離 );隨后,葉子節(jié)點之間的這種相似性信息將決定它們是否會被合并至新的聚類簇。層次聚類算法會不斷地進行迭代合并,直到迭代終止條件達成,比如算法已經(jīng)生成指定數(shù)目的聚類簇,或聚類簇之間的距離滿足一定的條件。

  本文算法將奇異值分解后的用戶特征信息輸入至層次聚類算法中進行迭代,直到每組聚類簇的均值向量之間的距離都大于或等于一個距離閾值 λ 時,停止聚類迭代。每一次迭代后,各個聚類簇的均值向量之間的歐式距離均會被計算。在圖 3 中,圖左側(cè)的 λ 值表示當(dāng)前聚類狀態(tài)下各個類的均值向量之間的最小距離。若預(yù)先設(shè)定的聚類迭代停止閾值 λ 為 1.5,則聚類算法會在生成4 個聚類簇時停止迭代,因為此時聚類簇之間的歐式距離均已大于預(yù)先設(shè)定的閾值 λ。此時,用戶 G1、G2、G8 會被分為一類, 用戶 G3、G4、G9 會被分為一類,用戶 G5 和 G7 會被分為一類, 用戶 G6 自成一類。迭代停止條件的滿足意味著每個用戶聚類簇之間已經(jīng)擁有一定的差異性,從而能夠避免用戶被模棱兩可地錯分入其本不應(yīng)屬于的用戶組。

  層次聚類訓(xùn)練流程圖.png

  圖 2 層次聚類訓(xùn)練流程圖

  

聚類過程的譜系圖.png

  圖 3 聚類過程的譜系圖

  情境特征及其表示示例.png

  表 1 情境特征及其表示示例

  通過層次聚類算法,具有較相似特征的用戶會被聚合至同一類中,之后,每一類的均值向量將會被用來表示該類用戶的特征, 進行后續(xù)的推薦運算,如公式 (2) 所示。第 c 類用戶的用戶特征表示 Uc 為被分至該類的所有 I 個用戶的用戶特征向量的均值。

  公式2.jpg(2)

       通過這種方式,雖然同處一類的用戶具有大體相似的特征, 但處于同類的用戶與用戶之間也多少存在一定的差異性與多樣性,并非完全相同。對每一類用戶的特征取均值向量可以很好地將同類用戶的特征進行融合,在不破壞用戶原有興趣取向的同時適當(dāng)?shù)匾胪愑脩魩淼亩鄻有裕瑥亩沟盟惴梢越柚c某一用戶興趣大體相同的同類用戶的平均特征,來幫助該用戶發(fā)現(xiàn)同類用戶具有的其他興趣點,從而引導(dǎo)該用戶發(fā)現(xiàn)同類用戶可能擁有的潛在興趣,使得推薦算法更加有效。

  3.3 用戶特征與情境因素的聯(lián)合及貝葉斯預(yù)測模型的使用

  與傳統(tǒng)的推薦系統(tǒng)算法不同的是,本文算法在利用數(shù)據(jù)特征進行分析與應(yīng)用推薦時,不再局限于用戶自身特征( 如年齡、性別、愛好等 )。在傳統(tǒng)的用戶特征與應(yīng)用特征的基礎(chǔ)上,通過聯(lián)合實時用戶情境信息,實現(xiàn)利用多個維度的信息進行推薦的應(yīng)用推薦系統(tǒng)。通過聯(lián)合用戶情境因子信息,推薦系統(tǒng)可以將實時獲得的用戶情境與原有的用戶特征融合為多維度的特征空間,從而使得推薦系統(tǒng)更人性化、智能化地分析用戶所需,優(yōu)化應(yīng)用推薦效果。本文算法所使用的部分用戶情境特征及其表示示例見表 1。

  在獲得了通過奇異值分解與層次聚類得到的用戶組的用戶特征,以及用戶情境特征與應(yīng)用特征后,本文算法對原有的協(xié)同過濾推薦算法進行改進——采用用戶特征、情境特征與應(yīng)用特征聯(lián)合成的多維特征,利用貝葉斯模型進行應(yīng)用推薦。在算法中, 用戶屬性集合表示為 U={U1,U2,U3…,UN} ,情境集合表示為S={S1,S2,S3…,SN} ,推薦應(yīng)用列表采用 A 表示。

  算法期望通過計算在不同用戶屬性、不同情境下推薦不同應(yīng)用的概率,從而為具有該用戶特征與情境特征的用戶推薦恰當(dāng)?shù)膽?yīng)用,如公式 (3) 所示:

  公式3.jpg(3)

  根據(jù)公式 (3),算法可以計算出對于一個給出的用戶特征及其所處情境特征,不同的應(yīng)用被使用的概率。公式 (3) 中,按照A 被使用條件下U 的概率、A 被使用條件下S 的概率、以及U 和S 同時發(fā)生的概率,可計算得到在給定用戶特征 U 與情境特征S 的情況下,不同應(yīng)用 A 被使用的概率值。其中,所得到的概率越高,該應(yīng)用就越值得被推薦。故概率最大的前 K 個應(yīng)用,即是最值得被推薦的 K 個應(yīng)用。由此,算法得到一個以概率降序排列的應(yīng)用推薦列表。

  同時,所提出算法可以接受并處理用戶所處情境信息容易隨時間發(fā)生變化的特點,算法可以通過用戶反饋的實時用戶行為信息,如直接點擊、收藏、停留時長長短、點擊次數(shù)等,更新公式(3) 中的概率信息,從而達到算法的實時更新,以使得應(yīng)用推薦具有更好的實時性。

  3.4 算法整體流程

  本文算法的整體流程如圖 4 中花括號所指部分所示。首先, 算法對用戶數(shù)據(jù)進行奇異值分解,并在分解得到的降維并去噪的用戶特征上進行層次聚類迭代,直到滿足終止條件,得到距離較遠的各組用戶聚類簇,并用各簇的均值向量作為該聚類簇中的用戶特征;然后,利用貝葉斯模型,聯(lián)合用戶特征與情境特征,對應(yīng)用被使用的概率進行預(yù)測并排序,最終形成應(yīng)用推薦列表。

 系統(tǒng)架構(gòu).png 

圖 4 系統(tǒng)架構(gòu)

  4 系統(tǒng)架構(gòu)與實現(xiàn)

  4.1 系統(tǒng)總體架構(gòu)

  本文系統(tǒng)的總體架構(gòu)分為 5 個部分,如圖 4 所示。位于最底層的基礎(chǔ)數(shù)據(jù)層主要包含用戶基礎(chǔ)屬性數(shù)據(jù),如年齡、性別、所在地、手機設(shè)備屬性等基礎(chǔ)數(shù)據(jù);應(yīng)用的基本信息,如某款應(yīng)用屬于某類、評分高低等,以及用戶訪問應(yīng)用的數(shù)據(jù),即算法所需要用到的情境信息。為獲取所需數(shù)據(jù)信息,需要進行數(shù)據(jù)采集, 其主要目標是將業(yè)務(wù)系統(tǒng)的數(shù)據(jù)同步至數(shù)據(jù)存儲系統(tǒng)中進行保存,供下一步處理和使用。

  本文推薦系統(tǒng)的第 2 層為離線計算層,其職責(zé)是進行數(shù)據(jù)處理與模型訓(xùn)練。首先,對所收集到的數(shù)據(jù)進行數(shù)據(jù)清洗與整理; 其次,按照本文第 3 小節(jié)的算法流程進行模型訓(xùn)練;最后,形成可以為用戶推薦應(yīng)用的模型。算法流程如圖 4 中圓括號所指部分所示。

  推薦系統(tǒng)的第 3 ~ 5 層分別為存儲及接口封裝層、業(yè)務(wù)處理層和應(yīng)用層。首先,系統(tǒng)會在推薦的排序內(nèi)容基礎(chǔ)上做數(shù)據(jù)接口的封裝;然后,如有必要,業(yè)務(wù)處理層將按照市場變化等信息對推薦內(nèi)容信息做必要的微調(diào);最后,將業(yè)務(wù)干預(yù)的推薦數(shù)據(jù)傳送至前端用戶。整套系統(tǒng)需滿足以下幾點要求:

  (1) 建立及時、全面的互聯(lián)網(wǎng)信息處理能力,通過探索網(wǎng)絡(luò)資源對各種不同類型的常用應(yīng)用軟件信息進行基礎(chǔ)抓取;

  (2) 基于云計算框架,建立分布式存儲、大規(guī)模數(shù)據(jù)并行計算水平拓展的技術(shù)能力,實現(xiàn)對系統(tǒng)橫向擴展,方便進行大量數(shù)據(jù)的流式處理;

  (3) 建立高內(nèi)聚低耦合的架構(gòu),復(fù)用基礎(chǔ)能力,完善系統(tǒng)之間的接口設(shè)計,減少抓取、分析、可視化以及應(yīng)用之間的強關(guān)聯(lián);

  (4) 在增強推薦的準確度時,不斷提高用戶體驗,利用所提出算法,提高推薦的精確度和召回率。

  本文系統(tǒng)通過在傳統(tǒng)推薦系統(tǒng)的基礎(chǔ)上做出優(yōu)化,將奇異值分解后的用戶特征進行聚類,并與情境信息聯(lián)合,通過貝葉斯模型分析預(yù)測用戶所需要的應(yīng)用,實現(xiàn)應(yīng)用推薦效果的增強。同時, 系統(tǒng)充分考慮了運行性能及擴展性,以及系統(tǒng)應(yīng)對實時數(shù)據(jù)反饋補充、快速適應(yīng)用戶的特征屬性變化的實時處理能力,通過在分布式架構(gòu)上構(gòu)建應(yīng)用推薦系統(tǒng),實現(xiàn)海量數(shù)據(jù)并行化處理,從而有效提高系統(tǒng)的吞吐量性能。

  4.2 系統(tǒng)構(gòu)建

  在本文所提出的多維度應(yīng)用推薦系統(tǒng)的構(gòu)建過程中,使用了如下技術(shù):本文系統(tǒng)采用MySQ 存儲用戶屬性數(shù)據(jù),采用 HBase 存儲用戶畫像數(shù)據(jù)。存儲數(shù)據(jù)時使用 HDFS 分布式文件系統(tǒng)。系統(tǒng)采用了基于 Spark 搭建的底層平臺,利用 Spark Streaming 進行實時計算、特征向量計算與排序列表的生成。系統(tǒng)在轉(zhuǎn)發(fā)數(shù)據(jù)時使用 Kafka 實現(xiàn)實時數(shù)據(jù)的集群轉(zhuǎn)發(fā)。因為所構(gòu)建的系統(tǒng)需要對數(shù)據(jù)庫進行大量的復(fù)雜數(shù)據(jù)檢索,所以,使用ElasticSearch 分布式系統(tǒng)架構(gòu)成為一個良好的解決方案。此外, 本文系統(tǒng)的可視化平臺使用流行的 J2EE 應(yīng)用架構(gòu),平臺層采用JAVA 標準庫以及 J2EE 服務(wù)器,J2EE 項目在 Tomcat 服務(wù)上運行,通過 SpringMVC 框架集成實現(xiàn)網(wǎng)頁開發(fā)。通過利用上述技術(shù)并合理協(xié)調(diào)配合,使得本文系統(tǒng)可以高效地滿足所需的要求。本文所構(gòu)建的系統(tǒng)可以支持系統(tǒng)實時獲取并處理數(shù)據(jù),系統(tǒng)在采集與處理數(shù)據(jù)時,可以支持至少百萬級的數(shù)據(jù)處理吞吐量。在進行應(yīng)用推薦時,本系統(tǒng)可以支持至少百級別的并發(fā)操作,并保持系統(tǒng)可用。在數(shù)據(jù)實時查詢時,時延不會超過 4 s。與此同時,為滿足系統(tǒng)拓展性的要求,增加系統(tǒng)處理數(shù)據(jù)的能力,本文系統(tǒng)額外準備了備用服務(wù)器,以避免出現(xiàn)數(shù)據(jù)處理量過大而導(dǎo)致的負荷超限。

  進行與不進行奇異值分解后聚類的效果對比.png

  圖 5 進行與不進行奇異值分解后聚類的效果對比

  

  5 實驗結(jié)果分析

  本文對所實現(xiàn)的應(yīng)用推薦系統(tǒng)進行了充分且系統(tǒng)的測試,首先驗證了所采用的奇異值分解與層次聚類具有良好的效果,隨后從推薦結(jié)果與度量指標兩個層面驗證了所提出算法整體的有效性。同時,本文還對系統(tǒng)性能進行了測試,從而驗證了系統(tǒng)的高效性與穩(wěn)定性。

  5.1 奇異值分解前后聚類有效性對比

  為驗證在層次聚類前進行奇異值分解的有效性,本文分別對進行與未進行奇異值分解的用戶特征進行層次聚類,并隨機抽取用戶 #1056 所在的用戶聚類簇,計算同組用戶的屬性平均差值。經(jīng)過對比,層次聚類前未進行奇異值分解的數(shù)據(jù)平均差值可高達0.6,而經(jīng)過奇異值分解處理后數(shù)據(jù)的差值范圍最大為 0.4。這表明用戶特征數(shù)據(jù)在經(jīng)過奇異值分解消除冗余信息之后進行層次聚類,其得到的聚類簇內(nèi)保留了原始數(shù)據(jù)的主要信息,且數(shù)據(jù)更加精煉,聚類效果更好。圖 5 則進一步地對算法的聚類效果進行了可視化:經(jīng)過奇異值分解后進行層次聚類的聚類簇中出現(xiàn)錯分的次數(shù)得到了明顯的降低,這表明經(jīng)過奇異值分解后進行聚類的有效性。

 使用不同應(yīng)用算法為用戶推薦應(yīng)用的效果對比.png 

 表 2 使用不同應(yīng)用算法為用戶推薦應(yīng)用的效果對比

 不同聚類算法的召回率對比.png

 圖 7 不同聚類算法的召回率對比

  

  5.2 基于奇異值分解的層次聚類與傳統(tǒng)聚類算法

  召回率效果對比為進一步驗證基于奇異值分解的層次聚類算法的有效性,將本文方法與傳統(tǒng)的機器學(xué)習(xí)聚類算法進行對比, 并以用戶聚類結(jié)果召回率作為衡量不同算法有效性的指標。本文在基于 Hadoop 生態(tài)系統(tǒng)的 Mahout 上做用戶聚類,如圖 6 所示,對比試驗中所采用的對比方法分別為決策樹模型、K-means 算法以及數(shù)據(jù)未經(jīng)過奇異值分解的傳統(tǒng)層次聚類方法。通過將進行了去除錯誤數(shù)據(jù)等預(yù)處理步驟之后的用戶數(shù)據(jù)集 M′輸入到不同聚類算法中,使用不同聚類算法得到 R1、R2、R3 與 R4 四種不同的聚類結(jié)果。其中,聚類結(jié)果 R4 是將數(shù)據(jù) M′先通過奇異值分解算法進行數(shù)據(jù)分解,之后輸入至層次聚類算法中得到的聚類結(jié)果。

 對比方法.png 

圖6對比方法

        在驗證過程中,本文采用 10 份交叉驗證的方式,分別對上述 3 種傳統(tǒng)聚類算法以及本文算法進行驗證,并計算召回率。如圖 6 ~ 7 所示,采用傳統(tǒng)的 K-means 聚類方式,平均召回率約為 57%,決策樹算法的平均召回率則達 60% 左右。層次聚類前未進行奇異值分解的方法的平均召回率約為 68%,而進行奇異值分解后再進行層次聚類的方法的平均召回率可達 73% 左右,比前者提高約 5%。這充分表明本文方法相較于傳統(tǒng)聚類算法的有效性。

  5.3 推薦算法推薦結(jié)果質(zhì)量對比與分析

  如圖 4 算法流程圖所示,在用戶特征數(shù)據(jù)通過奇異值分解并進行層次聚類后,算法將采用每一個用戶聚類簇的均值向量代表該用戶聚類簇中的用戶特征。隨后,算法將聯(lián)合情境特征,通過貝葉斯模型輸出最后為用戶推薦的應(yīng)用結(jié)果列表。

  為將本文算法與傳統(tǒng)算法推薦結(jié)果的質(zhì)量進行對比分析,本文采用基于協(xié)同過濾的推薦算法以及基于關(guān)聯(lián)規(guī)則的推薦算法作為對比方法。在基于協(xié)同過濾的推薦算法中,算法通過分析其他具有相似特征的用戶的喜好,為用戶推薦可能喜歡的應(yīng)用。而基于關(guān)聯(lián)規(guī)則的推薦算法則利用發(fā)掘到的應(yīng)用之間的關(guān)聯(lián)規(guī)則,根據(jù)用戶使用的部分應(yīng)用信息為用戶推薦可能感興趣的應(yīng)用。在所對比的兩種方法中,均未利用奇異值分解處理特征表示、層次聚類以及用戶所處的情境信息。表 2 為不同算法針對同一用戶的推薦效果。

  以所收集的數(shù)據(jù)集中隨機抽取的用戶 #0013 作為示例,在分布式框架上運行不同算法的預(yù)測應(yīng)用結(jié)果中,概率值最高的前5 個推薦結(jié)果的數(shù)據(jù)如表 2 所示。在 3 種方法中,只有本文方法為用戶推薦的應(yīng)用與用戶實際所使用的應(yīng)用相匹配,且相比其他算法而言,本文算法所推薦的其他應(yīng)用也與用戶實際所使用的應(yīng)用具有較高的相關(guān)性,表明本文方法在推薦效果上的優(yōu)越性。

  5.4 推薦算法推薦結(jié)果質(zhì)量量化指標對比與分析

  為進一步對本文算法與現(xiàn)有傳統(tǒng)的推薦算法進行推薦結(jié)果質(zhì)量的量化對比,本文根據(jù)應(yīng)用推薦的相關(guān)性計算了平均絕對誤差 (Mean Absolute Error,MAE),即實際使用應(yīng)用與推薦應(yīng)用的匹配程度。推薦應(yīng)用與實際使用應(yīng)用類別一致時的 MAE 值低于類別不同時的MAE 值,故更小的MAE 值意味著更高的搜索結(jié)果質(zhì)量。此外,貝葉斯模型產(chǎn)生的均方根誤差 (Root MeanSquaredError,RMSE) 與推薦結(jié)果的 Recall 值也被用作算法推薦結(jié)果質(zhì)量的量化對比指標。其中,更小的RMSE 值與更大的Recall 值都表明模型具有更理想的效果。實驗對比結(jié)果如圖 8 所示。

推薦算法結(jié)果量化指標對比.png  

  圖 8 推薦算法結(jié)果量化指標對比

  在驗證過程中,本文采用了常用的 10 份交叉驗證方法,并對 10 組結(jié)果求平均結(jié)果。從圖 8 可明顯看出,與傳統(tǒng)推薦算法對比,本文算法擁有最小的 MAE 與 RMSE 值,且擁有最大的Recall 值。本文方法的 MAE、RMSE 值都小于 0.6,基于關(guān)聯(lián)規(guī)則算法的 RMSE 值則約為 0.7,而對于基于協(xié)同過濾的算法而言, 其 RMSE 值則接近 0.8。與此同時,本文算法所產(chǎn)生的 Recall 值較兩種對比方法而言也有較大提升。因此,這充分地從量化指標的角度表明了本文算法推薦結(jié)果的有效性與準確性。

  5.5 推薦系統(tǒng)運行性能分析

  在實際測試過程中,本文還對所構(gòu)建系統(tǒng)的性能進行了充分的測試與分析,以檢測其在真實運行環(huán)境下的系統(tǒng)負載能力。

  在性能檢測過程中,通過添加 2000 個虛擬用戶,以此測試系統(tǒng)的平均響應(yīng)時間。測試單頁面用戶點擊時的事務(wù)平均響應(yīng)時間情況如圖 9 所示。經(jīng)檢測,系統(tǒng)功能的平均響應(yīng)時間約為 1.4s, 最長響應(yīng)時間約為 3.8s,最短響應(yīng)時間約 0.1s,符合系統(tǒng)的并發(fā)要求。

 事務(wù)平均響應(yīng)時間.png 

圖 9 事務(wù)平均響應(yīng)時間

       與此同時,本文還對所構(gòu)建系統(tǒng)進行了性能測試并將結(jié)果匯總在表 3 中。測試結(jié)果充分表明了所構(gòu)建系統(tǒng)的高效性與可靠性。綜合來看,本文推薦系統(tǒng)在應(yīng)用推薦方面相較于所對比方法而言具有較大的提升,推薦有效性較高,且在系統(tǒng)性能方面高效可靠。通過實驗驗證與結(jié)果分析,相比于對比方法而言,本文系統(tǒng)在算法上的優(yōu)化使得應(yīng)用推薦更為準確,從而為用戶更好地推薦適合的應(yīng)用。同時,系統(tǒng)還可以接受實時更新的數(shù)據(jù),智能化程度提升,從而減少運營復(fù)雜度。最后,本文所使用的系統(tǒng)架構(gòu)確保了系統(tǒng)運行的高效性、可靠性與高擴展性,使得系統(tǒng)可以被更廣泛的應(yīng)用。

 系統(tǒng)性能記錄.jpg

表 3 系統(tǒng)性能記錄

  5.6 討論與分析

  本文通過在應(yīng)用推薦系統(tǒng)中利用奇異值分解算法對用戶特征信息進行降維去噪、利用層次聚類算法對用戶信息進行聚類, 同時考慮用戶所處情境信息,從而提升應(yīng)用推薦系統(tǒng)為用戶推薦應(yīng)用的準確性。相較于文獻中未在聚類前使用矩陣分解對用戶特征信息進行降維并去噪的方法而言,本文方法通過奇異值分解算法,既去除了用戶特征信息中的冗余成分,增強了特征信息的表示能力,又提升了算法的運行效率。

  此外,對用戶特征信息進行層次聚類,并利用聚類均值向量作為用戶類的表示有效地在不破壞用戶組大體特征的情況下提升了特征的多樣性,從而提升了推薦系統(tǒng)的推薦有效性。相較于文獻中利用用戶情境信息分析產(chǎn)品特征的方法,本文方法利用用戶情境信息分析用戶的喜好特征,從而更好地輔助推薦系統(tǒng)為用戶推薦更加適合的應(yīng)用。綜上所述,本文推薦系統(tǒng)算法相較于上文所述對比方法具有更好的應(yīng)用推薦能力。

  6 總結(jié)

  本文針對傳統(tǒng)的推薦系統(tǒng)方法在為用戶推薦應(yīng)用時所面臨的對用戶所處情境考慮的缺失等問題,提出一種新的基于用戶特征聚類聯(lián)合情境特征的多維度推薦系統(tǒng)。所提出推薦系統(tǒng)使用的算法的關(guān)鍵技術(shù)在于,首先利用奇異值分解對用戶特征進行降維、去噪,使得分解后的用戶數(shù)據(jù)不再冗余,具有更強的表示能力, 且更低的維度使得所提出推薦系統(tǒng)運行更加高效。隨后,基于分解過的用戶特征對用戶進行層次聚類,并用聚類簇的均值向量作為代表該聚類簇中用戶的特征信息。這種做法在不破壞聚類簇內(nèi)用戶相似性的基礎(chǔ)上通過求聚類簇的均值將簇內(nèi)用戶的特征融合,適當(dāng)為用戶特征引入多樣性,從而避免推薦過于乏味單一導(dǎo)致長久以來用戶對自己感興趣的事物產(chǎn)生疲勞。之后,算法利用得到的用戶特征聯(lián)合情境特征信息組成多維度的特征并利用貝葉斯模型對推薦應(yīng)用的概率進行預(yù)測,從而得到應(yīng)用關(guān)于推薦概率降序排列的推薦應(yīng)用列表,實現(xiàn)向用戶進行更加高質(zhì)量的應(yīng)用推薦。與此同時,算法可以應(yīng)對隨時間發(fā)生改變的用戶情境特征, 從而使得推薦具有實時性。

  本文基于分布式架構(gòu)實現(xiàn)了所提出的推薦系統(tǒng),并通過充分的測試數(shù)據(jù)驗證,表明系統(tǒng)在具備準確的應(yīng)用推薦能力的同時, 同樣具備運行的高效性與穩(wěn)定性,為所提出推薦系統(tǒng)的應(yīng)用打下堅實基礎(chǔ)。


作者:吳嘉澍 1,2 饒華梟 1,3 范小朋 1 王洋 1*

  1 中國科學(xué)院深圳先進技術(shù)研究院

  2 墨爾本大學(xué)計算與信息系統(tǒng)學(xué)院

  3 中國科學(xué)院大學(xué)

  文章轉(zhuǎn)載自《集成技術(shù)》


標簽: 工業(yè)通信自動化

點贊

分享到:

上一篇:基于模糊邏輯與遺傳算法的燃...

下一篇:使用低功耗藍牙,擺脫線纜束縛

中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.siyutn.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負版權(quán)法律責(zé)任。

網(wǎng)站簡介|會員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號

主站蜘蛛池模板: 改则县| 华宁县| 方城县| 醴陵市| 灵川县| 海南省| 韶关市| 河东区| 革吉县| 通城县| 泰顺县| 崇文区| 安达市| 社会| 迁安市| 沁阳市| 滨海县| 庆安县| 板桥市| 苗栗市| 阜平县| 麻江县| 高雄县| 扎囊县| 新闻| 高淳县| 县级市| 临潭县| 昌都县| 荥阳市| 洛扎县| 镇雄县| 棋牌| 炎陵县| SHOW| 昭通市| 平和县| 尼勒克县| 承德市| 剑阁县| 偏关县|