新四季網

用於獲得模型的方法和設備與流程

2023-06-01 21:43:41 2


本公開的實施例涉及機器學習領域,並且更具體地,涉及用於獲得模型的方法和設備。



背景技術:

隨著信息技術的飛速發展,數據規模的增長十分迅速。在這樣的背景和趨勢下,機器學習受到越來越廣泛的關注。聚類分析是機器學習領域重要的基礎性問題,它將樣本點劃分到不同的簇中,使得特徵相似的樣本點在相同的簇中。針對例如用於描述用戶對電影的評分的二元數據(dyadicdata)而言,二值矩陣分解(binarymatrixfactorization,bmf)模型是一種常見的聚類分析方法。bmf模型通過尋找表示數據的組成部分的兩個二值特徵矩陣及表示這些組成部分之間的混合關係的一個權重矩陣來擬合原始數據。此外,可以在經典的分解漸進貝葉斯(factorizedasymptoticbayesian,fab)推理方法中使用隨機優化技術(stochasticfab,簡稱為sfab)來獲得bmf模型的參數,以提高計算的速度。

然而,上述的方法需要足夠大的存儲器來存儲所有的樣本數據,並且需要預先知道樣本數據的總數目。這對於其中樣本數據為無止盡的數據流的應用場景而言是不現實的。



技術實現要素:

本公開的實施例提供了一種用於獲得模型的方法和設備。

根據本公開的第一方面,提供了一種用於獲得模型的方法。該方法包括獲取模型的第一組參數,第一組參數基於數據流中的第一組數據而生成,該數據流中的數據與至少兩個維度相關聯,至少兩 個維度與至少兩組潛特徵分別關聯,第一組參數描述包括第一組數據在內的該數據流在至少兩組潛特徵上的分布。該方法還包括基於第一組參數,確定該數據流中在第一組數據之後觀察到的第二組數據的與至少兩組潛特徵相關聯的概率。該方法還包括基於第一組參數和該概率來確定模型的第二組參數,第二組參數描述包括第一組數據和第二組數據在內的該數據流在至少兩組潛特徵上的分布。此外,該方法還包括基於第二組參數和該概率來確定模型對該數據流的擬合度。

根據本公開的第二方面,提供了一種用於獲得模型的設備。該設備包括至少一個處理單元以及至少一個存儲器。至少一個存儲器耦合至至少一個處理單元並且具有在其上存儲的指令,該指令在由至少一個處理單元執行時使得該設備執行以下動作:獲取模型的第一組參數,第一組參數基於數據流中的第一組數據而生成,該數據流中的數據與至少兩個維度相關聯,至少兩個維度與至少兩組潛特徵分別關聯,第一組參數描述包括第一組數據在內的該數據流在至少兩組潛特徵上的分布;基於第一組參數,確定該數據流中在第一組數據之後觀察到的第二組數據的與至少兩組潛特徵相關聯的概率;基於第一組參數和該概率來確定模型的第二組參數,第二組參數描述包括第一組數據和第二組數據在內的該數據流在至少兩組潛特徵上的分布;以及基於第二組參數和該概率來確定模型對該數據流的擬合度。

根據本公開的第三方面,提供了一種計算機可讀存儲介質。該計算機可讀存儲介質具有在其上存儲的計算機可讀程序指令。這些計算機可讀程序指令用於執行根據以上第一方面所描述的方法的步驟。

本公開的實施例能夠對流入的一組數據進行即時處理並且丟棄之前流入的數據,而無需在存儲器中存儲所有數據,因此適合於其中樣本數據為無止盡的數據流的應用場景。此外,本公開的實施例通過模型擴展和模型收縮的機制能夠很好地體現最近流入的數據中 的特徵,從而提高數據處理的效率。

提供發明內容部分是為了簡化的形式來介紹對概念的選擇,它們在下文的具體實施方式中將被進一步描述。發明內容部分無意標識本公開的關鍵特徵或主要特徵,也無意限制本公開的範圍。

附圖說明

通過結合附圖對本公開示例性實施例進行更詳細的描述,本公開的上述以及其它目的、特徵和優勢將變得更加明顯,其中,在本公開示例性實施例中,相同的參考標號通常代表相同部件。

圖1示出了根據本公開的實施例的用於獲得模型的架構100的框圖;

圖2示出了根據本公開的實施例的用於獲得模型的方法200的流程圖;

圖3示出了根據本公開的實施例的用於模型擴展的方法300的流程圖;

圖4示出了根據本公開的實施例的用於模型擴展的方法400的流程圖;

