專利名稱:用于處理高維數(shù)據(jù)的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及處理高維數(shù)據(jù)。
背景技術(shù):
在很多應(yīng)用中,數(shù)據(jù)都是高維的。如何為各種應(yīng)用(如個性化推薦和概括)同時分析全部的維度(dimension)成為挑戰(zhàn)性的問題。
成對關(guān)系(pairwise relationship)存在于很多應(yīng)用中,且動態(tài)數(shù)據(jù)分析已經(jīng)被不同的研究者廣泛研究。例如,眾所周知的潛在語義索引(LSI)專注于由詞語-文檔(term-document)對組成的動態(tài)數(shù)據(jù)。但是,在很多應(yīng)用中,數(shù)據(jù)是多態(tài)的(polyadic),也就是說,它們有更高的維度。網(wǎng)絡(luò)數(shù)據(jù)就是這樣的例子在研究論文集(如CiteSeer)中,作家,在關(guān)于特定主題的文章中,引用了參考文獻(xiàn)。在這個例子中,數(shù)據(jù)記錄是作者-主題-參考文獻(xiàn)三元組(triple),也就是說,該數(shù)據(jù)記錄維度為三。
協(xié)作標(biāo)記數(shù)據(jù)(Collaboratively tagging data)是另一例子在協(xié)作標(biāo)記系統(tǒng)(如Del.icio.us)中,用戶將一組標(biāo)簽分配給給定的url(其對應(yīng)于Web頁面)。其中數(shù)據(jù)記錄是用戶-標(biāo)簽-url三元組。將數(shù)據(jù)的所有方面組合到數(shù)據(jù)分析中是挑戰(zhàn)性的議題,并且已經(jīng)提出各種方法以便將信息融合(fuse)到單一框架中。大多數(shù)現(xiàn)有的研究工作只是分析在不同維度之間的成對關(guān)系,以及然后隨后組合分析結(jié)果。這樣的方法失去了在數(shù)據(jù)的各種維度之間的高階(higher order)(高于成對)依賴性(dependency)。
一些研究使用了一組概念(concept)以用于同時捕獲所有的成對關(guān)系。因為這些方法將相同的概念用于表示在各種維度之間的所有成對關(guān)系,相比于那些獨立地考慮成對關(guān)系的方法,它們提供了更好的性能。該第二個方法通常有更好的性能,因為它使用了更準(zhǔn)確的模型來描述實際數(shù)據(jù)。但是,這種方法通常使用線性組合來融合所有的成對關(guān)系。這種線性組合有些特別(ad hoc)——難以在系數(shù)之后找到很好的直觀性(intuition)以及原理性的方法來設(shè)置系數(shù)值。
發(fā)明內(nèi)容
一方面,公開了這樣的系統(tǒng)和方法通過同時捕獲用于所有數(shù)據(jù)維度的因子以及它們在因子模型中的相關(guān)性(correlation)來對高維數(shù)據(jù)進(jìn)行因子分解(factorize);以及生成相應(yīng)的損失函數(shù)來評估所述因子模型。
另一方面,公開了這樣的系統(tǒng)和方法通過同時捕獲用于所有數(shù)據(jù)維度的因子以及它們在因子模型中的相關(guān)性來對高維數(shù)據(jù)進(jìn)行因子分解,其中因子模型提供了所述數(shù)據(jù)的簡要描述;以及生成相應(yīng)的損失函數(shù)來評估所述因子模型。
在優(yōu)選的實施例中,所述因子模型同時確定因子及其相關(guān)性,以提供更簡要的數(shù)據(jù)描述和提供關(guān)于數(shù)據(jù)的自知力。最小化相關(guān)聯(lián)的損失可以得出相應(yīng)意味著因子分解(factorization)結(jié)果的模型參數(shù)。
優(yōu)選實施例的優(yōu)點可以包括下面中的一個或多個。該系統(tǒng)能夠比那些只考慮成對關(guān)系的系統(tǒng)產(chǎn)生更高質(zhì)量的因子。這些因子及其相關(guān)性可用于個性化推薦、聚類(clustering)、概括(summarization)等等。因子模型潛在的應(yīng)用包括提取和監(jiān)測人和主題的相干組(coherent group),排列(rank)和推薦重要的人和文檔,或者對數(shù)據(jù)進(jìn)行概括和可視化。
尤其在結(jié)合附圖一起閱讀時從其示范性實施例的以下詳細(xì)描述中將容易地理解本系統(tǒng),其中貫穿幾個視圖相同部件具有相同標(biāo)號。
圖1顯示了示例性過程,用以將高維數(shù)據(jù)因子分解為每個維度中的因子以及在不同維度中的因子之間的相關(guān)性。
圖2顯示了對數(shù)據(jù)張量(data tensor)進(jìn)行因子分解的示例性過程。
具體實施例方式 圖1顯示了示例性過程,用以將高維數(shù)據(jù)因子分解為每個維度中的因子以及在不同維度中的因子之間的相關(guān)性。該過程通過同時對所有的維度進(jìn)行因子分解來求解問題。結(jié)果,不同維度之間的高階相關(guān)性被保存。另外,不同維度中的因子之間的相關(guān)性被明確地捕獲。該方法使用生成模型(generative model)來生成數(shù)據(jù),并將生成模型轉(zhuǎn)換成非負(fù)張量因子分解的問題,其目的是最小化觀察數(shù)據(jù)和生成模型所預(yù)測的數(shù)據(jù)之間的特定損失。這樣的損失包括Kullback-Leibler散度(divergence)和Frobenius張量范數(shù)(norm)。我們?yōu)檫@兩種損失度量(metric)提供解(solution)。該最小化過程產(chǎn)生表示數(shù)據(jù)的不同維度中的因子的一組矩陣。該最小化過程還產(chǎn)生張量,該張量表示數(shù)據(jù)的不同維度中的因子之間的相關(guān)性。
現(xiàn)在轉(zhuǎn)至圖1,該方法的輸入是高維數(shù)據(jù)(101)。該系統(tǒng)隨后從該輸入數(shù)據(jù)構(gòu)造數(shù)據(jù)張量(102)。數(shù)據(jù)張量用A表示,A的每一個模(mode)都對應(yīng)于輸入數(shù)據(jù)的一個維度。維度的索引(index)可以是無序的,如,該維度對應(yīng)于文檔中的詞語;也可以是有序的,如,在該維度對應(yīng)于文檔的生成時間時。A的每一個條目(entry)表示具有維度中的固定索引集的輸入數(shù)據(jù)中的特定數(shù)據(jù)的出現(xiàn)次數(shù)(the number of occurrences of a certain datum in the input data with a fixedset of indices in the dimensions)。系統(tǒng)對數(shù)據(jù)張量應(yīng)用因子分解算法(103)。該過程在圖2中被詳細(xì)描述。
接下來,數(shù)據(jù)的不同維度中的因子以及因子之間的相關(guān)性(104)。這些是通過使用因子分解算法(103)而獲得的輸出。因子可以被解釋為對于給定維度而言用于給定概念的概率分布(probabilistic distribution)。相關(guān)性捕獲所有維度中的不同概念之間的關(guān)系。該系統(tǒng)可以應(yīng)用利用了因子及其相關(guān)性的推薦算法(105)??梢陨赏扑]結(jié)果(108)。利用了因子及其相關(guān)性的聚類算法也可以被應(yīng)用(106),并生成聚類結(jié)果(109)。系統(tǒng)還可以執(zhí)行利用了因子及其相關(guān)性的概括算法(107)并生成概括結(jié)果(110)。
現(xiàn)在參考圖2,顯示了對數(shù)據(jù)張量進(jìn)行因子分解的過程。該過程的輸入是102中的數(shù)據(jù)張量A,以及用戶想要的因子數(shù),用戶選擇的損失函數(shù)(lossfunction)和光滑函數(shù)(smoothing function)(201)。該過程公式化(formulate)模型C×1X1×2X2…×NXN,其中X1,…,XN是在第一、第二、...和第N維度中的因子,C是捕獲因子X1,…,XN之間相關(guān)性的核心張量(202)。X1,…,XN的條目是非負(fù)的。X1,…,XN中的每一列的和(sum)是1。Xi的大小取決于A的第i維度的大小以及在第i維度中用戶想要的因子數(shù)。條目C也是非負(fù)的。C的大小取決于在所有維度中用戶想要的因子數(shù)。A和C×1X1×2X2…×NXN之間的損失可以是Kullback-Leibler散度,或者Frobenius張量范數(shù)。接下來,該過程更新C以減少損失(203)。關(guān)于更新公式的更多細(xì)節(jié)將在下面討論。然后該過程更新X1,…,XN以減少損失,如下面所詳細(xì)討論的(204)。接下來,在205中,過程重復(fù)203和204直到損失收斂(converge)。該過程返回核心張量C和因子X1,…,XN作為該過程的輸出(206)。
在一個實現(xiàn)中,用于分析多態(tài)數(shù)據(jù)的簡單因子模型被用于在所有維度中同時捕獲因子。另外,不同維度中的因子之間的關(guān)系也被捕獲。該模型是Hofmann提出的因子模型到更高維情況的延伸。此外,當(dāng)KL-散度被使用時,所提出的因子模型相當(dāng)于張量因子分解中的Tucker模型的非負(fù)版本。EM式迭代算法(EM-style iterative algorithm)可以被用于求解非負(fù)張量因子分解(NTF)問題。基于因子模型的概率解釋,差別(discriminative)版本和包含對結(jié)果稀疏性(sparseness)的正則化(regularization)的版本將會被描述?;谝蜃幽P偷腘TF解釋,利用Frobenius范數(shù)而不是KL-散度的版本將被用于測量誤差。算法的有效實現(xiàn)利用了數(shù)據(jù)的稀疏性并且具有在數(shù)據(jù)集中的數(shù)據(jù)記錄的數(shù)目上可證明的線性時間復(fù)雜度(每次迭代)。
因子模型的潛在應(yīng)用包括 ●提取和監(jiān)測人和主題的相干(coherent)組 ●排列和推薦重要的人和文檔 ●對數(shù)據(jù)進(jìn)行概括和可視化 因子模型已經(jīng)被應(yīng)用于個性化推薦的問題。該模型被應(yīng)用于協(xié)作標(biāo)記數(shù)據(jù)集(Delicious)和論文引用數(shù)據(jù)集(CiteSeer)以證明其有效性。為便于討論,使用三維數(shù)據(jù),但是所提出模型適用于任意維度的數(shù)據(jù)。
在CiteSeer數(shù)據(jù)中,每一個數(shù)據(jù)記錄是作者-主題-參考文獻(xiàn)三元組??傊?,在數(shù)據(jù)集中有I個作者、J個主題和K個參考文獻(xiàn)。存在L個潛在的作者組(因子)。也就是說,作者以不同的概率屬于這L個組。隨機(jī)變量C′表示L個潛在的作者組。類似地,存在M個潛在的主題因子和N個潛在的參考文獻(xiàn)因子,隨機(jī)變量C″和C″′被用于表示它們。值得注意的是,C′、C″和C″′的基數(shù)(cardinality)不必是相同的。在隨后的討論中,i,j和k分別表示作者、主題和參考文獻(xiàn)的索引。并且l,m,n分別表示作者、主題和參考文獻(xiàn)的因子的索引。采用所定義的這些因子,每一個數(shù)據(jù)記錄(即每一個作者-主題-參考文獻(xiàn)三元組aijk)通過下面的方法生成用于作者的因子c′l,用于主題的因子c″m,用于參考文獻(xiàn)的因子c″′n,具有概率P(c′l,c″m,c″′n);作者i具有概率P(i|c′l),主題j具有概率P(j|c″m),而參考文獻(xiàn)k具有概率P(k|c″′n)。為進(jìn)一步簡化記法,P(c′l,c″m,c″′n)寫為P(clmn),而P(i|c′l)、P(j|c″m)和P(k|c″′n)分別寫為P(i|l)、P(j|m)和P(k|n)。
然后根據(jù)生成模型,觀察數(shù)據(jù)記錄aijk的似然(likelihood)是 為獲得最終的模型,為參數(shù)P(clmn)、P(i|l)、P(j|m)和P(k|n)確定最大似然估計。P(i|l)可以被寫為IxL矩陣X,P(j|m)寫為JxM的矩陣Y,并且P(k|n)寫為KxN的矩陣Z。同樣如果P(clmn)寫為Clmn,則基于多項式模型,MLE問題變?yōu)? 先前部分中的概率生成模型隨后與Tucker張量因子分解的非負(fù)版本相關(guān)聯(lián)。為此,以稍微不同的方式來解釋該生成模型。假定以L維向量來對每一個作者i進(jìn)行編碼,其中R+表示所有非負(fù)實數(shù),通過對每一個主題j編碼并且通過對每一個參考文獻(xiàn)k進(jìn)行編碼。另外,通過屬于函數(shù)族F的函數(shù)
對aijk進(jìn)行近似(approximate)。確定最佳編碼(按照
和f),其最小化以下誤差 下一步,系統(tǒng)確定從中選擇哪個函數(shù)族F以及距離函數(shù)是什么。對于第一個問題,線性函數(shù)族(即,其中<·,·>表示向量內(nèi)積)被使用。對于第二個問題,使用aijk和
之間的KL-散度,其中 以張量術(shù)語(terminology)重寫上面的公式。數(shù)據(jù)被置入數(shù)據(jù)張量中,其中(A)ijk=aijk。向量
串聯(lián)(concatenate)為矩陣其中X中的每一行是
的轉(zhuǎn)置。類似地,
和
串聯(lián)成矩陣和此外,
被折疊(fold))進(jìn)張量其中C為核心張量。在串聯(lián)和折疊之后,最佳編碼的問題成為根據(jù)X、Y、Z和C尋找最佳近似(best approximation),其最小化以下誤差 errorKL=KL(A||C×1X×2Y×3Z),(3) 其中×1、×2和×3分別是張量C與矩陣X、Y、Z的模-1、模-2和模-3乘積(×1,×2,and×3 are the mode-1,mode-2,and mode-3 multiplication ofthe tensor Cby the matrices X,Y,and Z,respectively)。請參考[?]了解詳情。
因為對于任意的正交矩陣QX、QY和QZ有為了使問題適定(well posed),增加了X、Y、Z中的每一列必須求和為1的附加限制。在這些限制下,等式(3)中的最小化誤差的問題相當(dāng)于等式(1)所描述的MLE問題。這可以通過將等式(1)中的MLE問題重寫為最大化對數(shù)似然(log likelihood)的問題而看出, 之后,展開(expand)等式(3)中的KL-散度。為避免記法混亂,D=C×1X×2Y×3Z用以得出 可以從上面的等式中獲得幾個觀測值(observation)。最小化errorKL的解D的必要條件是∑i,j,kaijk=∑i,j,kdijk。這也意味著,因為對X、Y和Z的限制,對于最佳解而言必要條件是∑i,j,kaijk=∑l,m,nclmn。第二,A可以被縮放(scale)使得∑i,j,kaijk=1,而不改變優(yōu)化問題。類似地,因為等式(4)可以乘以常數(shù)而不影響MLE問題,不失一般性,∑i,j,kaijk=1。結(jié)果,最小化errorKL相當(dāng)于最大化∑i,j,kaijk log dijk。
由于MLE問題和NTF問題之間的等價性,可以求解(solve)NTF問題,以便獲得對MLE問題的解。一種迭代更新算法可用于求解NTF問題。該問題定義如下。對于給定張量C×1X×2Y×3Z可用來對A進(jìn)行近似,其中并且并且X、Y和Z中的列都求和為1,使得在等式(3)中定義的誤差被最小化。
對于給定的另一張量B被定義為 Bijk=Aijk/(C×1X×2Y×3Z)ijk,(5) 隨后,確保下面的更新規(guī)則以收斂到在等式(3)中定義的目標(biāo)函數(shù)的最佳解(optimal solution)。
Clmn←Clmn(B×1XT×2YT×3ZT)lmn,(6) 并且將X、Y和Z中的s.t.列的和歸一化為1(normalize s.t.columns of X,Y,Z sum to ones)。
許多應(yīng)用需要處理特定的條件概率。例如,假定作者和主題都是已知的,推薦參考文獻(xiàn)的任務(wù)需要處理對于待推薦的參考文獻(xiàn)的條件概率??梢詾榇东@的條件概率建立差別模型。也就是說,MLE問題由以下給出 其中,
是經(jīng)驗邊緣分布(empirical marginal distribution)而且與待估計的參數(shù)不相關(guān)??梢钥闯?,這樣的差別框架可以通過以某些小的修改使用原算法來求解 Bijk=Aijk(C×1X×2Y×3Z)ijk, (11) Clmn←Clmn(B×1XT×2YT×3ZT)lmn,(12) 并且將X中的s.t.行的和歸一化為1,以及將Y、Z中的列的和歸一化為1。
在另一實施例中,系統(tǒng)考慮用于基本概率模型的最大后驗(maximum aposteriori,MAP)估計。例如,Dirichlet分布可以用作參數(shù)的先驗分布(priordistribution)。
對于所有事件而言X中的每一行的先驗是具有超參數(shù)(hyper-parameter)αX>0的Dirichlet分布。先驗概率的對數(shù)是 其中cX是與X不相關(guān)的值。
類似地,Y、Z和C的先驗被假定為分別具有超參數(shù)αY、αZ和αC的Dirichlet分布。先驗概率的對數(shù)是 MAP估計的對數(shù)損失是MLE加上先驗概率的對數(shù)。因此, errorMAP=errorKL-ln P(X)-ln P(Z)-ln P(C) 確保下面的更新規(guī)則以收斂到目標(biāo)函數(shù)的最佳解。
并且將X、Y和Z中的s.t.列的和歸一化為1。
當(dāng)α大于1時,相應(yīng)的變量趨向于是非零的,而當(dāng)α小于1時,相應(yīng)的變量趨向于是稀疏的(sparse)。
在某些情況下,特定的先驗知識是可以獲得的,并且因子可以是先驗知識的凸組合(對該先驗知識進(jìn)行編碼的向量被稱為基向量)。例如,如果維度表示時間線并且時間因子(temporal factor)需要是光滑的,則結(jié)合(incorporate)這種先驗知識的一種方式是將時間因子限制于一些光滑樣條(spline)的凸組合。假定和作為基向量,其中這些基向量中的每一列求和為1。然后該問題變?yōu)樽钚』? errorKL=KL(A||C×1(XBX)×2(YBY)×3(ZBZ)), (16) 其中并且可以看出,下面的更新算法求解了這個問題。
Bijk←Aijk/(C×1(XBX)×2(YBY)×3(ZBZ))ijk, (17) Clmn←Glmn(B×1(XBX)T×2(YBY)T×3(ZBZ)T)lmn,(18) 并且將X、Y和Z中的s.t.列的和歸一化為1。
根據(jù)對模型的NTF解釋,代替KL-散度,矩陣(張量)范數(shù)可用來測量誤差。例如,如果使用Frobenius范數(shù),則問題定義為如下。對于給定的張量C×1X×2Y×3Z用以對A進(jìn)行近似,其中并且并且X、Y和Z中的列都求和為1,使得下面的誤差被最小化 其中對于張量A 對于給定的則確保下面的更新規(guī)則以收斂到在等式(22)中定義的目標(biāo)函數(shù)的最佳解。
并且將X、Y和Z中的s.t.列的和歸一化為1。
下面的討論中,不失一般性,假定L≥M≥N,且I≥J≥K。另外,在數(shù)據(jù)集中有nz條數(shù)據(jù)記錄,這意味著在數(shù)據(jù)張量A中有nz個非零條目。
更新算法的自然的實現(xiàn)將擴(kuò)展C×1X×2Y×3Z,其結(jié)果是R1I×J×K中的密集張量(dense tensor)。因為這樣的密集張量包含IJK個條目,進(jìn)行這樣的明顯的擴(kuò)展是不切合實際的(例如,考慮具有10K個作者,10K個關(guān)鍵詞,和10K個參考文獻(xiàn)的數(shù)據(jù)集,其中IJK=1萬億(trillion))。圖1的實現(xiàn)利用了數(shù)據(jù)集的稀疏性,并且具有在nz(在原始數(shù)據(jù)張量中非零條目的數(shù)目)中是線性的時間復(fù)雜度(每次迭代)。假設(shè)數(shù)據(jù)按<key1,key2,key3,value>的格式存儲,其中key1、key2、key3分別是在第一、第二和第三維度中數(shù)據(jù)記錄的索引;value是數(shù)據(jù)記錄的值,其可以是,例如,作者針對一主題引用一參考文獻(xiàn)的次數(shù)。在算法的第一個步驟中,數(shù)據(jù)按照作為主鍵(major key)的key1以及隨后作為輔助鍵(minor key)的key2和key3而排序(sort)。因為這些鍵是具有已知界限(bound)的整數(shù)并且因而可以應(yīng)用線性排序(例如桶排序),所以這種排序取得了在nz中的時間線性。此外,為簡化討論,假定<key1,key2,key3>作為數(shù)據(jù)記錄的主(唯一)鍵。
作為實例,接下來討論在等式(5)中計算B的過程。其它的計算可以按照同樣的方式進(jìn)行。第一,該實現(xiàn)是惰性(lazy)的,其中只執(zhí)行絕對必要的計算。在這樣一種惰性的方式中,該實現(xiàn)利用了數(shù)據(jù)的稀疏性。該實現(xiàn)的第二個關(guān)鍵思想是該計算在某種程度上是精心排好的,以便重復(fù)計算被最小化。
在這個算法中,D是M×N的矩陣,而
是長度為N的向量。注意,fold(·)是將向量折疊進(jìn)矩陣的函數(shù)。其在此只是用于說明目的,并不是必要的。該實現(xiàn)的一個附加的良好性質(zhì)是由于數(shù)據(jù)記錄被順序地訪問,算法可以容易地被并行化(parallelize)。
因子模型的一個應(yīng)用是進(jìn)行個性化推薦。但是,對這種應(yīng)用的一請求是快速推薦,因為通常推薦是實時作出的,并且其中長時間的延遲是無法接受的。
在一個實施例中,采用Fagin算法用于快速推薦,該算法利用了數(shù)據(jù)的偏斜(skewness)。當(dāng)AC×1X×2Y×3Z,以及關(guān)鍵詞j,給定的作者k時,對參考文獻(xiàn)的評分(score)為
系統(tǒng)不需要計算
中的所有的元素以便作出前K個(top-K)正確的推薦。
對于單調(diào)函數(shù)而言,F(xiàn)agin算法可用于計算前K個答案,而不計算所有的評分。如果則函數(shù)f(x,y,z,...)單調(diào)。這種情況下,是單調(diào)函數(shù),因為每一個都是非負(fù)的。
隨著即時技術(shù)采用先驗知識作為因子分解的基礎(chǔ),先驗知識可以用作用于概括的一些侯選(candidate)。然后通過選擇與在核心張量中的最大值相對應(yīng)的侯選,系統(tǒng)可以同時獲取用于所有維度的概括。
使用因子分解方法獲取的因子可以直接用于數(shù)據(jù)分析。例如,在博客圈(Blogosphere)中,博主在不同的時間對各種主題相互引用。因此在博客數(shù)據(jù)集中的數(shù)據(jù)記錄可以是“在時間D關(guān)于主題C博客A鏈接到博客B”,也就是,可自乘的(quadrable)<A,B,C,D>。對于這樣的數(shù)據(jù)集,核心張量中的較大值和不同維度中的相應(yīng)因子可以一起表示“某組博主在特定時間關(guān)于特定主題形成具有特定結(jié)構(gòu)的社區(qū)”的事件。
使用因子分解的方法獲取的因子還可以用于個性化推薦。例如,假如數(shù)據(jù)集包括作者-主題-參考文獻(xiàn)三元組,則對于給定作者和給定主題,系統(tǒng)可以推薦與該主題和該作者的偏好相關(guān)的參考文獻(xiàn)。
使用因子分解方法獲取的因子自然地形成聚類。該方法的優(yōu)點是除了在各維度中由相應(yīng)維度中的因子所表示的聚類之外,方法還給出了由核心張量表示的聚類之間的相關(guān)性。結(jié)果,除了總的聚類,系統(tǒng)可以有效地挖掘(drill down)特定于特定子組的聚類。例如,系統(tǒng)可以通過選擇核心張量的相應(yīng)子集,獲得特定于作者社區(qū)或者特定于時間段的聚類。
對于概括應(yīng)用,先驗知識可以被設(shè)定為用于概括的侯選。通過選取與核心張量中的最大值相對應(yīng)的侯選,系統(tǒng)可以同時獲取用于所有維度的概括。
本發(fā)明可以在硬件、固件或者軟件,或者三者的結(jié)合中實現(xiàn)。優(yōu)選地,本發(fā)明在可編程計算機(jī)上執(zhí)行的計算機(jī)程序中實現(xiàn),該可編程計算機(jī)具有處理器、數(shù)據(jù)存儲系統(tǒng)、易失和非易失存儲器和/或存儲元件、至少一個輸入設(shè)備和至少一個輸出設(shè)備。
作為例子,下面討論支持該系統(tǒng)的計算機(jī)的框圖。計算機(jī)優(yōu)選包括通過CPU總線耦合的處理器、隨機(jī)存取存儲器(RAM)、程序存儲器(優(yōu)選為可寫只讀存儲器(ROM),如閃存ROM)和輸入/輸出(I/O)控制器。計算機(jī)可選地包括耦合到硬盤和CPU總線的硬盤驅(qū)動控制器。硬盤可用于存儲應(yīng)用程序,如本發(fā)明和數(shù)據(jù)??蛇x地,應(yīng)用程序可以存儲在RAM或ROM中。I/O控制器通過I/O總線耦合至I/O接口。I/O接口在通信鏈路(如串行鏈路、局域網(wǎng)、無線鏈路和并行鏈路)上以模擬或數(shù)字形式接收和發(fā)送數(shù)據(jù)??蛇x地,顯示器、鍵盤和指針設(shè)備(鼠標(biāo))也可以連接到I/O總線??商鎿Q地,單獨的連接(單獨的總線)可用于I/O接口、顯示器、鍵盤和指針設(shè)備??删幊烫幚硐到y(tǒng)可以被預(yù)編程或通過從另一源(例如,軟盤、CD-ROM,或者另一計算機(jī))下載程序而被編程(和重新編程)。
每一個計算機(jī)程序都切實地存儲在機(jī)器可讀存儲介質(zhì)或者由通用或?qū)S每删幊逃嬎銠C(jī)可讀的設(shè)備(例如程序存儲器或磁盤)中,用來在計算機(jī)讀取存儲介質(zhì)或設(shè)備以執(zhí)行在此所描述的程序時設(shè)置和控制計算機(jī)的操作。本發(fā)明的系統(tǒng)還可以被認(rèn)為包含在計算機(jī)可讀存儲介質(zhì)中,配置有計算機(jī)程序,其中存儲介質(zhì)如此設(shè)置使得計算機(jī)按特定或預(yù)定的方式操作以執(zhí)行在此描述的功能。
本發(fā)明在這里已經(jīng)作了相當(dāng)詳細(xì)的描述,以便符合專利法規(guī),且為本領(lǐng)域普通技術(shù)人員提供應(yīng)用該新方法所需要的信息并且以便構(gòu)建和使用這種所需的專門組件。但是,可以理解本發(fā)明可以由明顯不同的裝置和設(shè)備實施,并且關(guān)于裝置的細(xì)節(jié)和操作程序的各種變形可以在不脫離本發(fā)明本身的范圍的情況下實現(xiàn)。
雖然本發(fā)明的具體實施例已經(jīng)在附圖中被舉例說明并且在先前的詳細(xì)說明中被描述,但是應(yīng)當(dāng)理解本發(fā)明并不限制于這里所描述的特定實施例,而是可以在不脫離本發(fā)明范圍的情況下進(jìn)行多種重新布置、修改和替換。下面的權(quán)利要求試圖包含所有這些修改。
權(quán)利要求
1、一種用于對高維數(shù)據(jù)進(jìn)行因子分解的方法,包括
同時捕獲用于所有數(shù)據(jù)維度的因子以及它們在因子模型中的相關(guān)性;以及
生成相應(yīng)的損失函數(shù)來評估所述因子模型。
2、如權(quán)利要求1所述的方法,包括從高維輸入數(shù)據(jù)生成數(shù)據(jù)張量。
3、如權(quán)利要求1所述的方法,包括使用因子分解算法生成一個或多個因子以及因子關(guān)系。
4、如權(quán)利要求1所述的方法,包括將因子及其關(guān)系應(yīng)用于推薦應(yīng)用。
5、如權(quán)利要求1所述的方法,包括將因子及其關(guān)系應(yīng)用于聚類應(yīng)用。
6、如權(quán)利要求1所述的方法,包括將因子及其關(guān)系應(yīng)用于概括應(yīng)用。
7、如權(quán)利要求1所述的方法,包括在張量因子分解中應(yīng)用Kullback-Leibler散度來測量誤差。
8、如權(quán)利要求1所述的方法,包括應(yīng)用替代算法來學(xué)習(xí)所述模型的參數(shù)。
9、如權(quán)利要求1所述的方法,包括在張量因子分解中應(yīng)用Frobenius張量范數(shù)來測量誤差。
10、如權(quán)利要求1所述的方法,包括應(yīng)用EM式迭代算法用于求解非負(fù)張量因子分解(NTF)。
11、如權(quán)利要求1所述的方法,包括得出概率因子模型。
12、如權(quán)利要求11所述的方法,其中所述概率因子模型用于生成差別版本和包含對結(jié)果稀疏性的正則化的版本。
13、如權(quán)利要求1所述的方法,包括使用非負(fù)張量因子分解對所述數(shù)據(jù)進(jìn)行近似。
14、如權(quán)利要求1所述的方法,包括最小化誤差。
15、如權(quán)利要求14所述的方法,包括生成表示所述數(shù)據(jù)的不同維度中的所述因子的一組矩陣。
16、如權(quán)利要求14所述的方法,包括生成表示在數(shù)據(jù)的不同維度中的所述因子之間的相關(guān)性的張量。
17、一種用于對高維觀察數(shù)據(jù)進(jìn)行因子分解的方法,包括
a.得出生成模型,該生成模型同時捕獲用于所有數(shù)據(jù)維度的因子及其相關(guān)性;
b.生成預(yù)測數(shù)據(jù),并將所述生成模型映射為非負(fù)張量因子分解;以及
c.最小化所述觀察數(shù)據(jù)和所述預(yù)測數(shù)據(jù)之間的預(yù)定損失,以及生成表示在數(shù)據(jù)的不同維度中的所述因子之間的相關(guān)性的張量。
18、如權(quán)利要求17所述的方法,包括生成表示所述數(shù)據(jù)的不同維度中的所述因子的一組矩陣。
19、如權(quán)利要求17所述的方法,包括生成表示在數(shù)據(jù)的不同維度中的所述因子之間的相關(guān)性的張量。
20、如權(quán)利要求17所述的方法,包括應(yīng)用EM式迭代算法用于求解非負(fù)張量因子分解(NTF)。
全文摘要
本發(fā)明涉及用于處理高維數(shù)據(jù)的系統(tǒng)和方法。本發(fā)明公開了這樣的系統(tǒng)和方法通過同時捕獲用于所有數(shù)據(jù)維度的因子以及它們在因子模型中的相關(guān)性來對高維數(shù)據(jù)進(jìn)行因子分解,其中因子模型提供了所述數(shù)據(jù)的簡要描述;以及生成相應(yīng)的損失函數(shù)來評估所述因子模型。
文檔編號G06F17/30GK101593214SQ20091014977
公開日2009年12月2日 申請日期2009年5月27日 優(yōu)先權(quán)日2008年5月28日
發(fā)明者Y·赤, Y·龔, S·朱 申請人:美國日本電氣實驗室公司