技術頻道

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

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

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

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

      1 引言

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

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

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

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

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

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

  2 算法介紹及相關理論研究

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

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

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

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

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

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

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

  3 算法設計

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

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

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

  3.1 用戶特征奇異值分解

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

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

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

  公式1.jpg(1)

  3.2 用戶特征層次聚類

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

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

  層次聚類訓練流程圖.png

  圖 2 層次聚類訓練流程圖

  

聚類過程的譜系圖.png

  圖 3 聚類過程的譜系圖

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

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

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

  公式2.jpg(2)

       通過這種方式,雖然同處一類的用戶具有大體相似的特征, 但處于同類的用戶與用戶之間也多少存在一定的差異性與多樣性,并非完全相同。對每一類用戶的特征取均值向量可以很好地將同類用戶的特征進行融合,在不破壞用戶原有興趣取向的同時適當地引入同類用戶帶來的多樣性,從而使得算法可以借助與某一用戶興趣大體相同的同類用戶的平均特征,來幫助該用戶發(fā)現同類用戶具有的其他興趣點,從而引導該用戶發(fā)現同類用戶可能擁有的潛在興趣,使得推薦算法更加有效。

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

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

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

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

  公式3.jpg(3)

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

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

  3.4 算法整體流程

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

 系統(tǒng)架構.png 

圖 4 系統(tǒng)架構

  4 系統(tǒng)架構與實現

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

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

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

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

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

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

  (3) 建立高內聚低耦合的架構,復用基礎能力,完善系統(tǒng)之間的接口設計,減少抓取、分析、可視化以及應用之間的強關聯(lián);

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

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

  4.2 系統(tǒng)構建

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

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

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

  

  5 實驗結果分析

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

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

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

 使用不同應用算法為用戶推薦應用的效果對比.png 

 表 2 使用不同應用算法為用戶推薦應用的效果對比

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

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

  

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

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

 對比方法.png 

圖6對比方法

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

  5.3 推薦算法推薦結果質量對比與分析

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

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

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

  5.4 推薦算法推薦結果質量量化指標對比與分析

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

推薦算法結果量化指標對比.png  

  圖 8 推薦算法結果量化指標對比

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

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

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

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

 事務平均響應時間.png 

圖 9 事務平均響應時間

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

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

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

  5.6 討論與分析

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

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

  6 總結

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

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


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

  1 中國科學院深圳先進技術研究院

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

  3 中國科學院大學

  文章轉載自《集成技術》


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

點贊

分享到:

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

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

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

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

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

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

網站客服服務咨詢采購咨詢媒體合作

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