圖5示出了根據本公開的實施例的用於模型收縮的方法500的流程圖;以及

圖6示出了可以用來實施本公開的實施例的示例設備600的示意性框圖。

具體實施例

下面將參照附圖更詳細地描述本公開的優選實施例。雖然附圖中顯示了本公開的優選實施例,然而應該理解,可以以各種形式實現本公開而不應被這裡闡述的實施例所限制。相反,提供這些實施例是為了使本公開更加透徹和完整,並且能夠將本公開的範圍完整地傳達給本領域的技術人員。

在本文中使用的術語「包括」及其變形表示開放性包括,即「包 括但不限於」。除非特別申明,術語「或」表示「和/或」。術語「基於」表示「至少部分地基於」。術語「一個示例實施例」和「一個實施例」表示「至少一個示例實施例」。術語「另一實施例」表示「至少一個另外的實施例」。術語「第一」、「第二」等等可以指代不同的或相同的對象。下文還可能包括其他明確的和隱含的定義。

在本公開的實施例中,術語「二元數據」是指由兩個相互關聯的對象集合所構成的數據,並且觀察值(也稱為樣本值或者樣本數據)基於二元組而產生,其中二元組具有來自每個對象集合的一個元素。二元數據的示例可以包括例如一組用戶對一組電影的評分,其可以表示為i行j列的數據矩陣x,例如i行中的每一行可以表示一個用戶,j列中的每一列可以表示一部電影,並且x的每個元素xij的值可以表示第i個用戶對第j部電影的評分。特別地,當xij的取值為「0」或「1」時(例如,「1」可以表示第i個用戶喜歡第j部電影,而「0」可以表示第i個用戶不喜歡第j部電影),數據矩陣x可以被稱為「二值二元數據」(binarydyadicdata)。

類似地,「多元數據」是指由相互關聯的多個對象集合所構成的數據,並且觀察值(也稱為樣本值或者樣本數據)基於多元組而產生,每個對象集合貢獻觀察值中的一個元素。注意,在本公開的上下文中,將主要結合二元數據來闡述本公開實施例的原理和思想。但是,本公開的實施例同樣適用於更高維度的多元數據。

在本公開的實施例中,術語「模型」一般是指針對參照某種系統的特徵,採用數學語言概括地或近似地表述出的該系統的關係結構。模型一般可以通過對已知數據進行訓練來生成。生成的模型可以包括模型結構和模型參數等等。模型參數可以根據具體模型的類型不同而不同。舉例而言,對於針對二值二元數據的bmf模型而言,模型參數可以包括表示數據的組成部分的兩個二值特徵矩陣及表示這些組成部分之間的混合關係的一個權重矩陣。

在本公開的以下描述中,將針對二值二元數據來具體描述本公開的實施例,並且「獲得模型」一般是指根據觀察到的數據來確定 模型參數的過程,其中「模型」例如為bmf模型。然而,應當理解,上述示例僅僅是出於說明的目的,不旨在以任何方式限制本發明的範圍。

在現有技術中,當使用fab或者sfab來獲得bmf模型的參數時,需要足夠大的存儲器來存儲所有的樣本數據,並且需要預先知道樣本數據的總數目。這對於其中樣本數據為無止盡的數據流的應用場景而言是不現實的。

為了解決上述問題以及其他潛在問題中的一個或者多個,根據本公開的實施例,提出了一種用於獲得模型的方案,該方案對流入的一組數據進行即時處理並且丟棄之前流入的數據,因此無需在存儲器中存儲所有數據。

圖1示出了根據本公開的實施例的用於獲得模型的架構100的框圖。如圖1所示,架構100可以包括模型獲取系統110。模型獲取系統110被配置為接收數據流120,基於數據流120來確定模型參數以及向模型130提供所確定的模型參數。模型獲取系統110可以包括數據觀察模塊111和參數確定模塊112。

數據觀察模塊111被配置為接收數據流120並且向參數確定模塊112提供從數據流120觀察到的數據。仍以一組用戶對一組電影的評價這一場景為例,數據流120中的數據可以表示為i行j列的數據矩陣x,其表示i個用戶對j部電影的評價。例如,在數據矩陣x中,i行中的每一行可以表示一個用戶,j列中的每一列可以表示一部電影。x的每個元素xij的值可以為「0」或「1」,其中「1」例如可以表示第i個用戶喜歡第j部電影,而「0」例如可以表示第i個用戶不喜歡第j部電影。

