陳 露,張曉霞*,于洪
(1.計(jì)算智能重慶市重點(diǎn)實(shí)驗(yàn)室(重慶郵電大學(xué)),重慶 400065;2.重慶郵電大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,重慶 400065)
潛在空間表示學(xué)習(xí)廣泛地應(yīng)用在聚類[1-7]、自然語言處理[8-9]和生物科學(xué)[10-12]等數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)熱門領(lǐng)域。非負(fù)矩陣三因子分解(Non-negative Matrix Tri-Factorization,NMTF)常用于挖掘原始數(shù)據(jù)在潛在空間中的特征和標(biāo)簽表示[13-14]。對于給定的原始數(shù)據(jù)矩陣X,非負(fù)矩陣三因子分解會構(gòu)造3 個(gè)非負(fù)低秩矩陣(U,S,V),并利用三者的矩陣乘積結(jié)果近似擬合原始矩陣。這種三因子的分解思路具有較高的靈活性,各矩陣之間能夠保證非負(fù)性和正交性等,因此在遷移學(xué)習(xí)[15]和推薦系統(tǒng)[16-18]領(lǐng)域廣泛應(yīng)用。但目前非負(fù)矩陣三因子分解及其變種算法缺乏可解釋方面的研究,研究者和使用方無法得知低秩矩陣中隱因子蘊(yùn)含的具體含義。
本文將非負(fù)矩陣三因子分解聚焦在推薦系統(tǒng)領(lǐng)域,對其可解釋方面進(jìn)行了探究,提出基于先驗(yàn)知識的非負(fù)矩陣半可解釋三因子分解(Partially Explainable Non-negative Matrix Tri-Factorization,PE-NMTF)算法。本文主要工作包括:
1)提出了一種基于部分解釋的可解釋性可行性方案,將已有的先驗(yàn)知識作為算法的部分依賴,對非負(fù)矩陣三因子分解提供可解釋性保證。
2)應(yīng)用特征級情感分析方法挖掘隱藏在用戶文本數(shù)據(jù)中偏好信息。本文將這部分偏好信息被當(dāng)作是先驗(yàn)知識。
3)在推薦冷啟動任務(wù)和零次識別任務(wù)中的不同數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明本文所提PE-NMTF 在具有一定可解釋意義的同時(shí)能夠保證算法的有效性。
近年來,非負(fù)矩陣三因子分解(NMTF)被應(yīng)用于許多機(jī)器學(xué)習(xí)相關(guān)熱門領(lǐng)域。文獻(xiàn)[15]中將NMTF 應(yīng)用于源域和目標(biāo)域重疊區(qū)域較少的遷移學(xué)習(xí)領(lǐng)域,取得了很好的效果。具體來說,由于NMTF 可以同時(shí)執(zhí)行特征聚類和標(biāo)簽傳播,使用非負(fù)矩陣三因子分解就能捕獲到源域和目標(biāo)域之間的傳遞關(guān)系和分布偏移。針對協(xié)同聚類(co-clustering)中行列重疊的問題,文獻(xiàn)[16]中提出了一種基于非負(fù)矩陣三因子分解的新算法,通過在矩陣分解中加入自由度來處理重疊的共聚類;文獻(xiàn)[17]中提出了一種過程,該過程旨在通過識別由塊矩陣表示的更清晰的相關(guān)結(jié)構(gòu)來提高NMTF 作為協(xié)同聚類方法的性能;文獻(xiàn)[5]中將用戶和項(xiàng)目聚集成多個(gè)組,即不同的子矩陣,在每個(gè)子矩陣中執(zhí)行NMTF,為一個(gè)Top-N任務(wù)生成最終的評級預(yù)測,實(shí)驗(yàn)結(jié)果能得到比傳統(tǒng)算法更好的結(jié)果。在生物醫(yī)藥領(lǐng)域,文獻(xiàn)[18]中構(gòu)建了一個(gè)將藥物、蛋白質(zhì)、生物通路和藥物類別作為網(wǎng)絡(luò)節(jié)點(diǎn)的大型網(wǎng)絡(luò),并利用NMTF重構(gòu)鄰接矩陣來預(yù)測新的類別-藥物鏈接。針對NMTF算法本身,文獻(xiàn)[11]中認(rèn)為基于乘法更新規(guī)則的NMTF 優(yōu)化過程有局限性且更新方法較為單一,因此進(jìn)行了一項(xiàng)涉及6個(gè)大型數(shù)據(jù)集的實(shí)證研究,將乘法更新規(guī)則與三種備選優(yōu)化方法(包括交替最小二乘、投影梯度和坐標(biāo)下降)進(jìn)行了比較,并一一列舉出每個(gè)優(yōu)化方法的優(yōu)缺點(diǎn)和應(yīng)用場景。
本文主要針對推薦系統(tǒng)應(yīng)用場景,解決非負(fù)矩陣三因子分解算法的可解釋問題。根據(jù)文獻(xiàn)[19]中的描述,推薦系統(tǒng)的質(zhì)量和解釋生成的可信度之間相互矛盾,很難找到合適的方法在保證推薦系統(tǒng)質(zhì)量的同時(shí),確保產(chǎn)生的解釋是正確且令人信服的,因此本文計(jì)劃利用外部的信息輔助產(chǎn)生相對合適的解釋。具體來說,本文將從用戶評論文本數(shù)據(jù)中挖掘的潛在用戶偏好信息作為先驗(yàn)知識,輔助非負(fù)矩陣三因子分解算法的結(jié)果生成,從而做到半可解釋(或稱為局部可解釋)。通過改變非負(fù)矩陣三因子分解的更新公式,得到了在較小時(shí)間內(nèi)能達(dá)到收斂的算法。為了證明半可解釋的有效性,本文給算法設(shè)置了兩個(gè)不同的子任務(wù),并在相應(yīng)任務(wù)下的基準(zhǔn)數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果證明了本文思路的可行性。
為了一致性,在這一節(jié)以推薦場景為例對全文使用到的符號和含義做了定義說明。在具體的推薦算法中,一般將用戶-物品的交互矩陣定義為X(X∈RM×N)。本文涉及的X特指用戶-物品的評分矩陣,即M個(gè)用戶對N個(gè)物品在范圍0~5 之間的評分,0 表示用戶未評分。本文定義用戶的潛在矩陣為U(U∈RM×r),物品的潛在矩陣為V(V∈RN×k),連接用戶-物品隱因子的中間矩陣為S(S∈Rr×k)。
非負(fù)矩陣三分子分解不同于傳統(tǒng)的協(xié)同過濾和非負(fù)矩陣分解的兩因子分解,它將潛在因子矩陣的非負(fù)性和正交性同時(shí)考慮到算法中,構(gòu)建了包含用戶隱因子矩陣、物品隱因子矩陣和中間矩陣的三因子共同更新的方法。如圖1 所示,NMTF 算法利用USVT的乘積結(jié)果得到近似評分矩陣X′,并利用歐氏距離等度量方式在更新迭代的過程中不斷優(yōu)化U、S、V。具體的損失函數(shù)為:
圖1 非負(fù)矩陣三因子分解示例Fig.1 Example of non-negative matrix tri-factorization
式(1)是根據(jù)歐氏距離構(gòu)造的損失函數(shù),通過梯度下降的更新方式,可以得到每個(gè)潛因子矩陣的更新公式為:
本章詳細(xì)介紹如何利用用戶文本數(shù)據(jù)導(dǎo)出有關(guān)用戶偏好的先驗(yàn)知識,并且將先驗(yàn)知識引入非負(fù)矩陣三因子分解中,輔助算法結(jié)果的生成。
根據(jù)文獻(xiàn)[20]的描述,用戶評論能提供用戶對物品細(xì)粒度上的理解,因此文獻(xiàn)[18]中的特征級情感分析技術(shù)可以很容易地應(yīng)用于評論中,構(gòu)建特定領(lǐng)域的情感詞典。按照文獻(xiàn)[21-22]以及該團(tuán)隊(duì)對相關(guān)方面工作的描述,可以將詞典中每個(gè)詞匯條目的形式定義為(特征,觀點(diǎn),情感極性),縮寫為(f,o,s),這樣一組詞匯條目表示從用戶描述特征f 的文本短語o 中推斷出的極性s。由于如何利用短語層面的情感分析構(gòu)建情感詞典并不是本研究的重點(diǎn),建議有興趣的讀者參考文獻(xiàn)[21]。在詞典構(gòu)建過程中,本文將用戶的情感極性s 標(biāo)記為+1 或-1,分別表示用戶積極或消極的意見。本文認(rèn)為用戶表現(xiàn)的積極和消極的意見都是蘊(yùn)含用戶內(nèi)心偏好的先驗(yàn)信息。將這些先驗(yàn)信息嵌入到算法的迭代邏輯中,能幫助系統(tǒng)生成更具參考價(jià)值、更符合用戶內(nèi)心偏好的結(jié)果。本文將積極和消極的情感極性統(tǒng)一看待,認(rèn)為它們對算法結(jié)果的影響權(quán)重一致。通過這樣的構(gòu)建方式,就得到了用戶關(guān)于特定特征的偏好,稱之為用戶情感極性矩陣。
本節(jié)將詳細(xì)介紹算法的目標(biāo)函數(shù)構(gòu)建和相應(yīng)的更新過程。
本文將物品隱因子矩陣V分解成V1∈RN×k1和V2∈RN×k2兩個(gè)子矩陣,其中k1+k2=k。類似的,用戶-物品隱因子中間矩陣S也進(jìn)行相似的分解,分解為S1∈Rr×k1和S2∈Rr×k2兩個(gè)子矩陣。將V1替換為3.1 節(jié)中提到的用戶情感極性矩陣。具體來說,本文構(gòu)建的用戶情感極性矩陣與V1的維度一致,在更新過程中,將不再更新這部分。根據(jù)歐氏距離構(gòu)建了基于矩陣范數(shù)的目標(biāo)函數(shù),并最小化原始矩陣和重構(gòu)矩陣之間的距離,具體為:
根據(jù)梯度下降法和最優(yōu)化理論,就會得到以下各個(gè)子矩陣的更新公式:
本文算法對冷啟動推薦任務(wù)的有效性通過均方根誤差(Root Mean Squared Error,RMSE)和歸一化折損累計(jì)增益(Normalized Discounted Cumulative Gain,NDCG)[22]來衡量,零次識別子任務(wù)采用歸一化互信息(Normalized Mutual Information,NMI)和準(zhǔn)確率(ACCuracy,ACC)作為評價(jià)指標(biāo)[23]。具體公式定義如下:
其中:xu,i表示用戶u對物品i的真實(shí)評分,u,i表示根據(jù)式(1)得到的對應(yīng)的預(yù)測評分,X表示測試集中所有的用戶物品集合,ri表示在對應(yīng)位置的等級關(guān)聯(lián)性,I(?)表示互信息,H(?)表示相對熵,TP(True Positive)為將正類預(yù)測正確的數(shù),F(xiàn)N(False Negative)為將正類預(yù)測錯誤的數(shù),F(xiàn)P(False Positive)為將負(fù)類預(yù)測為錯誤的數(shù),TN(True Negative)為將負(fù)類預(yù)測正確的數(shù)。
本文在Amazon、Yelp、AwA(Animal with Attribute)[24-25]和CUB(Caltech-UCSD Birds-200-2011)[26]四個(gè)數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)。具體來說,對于冷啟動任務(wù),選用前兩個(gè)數(shù)據(jù)集進(jìn)行測試,而將后面兩個(gè)數(shù)據(jù)集用于驗(yàn)證零次識別任務(wù)。Yelp 數(shù)據(jù)集是一個(gè)餐館業(yè)務(wù)數(shù)據(jù)集。Amazon 數(shù)據(jù)集采用其中關(guān)于手機(jī)和配件業(yè)務(wù)的數(shù)據(jù)集,非常稀疏,該平臺上73%的用戶和47%的商品只有一個(gè)評論數(shù)據(jù)。在做冷啟動任務(wù)時(shí),將上述兩個(gè)數(shù)據(jù)集的90%用于訓(xùn)練集,10%用于測試集。AwA 數(shù)據(jù)集包含50 個(gè)動物類別,每個(gè)類別有85 個(gè)維度(即屬性),一共有30 475 張圖片,其中每張圖片是32×32 的維度。將其中40個(gè)類設(shè)為訓(xùn)練集,一共包含24 295 張圖片,其余10 個(gè)類作為測試集。CUB 數(shù)據(jù)集是一個(gè)鳥類數(shù)據(jù)集,其中包含了200 種類別,總共包含11 788 張圖片,每張圖片的尺寸為32×32,將其中150 個(gè)類的數(shù)據(jù)作為訓(xùn)練集,一共包含8 827 張圖片,其余50 個(gè)類作為測試集。
為比較本文算法PE-TNMF 性能,實(shí)驗(yàn)采用非負(fù)矩陣分解(Non-negative Matrix Factorization,NMF)[6]、非負(fù)矩陣三因子分解(NMTF)[27]以及物品隱因子矩陣全由已知信息組成的完全可解釋非負(fù)矩陣三因子分解(Fully Explainable Nonnegative Matrix Tri-Factorization,F(xiàn)E-NMTF)作為對比算法,并采用5 次交叉驗(yàn)證進(jìn)行實(shí)驗(yàn)。
表1 為四種算法在冷啟動推薦任務(wù)上的實(shí)驗(yàn)結(jié)果,本文算法在Yelp 和Amazon 數(shù)據(jù)集上的效果都要好于前兩種傳統(tǒng)算法,同時(shí),實(shí)驗(yàn)結(jié)果和全可解釋方法相差很小,說明半可解釋用于非負(fù)矩陣三因子分解的可行性。
表1 四種算法在冷啟動任務(wù)上的實(shí)驗(yàn)結(jié)果Tab.1 Experimental results of four algorithms on cold-start tasks
表2 為四種算法在零次識別任務(wù)上的實(shí)驗(yàn)結(jié)果。在圖像數(shù)據(jù)集上,本文算法同樣具有很好的效果,這進(jìn)一步驗(yàn)證了半可解釋思路的可行性。
表2 四種算法在零次識別上的實(shí)驗(yàn)結(jié)果Tab.2 Experimental results of four algorithms on zero-shot tasks
在圖2 中給出了四種算法的收斂性,在引入半可解釋的全新更新公式的作用下,本文算法仍然具有較快的收斂速度。
圖2 四種算法在4個(gè)數(shù)據(jù)集的收斂性Fig.2 Convergence of four algorithms on 4 datasets
本文提出了一種基于先驗(yàn)知識的非負(fù)矩陣半可解釋三因子分解算法,試圖在算法質(zhì)量和解釋可信度上做到平衡,利用豐富的用戶評論文本數(shù)據(jù),得到了包含情感偏好的先驗(yàn)信息。為此,本文更改了原始非負(fù)矩陣三因子分解算法,將先驗(yàn)信息嵌入到算法結(jié)果的生成過程中,產(chǎn)生富有解釋的結(jié)果。實(shí)驗(yàn)結(jié)果表明,利用先驗(yàn)信息進(jìn)行非負(fù)矩陣三因子分解的部分可解釋的想法成立,并且能夠取得良好的效果。此外,將更復(fù)雜多樣的先驗(yàn)知識和更細(xì)的正則化約束作為下一步研究工作。