在此示例中,數據觀察模塊111可以向參數確定模塊112提供從數據流120觀察到的第一組數據xt-1(t=1,2,3……),並且然後可以向參數確定模型112提供數據流120中的在第一組數據xt-1之後觀察到的第二組數據xt等等。第一組數據xt-1可以表示為it-1×jt-1的數據矩陣,其表示it-1個用戶對jt-1部電影的評價;並且數據流120中的 第二組數據xt可以表示為it×jt的數據矩陣,其表示it個用戶對jt部電影的評價。

參數確定模塊112被配置為基於接收到的觀察數據以及在接收到該觀察數據之前所確定的模型參數來迭代地確定當前的模型參數。例如,參數確定模塊112可以基於第二組數據xt和對應於第一組數據xt-1的模型參數pt-1來確定與包括第一組數據xt-1和第二組數據xt的數據流120相對應的模型參數pt,其中模型參數pt-1基於第一組數據xt-1而生成等等。

圖2示出了根據本公開的實施例的用於獲得模型的方法200的流程圖。例如,方法200可以由如圖1所示的參數確定模塊112來執行。應當理解的是,方法200還可以包括未示出的附加步驟和/或可以省略所示出的步驟。本公開的範圍在此方面不受限制。

方法200開始於步驟210。在步驟210中,由參數確定模塊112獲取模型130的第一組參數pt-1。第一組參數pt-1是基於數據流120中的第一組數據xt-1而生成的。例如,第一組參數pt-1可以基於第一組數據xt-1以及在接收到第一組數據xt-1之前所確定的模型參數pt-2來生成。

數據流120中的數據可以是二元數據或者多元數據。也就是說,數據流120可以與至少兩個維度相關聯,這至少兩個維度可以與至少兩組潛特徵分別關聯。在本公開的實施例中,「潛特徵(latentfeature)」可以表示不能被直接觀測到、而需要通過樣本數據推導得出的數據特徵。仍以一組用戶對一組電影的評價這一場景為例,數據流120中的數據可以與用戶和電影兩個維度相關聯,其中「用戶」維度可以與一組潛特徵相關聯,而「電影」維度可以與另一組潛特徵相關聯。與「用戶」維度相關聯的潛特徵可以包括與用戶的性別、年齡等屬性相關聯的特徵,例如,男性、女性、老年(例如,70歲及以上)、中年(例如,40~69歲)、青年(例如,18~39歲)、未成年(例如,0~17歲),等等。每個潛特徵(諸如,男性)可以對應於一個類別的用戶。

將會理解,同一用戶可以被同時劃分到兩個或更多個類別中,即同時與兩個或更多個不同的潛特徵相關聯,例如一名23歲的男性用戶可以被同時劃分到「男性」和「青年」這兩個類別中,即同時與「男性」和「青年」這兩個潛特徵相關聯。類似地,與「電影」相關聯的潛特徵可以包括與電影的場景、情緒、形式等屬性相關聯的特徵,例如,歷史片、戰爭片、科幻片、喜劇、悲劇、卡通片、紀錄片等,其中每個潛特徵(諸如,歷史片)可以對應於一個類別的電影。將會理解,同一電影可以被同時劃分到兩個或更多個類別中,即同時與兩個或更多個不同的潛特徵相關聯。

針對利用i×j的數據矩陣x來表示的數據流120而言,與「用戶」維度相關聯的潛特徵可以用潛特徵矩陣u來表示,其中u是i×k的數據矩陣(以下也被稱為「行潛特徵矩陣」),k表示與「用戶」維度相關聯的潛特徵(以下也被稱為「行潛特徵」)的數目。u中的每個元素uik的值可以為「0」或「1」,其中當數據矩陣x中的元素xij具有第k個行潛特徵時uik等於「1」。類似地,與「電影」維度相關聯的潛特徵可以用潛特徵矩陣v來表示,其中v是j×l的數據矩陣(以下也被稱為「列潛特徵矩陣」),l表示與「電影」維度相關聯的潛特徵(以下也被稱為「列潛特徵」)的數目。v中的每個元素ujl的值可以為「0」或「1」,其中當數據矩陣x中的元素xij具有第l個列潛特徵時vjl等於「1」。具體地,與第一組數據xt-1相對應的行潛特徵矩陣可以用ut-1來表示,ut-1為it-1×k的數據矩陣;並且與第一組數據xt-1相對應的列潛特徵矩陣可以用vt-1來表示,vt-1為jt-1×l的數據矩陣。

模型130的第一組參數pt-1可以描述包括第一組數據xt-1在內的數據流120在至少兩組潛特徵上的分布。例如,第一組參數pt-1可以包括第一組向量{αt-1,βt-1},其中αt-1為k個元素的向量,用於指示包括第一組數據xt-1在內的數據流120在行潛特徵(即,與「用戶」維度相關聯的潛特徵,諸如男性、女性、老年、中年、青年、未成年等)上分布的比例。也即,αt-1是與第一組數據xt-1相對應的行潛 特徵矩陣ut-1的先驗。βt-1為l個元素的向量,其用於指示包括第一組數據xt-1在內的數據流120在列潛特徵(即,與「電影」維度相關聯的潛特徵,諸如歷史、戰爭、科幻、喜劇、悲劇、卡通、紀錄片等)上分布的比例。也即,βt-1是與第一組數據xt-1相對應的列潛特徵矩陣vt-1的先驗。此外,第一組參數pt-1還包括第一組權重wt-1。wt-1為k×l的矩陣,其用於描述與包括第一組數據xt-1在內的數據流120相對應的行潛特徵和列潛特徵之間的關係。

接下來,方法200進行到步驟220。在步驟220中,由參數確定模塊112基於第一組參數pt-1,確定數據流120中在第一組數據xt-1之後觀察到的第二組數據xt的與至少兩組潛特徵相關聯的概率。在一些實施例中,可以通過確定與第二組數據xt相對應的行潛特徵矩陣ut(其中,ut為it×k的數據矩陣)的變分分布q(ut)來確定第二組數據xt的與行潛特徵相關聯的概率並且可以通過確定與第二組數據xt相對應的列潛特徵矩陣vt(其中,vt為jt×l的數據矩陣)的變分分布q(vt)來確定第二組數據xt的與列潛特徵相關聯的概率。在本公開的實施例中,潛特徵矩陣(例如,行潛特徵矩陣或者列潛特徵矩陣)的變分分布可以用於描述樣本數據被聚類到與潛特徵(例如,行潛特徵或者列潛特徵)相對應的類別的概率。在一些實施例中,可以基於第一組參數pt-1和第二組數據xt來確定q(ut)和q(vt)。附加地或者備選地,可以利用與sfab(例如,被記載在由劉春辰等所著的「scalablemodelselectionforlarge-scalefactorialrelationalmodels」,internationalconferenceonmachinelearning,2015:1227-1235中)中的「期望步驟(e-step)」相同的方式來確定q(ut)和q(vt),在本文中不再作進一步的描述。

在步驟230中,由參數確定模塊112基於第一組參數pt-1和第二組數據xt的與至少兩組潛特徵相關聯的概率(即,q(ut)和q(vt))來確定模型130的第二組參數pt。

類似地,模型130的第二組參數pt可以描述包括第一組數據xt-1和第二組數據xt在內的數據流120在至少兩組潛特徵上的分布。例 如,第二組參數pt可以包括第二組向量{αt,βt},其中αt為k個元素的向量,用於指示包括第一組數據xt-1和第二組數據xt在內的數據流120在行潛特徵上分布的比例。也即,αt是與第一組數據xt相對應的行潛特徵矩陣ut的先驗。βt為l個元素的向量,其用於指示包括第一組數據xt-1和第二組數據xt在內的數據流120在列潛特徵上分布的比例。也即,βt是與第一組數據xt相對應的列潛特徵矩陣vt的先驗。此外,第二組參數pt還包括第二組權重wt。wt為k×l的矩陣,其用於描述與包括第一組數據xt-1和第二組數據xt在內的數據流120相對應的行潛特徵和列潛特徵之間的關係。

在一些實施例中,在步驟230,可以基於第一組向量{αt-1,βt-1}和第二組數據xt的與至少兩組潛特徵相關聯的概率(即,q(ut)和q(vt))來確定第二組向量{αt,βt},以作為第二組參數pt的一部分。例如,可以基於向量αt-1、第二組數據xt和與第二組數據xt相對應的行潛特徵矩陣ut的變分分布q(ut)來確定向量αt;並且可以基於向量βt-1、第二組數據xt和與第二組數據xt相對應的列潛特徵矩陣vt的變分分布q(vt)來確定向量βt。

在一些實施例中,在步驟230,還可以基於第二組數據xt、第二組數據xt的與至少兩組潛特徵相關聯的概率(即,q(ut)和q(vt))和第一組參數來確定第二組權重wt,以作為第二組參數pt的一部分。

接下來,方法200進行到步驟240。在步驟240,由參數確定模塊112基於第二組參數pt和第二組數據xt的與至少兩組潛特徵相關聯的概率(即,q(ut)和q(vt))來確定模型130對數據流120的擬合度。在一些實施例中,模型130對數據流120的擬合度可以由與模型130相關聯的目標函數來表徵。在這樣的實施例中,在步驟240,可以通過確定這樣的目標函數的收斂性來估計模型對數據的擬合度。

目標函數lt可由多個項構成,例如至少包括第一項和第二項。第一項用於控制模型130對數據流120的擬合。例如,第一項可以包括對數似然的期望、熵和正則項的和。可以利用sfab中所使用的 目標函數作為目標函數lt的第一項,因此在本文中不再作進一步的描述。第二項用於將信任域方法引入到目標函數中以約束第一組參數和第二組參數之間的差異。例如,第二項可以被表示為-εtdkl(pt-1||pt),其中εt用於控制目標函數的正則化的強度,並且dkl(pt-1||pt)表示第一組參數pt-1和第二組參數pt之間的kl散度(kullback–leiblerdivergence)。dkl(pt-1||pt)越小表明第一組參數pt-1和第二組參數pt越接近。

例如,在一個實施例中,至少可以基於第一組參數pt-1來計算目標函數的第二值lt-1,並且至少可以基於第二組參數pt來計算目標函數的第二值lt。響應於兩者的差值小於預定收斂閾值δ,即lt-lt-1<δ,可以確定目標函數收斂;並且響應於兩者的差值不小於預定收斂閾值,即lt-lt-1≥δ,可以確定目標函數不收斂。

在一些實施例中,響應於目標函數不收斂,可以多次迭代地執行方法200中的步驟220至240,直到目標函數收斂或者達到預先設定的最大迭代數目。附加地或者備選地,響應於目標函數收斂,可以繼續重新執行方法200,例如,可以針對數據流120中的在第二組數據xt後觀察到的第三組數據xt+1來確定模型130的第三組參數pt+1。

從上述描述可以看出,根據本公開的實施例的用於獲得模型的方案可以對流入的一組數據進行即時處理並且丟棄之前流入的數據,因此無需在存儲器中存儲所有數據。然而,由於每次流入一組新數據,當前模型可能不能夠很好地體現新數據中的新特徵。根據本公開的實施例,如果當前模型的數據表示能力已經接近其最高值,可以對當前模型進行擴展。

圖3示出了根據本公開的實施例的用於模型擴展的方法300的流程圖。方法300可以由如圖1所示的參數確定模塊112來執行。例如,方法300可以在方法200之後被執行,並且方法300可以響應於確定與模型130相關聯的目標函數收斂而執行。附加地或者備選地,方法300可以可選地被執行。本公開的範圍在此方面不受限 制。

方法300開始於步驟310。在步驟310,響應於確定第二組向量{αt,βt}中的第一向量中的元素的值大於第一閾值,確定與該元素相對應的潛特徵為有效潛特徵。在此使用的術語「有效潛特徵(validlatentfeature)」表示與該潛特徵相關聯的樣本數據足夠多的潛特徵。也就是說,與有效潛特徵相關聯的樣本數據超過了一個閾值量。

在一些實施例中,在上文描述的例子中,第一向量可以為向量αt,其中的每個元素指示包括第一組數據xt-1和第二組數據xt在內的數據流120在每個行潛特徵上分布的比例。例如,向量αt中的每個元素可以指示被聚類到與該元素對應的用戶類別(如上文所述,一個用戶類別與一個行潛特徵相對應)的數據在數據流120中所佔的比例,諸如男性所佔的比例、女性所佔的比例、老年所佔的比例等等。應當理解,向量αt中的各個元素可以僅反映各個用戶類別所佔的相對比例,即所有元素的和不一定等於1。可以響應於確定αt中的元素的值大於第一閾值δ1,確定與該元素相對應的行潛特徵為有效行潛特徵。

備選地,第一向量也可以為向量βt,其中的每個元素指示包括第一組數據xt-1和第二組數據xt在內的數據流120在每個列潛特徵上分布的比例。例如,向量βt中的每個元素可以指示被聚類到與該元素對應的電影類別(如上文所述,一個電影類別與一個列潛特徵相對應)的數據在數據流120中所佔的比例,諸如歷史片所佔的比例、戰爭片所佔的比例、卡通片所佔的比例等等。應當理解,向量βt中的各個元素可以僅反映各個電影類別所佔的相對比例,即所有元素的和不一定等於1。可以響應於確定βt中的元素的值大於第一閾值δ1,確定與該元素相對應的列潛特徵為有效列潛特徵。

接下來,方法300進行至步驟320。在步驟320,響應於有效潛特徵的數目超過閾值數目而擴展模型。在一些實施例中,可以基於向量αt來計算有效行潛特徵的數目,並且響應於有效行潛特徵的數目超過行潛特徵的閾值數目kmax來擴展模型。在此方面,圖4示出 了根據本公開的實施例的用於模型擴展的方法400的流程圖。方法400例如可以由如圖1所示的參數確定模塊112來執行。

在步驟410,根據預定增量來增加閾值數目。例如,可以根據預定增量dk來增加行潛特徵的閾值數目kmax。也即,行潛特徵的閾值數目被更新為kmax=kmax+dk。

在步驟420,根據預定增量增加至少兩組潛特徵中與第一向量相關聯的潛特徵的數目。例如,可以根據預定增量dk來增加與向量αt相關聯的行潛特徵的數目。也即,行潛特徵的數目被更新為k=k+dk。

在步驟430,根據預定增量增加第一向量的維度。例如,可以根據預定增量dk來增加向量αt的維度。也即,將向量αt從k個元素的向量變為k+dk個元素的向量。另外,可以對增加的dk個元素賦初值。

在某些實施例中,在步驟440,根據預定增量增加第二組權重的維度。例如,可以根據預定增量dk來增加第二組權重wt的維度。也即,將第二組權重wt從k×l的矩陣擴展為(k+dk)×l的矩陣,並且可以對增加的dk個行賦初值。

附加地或者備選地,可以基於向量βt來計算有效列潛特徵的數目,並且在有效列潛特徵的數目超過列潛特徵的閾值數目lmax的情況下擴展模型。可以根據預定增量dl來增加列潛特徵的閾值數目lmax(410)。也即,列潛特徵的閾值數目被更新為lmax=lmax+dl。可以根據預定增量dl來增加與向量βt相關聯的列潛特徵的數目(420)。也即,列潛特徵的數目被更新為l=l+dl。還可以根據預定增量dl來增加向量βt的維度(430)。也即,將向量βt從l個元素的向量變為l+dl個元素的向量,並且可以對增加的dl個元素賦初值。

在某些實施例中,還可以根據預定增量dl來增加第二組權重wt的維度(440)。也即,將第二組權重wt從k×l的矩陣擴展為k×(l+dl)的矩陣,並且可以對增加的dl個列賦初值。

由於本公開的實施例的特徵在於始終儘可能地擬合流入的新數據而丟棄之前流入的數據,因此可能存在針對之前流入的數據的特徵對於當前流入的數據不適用的情況。根據本公開的實施例,針對上述問題,為了避免使得當前模型的規模越來越大而導致數據處理的效率降低,可以對當前模型進行收縮。

圖5示出了根據本公開的實施例的用於模型收縮的方法500的流程圖。方法500可以由如圖1所示的參數確定模塊112來執行。例如,方法500可以在方法200之後被執行,並且方法500可以響應於確定與模型130相關聯的目標函數收斂而執行。在某些實施例中,方法500可以與方法300順序地執行,例如在方法300之前或者之後被執行。本公開的範圍在此方面不受限制。

方法500開始於步驟510。在步驟510,響應於確定第二組向量{αt,βt}中的第二向量中的元素的值小於第二閾值,確定與該元素相對應的潛特徵為無效潛特徵。在此使用的術語「無效潛特徵(invalidlatentfeature)」表示與該潛特徵相關聯的樣本數據足夠少的潛特徵。也就是說,與有效潛特徵相關聯的樣本數據低於閾值量。

在一些實施例中,在上文描述的例子中,第二向量可以為向量αt,其中的每個元素指示包括第一組數據xt-1和第二組數據xt在內的數據流120在每個行潛特徵上分布的比例。例如,向量αt中的每個元素可以指示被聚類到與該元素對應的用戶類別(如上文所述,一個用戶類別與一個行潛特徵相對應)的數據在數據流120中所佔的比例,諸如男性所佔的比例、女性所佔的比例、老年所佔的比例等等。應當理解,向量αt中的各個元素可以僅反映各個用戶類別所佔的相對比例,即所有元素的和不一定等於1。可以響應於確定αt中的元素的值小於第二閾值δ2,即具有某個行潛特徵的數據所佔的比例太小,確定與該元素相對應的行潛特徵為無效行潛特徵。

備選地,第二向量也可以為向量βt,其中的每個元素指示包括第一組數據xt-1和第二組數據xt在內的數據流120在每個列潛特徵上分布的比例。例如,向量βt中的每個元素可以指示被聚類到與該 元素對應的電影類別(如上文所述,一個電影類別與一個列潛特徵相對應)的數據在數據流120中所佔的比例,諸如歷史片所佔的比例、戰爭片所佔的比例、卡通片所佔的比例等等。應當理解,向量βt中的各個元素可以僅反映各個電影類別所佔的相對比例,即所有元素的和不一定等於1。可以響應於確定βt中的元素的值小於第二閾值δ2,即具有某個列潛特徵的數據所佔的比例太小,確定與該元素相對應的列潛特徵為無效列潛特徵。

接下來,方法500進行至步驟520。在步驟520,響應於確定存在無效潛特徵而收縮模型。

在一些實施例中,可以基於向量αt來確定是否存在無效行潛特徵,並且響應於確定存在無效行潛特徵來收縮模型。可以從與向量αt相關聯的行潛特徵中去除無效行潛特徵,以收縮模型。假設無效行潛特徵的數目為kinvalid,則行潛特徵的數目被更新為k』=k-kinvalid。此外,可以從向量αt中去除與無效行潛特徵對應的元素,以收縮模型。在某些實施例中,還可以從第二組權重wt中去除與無效行潛特徵對應的行,以收縮模型。

備選地,可以基於向量βt來確定是否存在無效列潛特徵,並且響應於確定存在無效列潛特徵來收縮模型。可以從與向量βt相關聯的列潛特徵中去除無效列潛特徵,以收縮模型。假設無效列潛特徵的數目為linvalid,則行潛特徵的數目被更新為l=l-linvalid。此外,可以從向量βt中去除與無效列潛特徵對應的元素,以收縮模型。在某些實施例中,還可以從第二組權重wt中去除與無效列潛特徵對應的列,以收縮模型。

圖6示出了可以用來實施本公開的實施例的示例設備600的示意性框圖。如圖所示,設備600包括中央處理單元(cpu)601,其可以根據存儲在只讀存儲器(rom)602中的電腦程式指令或者從存儲單元608加載到隨機訪問存儲器(ram)603中的電腦程式指令,來執行各種適當的動作和處理。在ram603中,還可存儲設備600操作所需的各種程序和數據。cpu601、rom602以及ram 603通過總線604彼此相連。輸入/輸出(i/o)接口605也連接至總線604。

設備600中的多個部件連接至i/o接口605,包括:輸入單元606,例如鍵盤、滑鼠等;輸出單元607,例如各種類型的顯示器、揚聲器等;存儲單元608,例如磁碟、光碟等;以及通信單元609,例如網卡、數據機、無線通信收發機等。通信單元609允許設備600通過諸如網際網路的計算機網絡和/或各種電信網絡與其他設備交換信息/數據。

上文所描述的各個過程和處理,例如方法200、300、400和/或500,可由處理單元601執行。例如,在一些實施例中,方法200、300、400和/或500可以被實現為計算機軟體程序,其被有形地包含於機器可讀介質,例如存儲單元608。在一些實施例中,電腦程式的部分或者全部可以經由rom602和/或通信單元609而被載入和/或安裝到設備600上。當電腦程式被加載到ram603並由cpu601執行時,可以執行上文描述的方法200、300、400和/或500中的一個或多個步驟。

本公開的實施例能夠對流入的一組數據進行即時處理並且丟棄之前流入的數據,而無需在存儲器中存儲所有數據,因此適合於其中樣本數據為無止盡的數據流的應用場景。此外,本公開的實施例通過模型擴展和模型收縮的機制能夠很好地體現最近流入的數據中的特徵,從而提高數據處理的效率。

本公開可以是系統、方法和/或電腦程式產品。電腦程式產品可以包括計算機可讀存儲介質,其上載有用於執行本公開的各個方面的計算機可讀程序指令。

計算機可讀存儲介質可以是可以保持和存儲由指令執行設備使用的指令的有形設備。計算機可讀存儲介質例如可以是――但不限於――電存儲設備、磁存儲設備、光存儲設備、電磁存儲設備、半導體存儲設備或者上述的任意合適的組合。計算機可讀存儲介質的更具體的例子(非窮舉的列表)包括:可攜式計算機盤、硬碟、隨 機存取存儲器(ram)、只讀存儲器(rom)、可擦式可編程只讀存儲器(eprom或快閃記憶體)、靜態隨機存取存儲器(sram)、可攜式壓縮盤只讀存儲器(cd-rom)、數字多功能盤(dvd)、記憶棒、軟盤、機械編碼設備、例如其上存儲有指令的打孔卡或凹槽內凸起結構、以及上述的任意合適的組合。這裡所使用的計算機可讀存儲介質不被解釋為瞬時信號本身,諸如無線電波或者其他自由傳播的電磁波、通過波導或其他傳輸媒介傳播的電磁波(例如,通過光纖電纜的光脈衝)、或者通過電線傳輸的電信號。

這裡所描述的計算機可讀程序指令可以從計算機可讀存儲介質下載到各個計算/處理設備,或者通過網絡、例如網際網路、區域網、廣域網和/或無線網下載到外部計算機或外部存儲設備。網絡可以包括銅傳輸電纜、光纖傳輸、無線傳輸、路由器、防火牆、交換機、網關計算機和/或邊緣伺服器。每個計算/處理設備中的網絡適配卡或者網絡接口從網絡接收計算機可讀程序指令,並轉發該計算機可讀程序指令,以供存儲在各個計算/處理設備中的計算機可讀存儲介質中。

用於執行本公開操作的電腦程式指令可以是彙編指令、指令集架構(isa)指令、機器指令、機器相關指令、微代碼、固件指令、狀態設置數據、或者以一種或多種程式語言的任意組合編寫的原始碼或目標代碼,所述程式語言包括面向對象的程式語言—諸如smalltalk、c++等,以及常規的過程式程式語言—諸如「c」語言或類似的程式語言。計算機可讀程序指令可以完全地在用戶計算機上執行、部分地在用戶計算機上執行、作為一個獨立的軟體包執行、部分在用戶計算機上部分在遠程計算機上執行、或者完全在遠程計算機或伺服器上執行。在涉及遠程計算機的情形中,遠程計算機可以通過任意種類的網絡—包括區域網(lan)或廣域網(wan)—連接到用戶計算機,或者,可以連接到外部計算機(例如利用網際網路服務提供商來通過網際網路連接)。在一些實施例中,通過利用計算機可讀程序指令的狀態信息來個性化定製電子電路,例如可編程邏輯電 路、現場可編程門陣列(fpga)或可編程邏輯陣列(pla),該電子電路可以執行計算機可讀程序指令,從而實現本公開的各個方面。

這裡參照根據本公開實施例的方法、裝置(系統)和電腦程式產品的流程圖和/或框圖描述了本公開的各個方面。應當理解,流程圖和/或框圖的每個方框以及流程圖和/或框圖中各方框的組合,都可以由計算機可讀程序指令實現。

這些計算機可讀程序指令可以提供給通用計算機、專用計算機或其它可編程數據處理裝置的處理單元,從而生產出一種機器,使得這些指令在通過計算機或其它可編程數據處理裝置的處理單元執行時,產生了實現流程圖和/或框圖中的一個或多個方框中規定的功能/動作的裝置。也可以把這些計算機可讀程序指令存儲在計算機可讀存儲介質中,這些指令使得計算機、可編程數據處理裝置和/或其他設備以特定方式工作,從而,存儲有指令的計算機可讀介質則包括一個製造品,其包括實現流程圖和/或框圖中的一個或多個方框中規定的功能/動作的各個方面的指令。

也可以把計算機可讀程序指令加載到計算機、其它可編程數據處理裝置、或其它設備上,使得在計算機、其它可編程數據處理裝置或其它設備上執行一系列操作步驟,以產生計算機實現的過程,從而使得在計算機、其它可編程數據處理裝置、或其它設備上執行的指令實現流程圖和/或框圖中的一個或多個方框中規定的功能/動作。

附圖中的流程圖和框圖顯示了根據本公開的多個實施例的系統、方法和電腦程式產品的可能實現的體系架構、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段或指令的一部分,所述模塊、程序段或指令的一部分包含一個或多個用於實現規定的邏輯功能的可執行指令。在有些作為替換的實現中,方框中所標註的功能也可以以不同於附圖中所標註的順序發生。例如,兩個連續的方框實際上可以基本並行地執行,它們有時也可以按相反的順序執行,這依所涉及的功能而定。也要注意的是,框 圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執行規定的功能或動作的專用的基於硬體的系統來實現,或者可以用專用硬體與計算機指令的組合來實現。

以上已經描述了本公開的各實施例,上述說明是示例性的,並非窮盡性的,並且也不限於所披露的各實施例。在不偏離所說明的各實施例的範圍和精神的情況下,對於本技術領域的普通技術人員來說許多修改和變更都是顯而易見的。本文中所用術語的選擇,旨在最好地解釋各實施例的原理、實際應用或對市場中的技術的技術改進,或者使本技術領域的其它普通技術人員能理解本文披露的各實施例。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