專利名稱:用于管理及預測自動分類器性能的方法和裝置的制作方法
技術領域:
本發(fā)明涉及用于檢測時間性過程變化的技術,以及用于管理和預測自動分類器性能的方法和裝置。
背景技術:
很多依賴于物體的模式識別和/或分類的工業(yè)應用(諸如自動制造檢查或分類系統(tǒng))都在利用有監(jiān)督學習技術。如圖1所代表的有監(jiān)督學習系統(tǒng)是一種基于已加注標簽的訓練數(shù)據(jù)2的代表性輸入集合,利用有監(jiān)督學習算法4來創(chuàng)建經(jīng)訓練的分類器6的系統(tǒng)。訓練數(shù)據(jù)2的集合中的每個成員都包含特征向量xi以及指示出具體成員所屬唯一類別的標簽ci。給定特征向量x,經(jīng)訓練的分類器f將返回相應的類別標簽f(x)=c^.]]>有監(jiān)督學習系統(tǒng)4的目標是使分類器6的準確性或相關的量度不僅對于訓練數(shù)據(jù)2最大化,而且對于類似獲得的、學習算法4無法獲得的測試數(shù)據(jù)的集合也最大化。如果用于具體應用的類別標簽的集合只包含兩個條目,則將該應用稱為二元(或兩類)分類問題。二元分類問題在自動檢查中常見,例如其目標通常是判斷制成品是好還是壞。例如在將項目分類成一個或多個子類的過程(例如按品種對魚分類、按速度對計算機存儲器分類等等)中,也會遇到多類的問題。在統(tǒng)計模式識別中,已經(jīng)廣泛研究了有監(jiān)督學習,并且基于不可見的測試數(shù)據(jù)來訓練分類器并且預測經(jīng)訓練的分類器的性能的多種學習算法和方法是公知的。
再次參考圖1,給定已加注標簽的訓練數(shù)據(jù)集合2(D={xi,ci}),有監(jiān)督學習算法4可被用于產(chǎn)生經(jīng)訓練的分類器6(f(x)=c^).]]>風險或成本αij可能與以下情況相關聯(lián),即當樣本所屬的真正類別為j時將其錯誤地分類為屬于類別i。傳統(tǒng)上,正確的分類被指定為零成本αij=0。典型的目標是估計預期損失(即預計分類器6在從相同過程中得到的新樣本上引起的成本的加權(quán)平均),并使其最小化。損失的概念非常普通。在i和j不同時設置αij=1,并且在i和j相同時設置αij=0(所謂的0/1損失),這種情況下等同于將所有錯誤看作是相同的,并且致使總的錯誤分類率最小。更典型地,不同類型的錯誤將具有不同的相關成本。更復雜的損失公式也是可能的。例如,損失αij可以是函數(shù),而不是常數(shù)。但是,在每種情況下,都定義了預測分類器性能的某種量度,并且目標是使性能最大化,或者等同地,使損失最小化。
目前存在若干用于預測分類器性能的現(xiàn)有技術。一種這樣的技術是使用獨立的訓練和測試數(shù)據(jù)集合。使用訓練數(shù)據(jù)來構(gòu)造經(jīng)訓練的分類器,然后基于獨立的測試數(shù)據(jù)來評估經(jīng)訓練的分類器的性能。但是在很多應用中,收集已加注標簽的數(shù)據(jù)困難而又昂貴,因此希望在訓練期間使用所有可獲得的數(shù)據(jù),從而使所產(chǎn)生分類器的準確性最大化。
另一種被稱為“傳統(tǒng)k次交叉驗證”(或簡稱為“k次交叉驗證”)的用于預測分類器性能的現(xiàn)有技術不需要單獨的測試數(shù)據(jù),因此允許將所有可獲得的數(shù)據(jù)用于訓練。如圖2A和2B所示,在k次交叉驗證中,訓練數(shù)據(jù){xi,ci)被隨機地分割成k個子集Di(1≤i≤k),這k個子集具有大致相等的大小(圖2B,步驟11)。對于迭代i=1到k(步驟12-17),通過使用除Di之外的所有可獲得的數(shù)據(jù)而使用有監(jiān)督學習算法來訓練分類器(步驟14)。然后,這個經(jīng)訓練的分類器被用于分類子集Di中的所有樣本(步驟15),并且存儲分類結(jié)果(步驟16)。在很多情況下,也可以(在步驟16處)只保存匯總統(tǒng)計量,而不保存?zhèn)€別的分類。例如在恒定損失的情況下,保存各種類型的錯誤的總數(shù)就足夠了。在k次迭代之后,對于全部數(shù)據(jù)集合,就已經(jīng)知道了真實(ci)和估計 的類別標簽(或相應的足夠統(tǒng)計量)。然后可以計算諸如錯誤分類率、工作特性曲線或預期損失之類的性能估計(步驟18)。如果樣本總數(shù)為n,那么每個樣本的預期損失例如可以被估計為 當k=n-1時,k次交叉驗證也被稱為“留一法交叉驗證”。在某些應用中,被稱為“廣義交叉驗證”的、在計算上更有效的變體方案可能是優(yōu)選的。這里,我們將這些和類似的現(xiàn)有技術稱為“傳統(tǒng)交叉驗證”,并且不對它們進行區(qū)分。
在k次交叉驗證中,數(shù)據(jù)樣本只在它們不對分類器的訓練起作用時,才被用來估計性能,從而得到合理的性能估計。另外,對于足夠大的k,在上述每次迭代期間的訓練集合大小(大致為 其中n是已加注標簽的訓練數(shù)據(jù)樣本的數(shù)目)只略小于全部數(shù)據(jù)集合的大小,從而導致對性能只是稍有悲觀的估計。
很多有監(jiān)督學習算法致使具有一個或多個可調(diào)整參數(shù)的分類器控制工作點。為了簡單起見,這里將討論局限于二元分類問題,其中ci是兩個不同類別中的一個或另一個類別中的成員。但是,將會意識到,這里所論述的原理可以被擴展到多類分類問題。在二元分類中,假肯定(falsepositive)被定義為在樣本實際上屬于負(或好)類別時,將其錯誤地分類為屬于正(或缺陷)類別。相似地,真肯定被定義為將樣本正確地分類為屬于正類別。然后,假肯定率(也被稱為假報警率)被定義為假肯定的數(shù)目除以負類別的成員數(shù)目。相似地,敏感度被定義為真肯定的數(shù)目除以正類別的成員數(shù)目。根據(jù)這些定義,具有可調(diào)整工作點的二元分類器的性能可以由圖3所示的工作特性曲線(有時被稱為接收方工作特性(ROC)曲線)來概括。分類器工作點的變化等同于選擇ROC曲線上的點。在每個工作點處,發(fā)生任一類型錯誤分類的比率估計是已知的。如果相關成本αij也已知,則可以計算出任一工作點的預期損失。對于單調(diào)的工作特性,可以選擇出唯一的工作點以使預期損失最小化。如前所述,k次交叉驗證提供了構(gòu)造二元分類器的估計ROC曲線所需的信息。
除了有效地利用所有可獲得的數(shù)據(jù)之外,k次交叉驗證還具有允許估計預測性能的可靠性的額外優(yōu)點。對于將數(shù)據(jù)劃分到k個子集中的不同偽隨機劃分,可以重復k次交叉驗證算法。這種方法例如不僅可用于計算預期損失,而且可用于計算該估計的標準方差。相似地,可以執(zhí)行非參數(shù)假設測試(例如,k次交叉驗證可被用于回答諸如“損失超過估計值兩倍的可能性有多大?”之類的問題)。
用于預測分類器性能的現(xiàn)有技術的方法假設訓練數(shù)據(jù)的集合具有代表性。如果不是這樣,并且具體而言,如果產(chǎn)生訓練數(shù)據(jù)樣本的過程受時間性變化的影響(例如過程隨時間偏移或改變),那么經(jīng)訓練的分類器的性能可能要比預測差得多。這樣的性能差異或改變可以在其發(fā)生時被用于檢測時間性變化,但是優(yōu)選的做法是在訓練階段的過程中檢測時間性變化。有監(jiān)督的學習通常不能解決這個問題。
兩種明確地對過程中的時間性變化進行預測的技術是時間序列分析和統(tǒng)計過程控制。時間序列分析試圖理解和建模數(shù)據(jù)集合中的時間性變化,通常這種方法的目標是以一定時期內(nèi)的行為來預測未來的行為,或者校正季節(jié)性或其他變化。統(tǒng)計過程控制(SPC)提供了使過程操作保持在可接受的限度內(nèi)的技術,并且用于在無法這樣做時發(fā)出警報。理想地,統(tǒng)計過程控制能夠被用來使過程保持在其最佳工作點上或最佳工作點附近,幾乎消除了由于基礎過程中的時間性變化而引起的惡劣分類器性能。在實際中,由于時間、成本以及相關困難的影響,因此這種理想情況難以達到。因此,即使在被很好控制的過程中,時間性變化也可能存在于預定限度之內(nèi),并且這種變化可能足以干擾使用有監(jiān)督學習所創(chuàng)建的分類器的性能。在出現(xiàn)時間性過程變化時,時間序列分析和統(tǒng)計過程控制都無法提供可直接用于分析和管理這種分類器的工具。
當a)生成訓練數(shù)據(jù)集合的基礎過程不具有嚴重的時間性變化,或者b)時間性變化出現(xiàn)時,可以應用預測分類器性能的現(xiàn)有技術方法,但是所述基礎過程是平穩(wěn)的并且是各態(tài)歷經(jīng)的,并且樣本在一段足夠長的時間段內(nèi)被收集,因此它們具有代表性。在很多情況下,在所述基礎過程中存在顯式或隱式的時間性變化,在這些情況下,認為訓練數(shù)據(jù)集合代表了基礎過程的假設并不合理,并且k次交叉驗證對性能的估計會明顯過高。例如考慮圖4A、4B和4C中所示的過程。在這些圖形中的“狀態(tài)”僅僅出于圖示的目的。實際狀態(tài)將具有很高的,通常未知的大小,并且其自身難以獲知。如圖4A所示的過程不具有時間性變化。如圖4B所示的過程是具有隨機的、各態(tài)歷經(jīng)的波動的平穩(wěn)過程。如圖4C所示的過程示出了穩(wěn)定的偏移,其在局部均值周圍伴隨有隨機波動。如果給定足夠的訓練數(shù)據(jù),傳統(tǒng)的k次交叉驗證則將準確地預測出對于圖4A所示的過程的分類器性能。對于圖4B所示的過程,如果數(shù)據(jù)集合是在一段足夠長的時間內(nèi)被收集,從而大致以均衡分布對狀態(tài)采樣,那么也將獲得正確的結(jié)果。如果沒有這樣做,則通常將對性能做出過高估計。對于圖4C所示的過程,實際的性能可能在最初與預測性能相匹配,但是實際性能將隨著對未來工作點的進一步采樣而下降。這一系列采樣過程僅僅出于圖示的目的,決不是窮舉性的。
判斷訓練數(shù)據(jù)的集合是否代表過程的步驟通常需要收集附加的已加注標簽的訓練數(shù)據(jù),這可以是相當昂貴的。作為示例,考慮對復雜印制電路配件的制造。使用SPC,可以以高可靠性(例如以百萬分之100(100ppm)數(shù)量級上的缺陷率)來構(gòu)造這種印制電路配件上的單獨的焊點。因此,有缺陷的焊點非常少。但是,大的印制電路配件可以有超過50000個的焊點,因此如果沒有自動檢測需要修復的焊點的能力,那么缺陷的經(jīng)濟影響將是巨大的。有監(jiān)督的學習通常被用于為這種應用構(gòu)造分類器。幾千個缺陷需要訓練,但是由于好的焊點以10000比1的比例在數(shù)量上超過壞的焊點,因此必須對幾百萬個好的焊點進行檢查,以便獲得足夠的缺陷樣本以訓練分類器。這會給負責分配真實類別標簽的分析者(通常是人類專家)帶來沉重負擔,因此對訓練數(shù)據(jù)的收集非常耗時、昂貴,而且易于出現(xiàn)錯誤。另外,對訓練數(shù)據(jù)的收集大于所需,這減慢了訓練過程,并且不會提高性能。因此,希望盡可能使用最小的訓練數(shù)據(jù)集合來獲得所需的性能。
由于上述原因,因此希望能夠從訓練數(shù)據(jù)自身的指示中檢測在過程中時間性變化的出現(xiàn)或可能出現(xiàn)。還希望即使在基礎過程中出現(xiàn)時間性變化的情況下,也能夠預測預期的未來分類器性能。最后,如果能從附加訓練數(shù)據(jù)的收集中獲得性能增益,并且為附加訓練數(shù)據(jù)的使用提供不同的選項(例如用于回答如下問題是簡單地增加現(xiàn)有訓練數(shù)據(jù)的做法更好,還是基于訓練數(shù)據(jù)樣本的滑動窗而周期性地重新訓練分類器的做法更好)將是非常有用的。
發(fā)明內(nèi)容
本發(fā)明提供了用于檢測時間性過程變化的技術,以及通過使用基于樣本的時間排序而得到的性能估計來管理和預測被應用于這種過程的自動分類器的性能的技術。具體而言,本發(fā)明詳述了在已加注標簽的訓練數(shù)據(jù)上檢測在過程中出現(xiàn)或可能出現(xiàn)的時間性變化的方法,用于在這種時間性變化出現(xiàn)時預測使用有監(jiān)督學習算法來訓練的分類器的性能的方法,以及用于研究包含了附加訓練數(shù)據(jù)的收集和最優(yōu)利用過程的情形的方法。所描述的技術還可以被擴展到處理多個源的時間性變化。
本發(fā)明的第一方面包括根據(jù)所產(chǎn)生的過程樣本中的指示來檢測過程中的時間性變化,所述過程樣本被用作已加注標簽的訓練數(shù)據(jù),其用于利用有監(jiān)督學習來訓練分類器。根據(jù)本發(fā)明的第一方面,該方法包括以下步驟根據(jù)一個或多個第一標準選出已加注標簽的訓練數(shù)據(jù)的一個或多個第一教導子集,并且根據(jù)一個或多個第二標準選出已加注標簽的訓練數(shù)據(jù)的相應第一測試子集,其中所述一個或多個第一標準和一個或多個第二標準中的至少一個標準至少部分地基于時間順序;分別使用相應的一個或多個第一教導子集來訓練一個或多個第一分類器;分別使用相應的一個或多個第一分類器來分類一個或多個第一測試子集的成員;將分配給一個或多個第一測試子集的成員的分類與已加注標簽的訓練數(shù)據(jù)中的相應成員的相應真實分類相比較,從而基于比較結(jié)果而產(chǎn)生一個或多個第一性能估計;根據(jù)一個或多個第三標準選出已加注標簽的訓練數(shù)據(jù)的一個或多個第二教導子集,并且根據(jù)一個或多個第四標準選出已加注標簽的訓練數(shù)據(jù)的相應第二測試子集,其中所述第三標準中的至少一個標準至少部分不同于所述第一標準并且/或者所述第四標準中的至少一個至少部分不同于所述第二標準;分別使用相應的一個或多個第二教導子集來訓練一個或多個第二分類器;分別使用相應的一個或多個第二分類器來分類一個或多個第二測試子集的成員;將分配給一個或多個第二測試子集的成員的分類與已加注標簽的訓練數(shù)據(jù)中的相應成員的相應真實分類相比較,從而基于比較結(jié)果而產(chǎn)生一個或多個第二性能估計;以及分析所述一個或多個第一性能估計和一個或多個第二性能估計,從而檢測出時間性變化的證據(jù)。
還可以根據(jù)如下步驟來執(zhí)行對過程中時間性變化的檢測對訓練數(shù)據(jù)的一個或多個第一子集執(zhí)行按時間排序的k次交叉驗證,以產(chǎn)生一個或多個第一性能估計;對訓練數(shù)據(jù)的一個或多個第二子集執(zhí)行按時間排序的k次交叉驗證,以產(chǎn)生一個或多個第二性能估計;以及分析所述一個或多個第一性能估計和一個或多個第二性能估計,從而檢測出時間性變化的證據(jù)。
本發(fā)明的第二方面包括預測在一組己加注標簽的訓練數(shù)據(jù)上被訓練的分類器的性能。根據(jù)本發(fā)明的這個第二方面,該方法包括以下步驟根據(jù)一個或多個第一標準選出已加注標簽的訓練數(shù)據(jù)的一個或多個第一教導子集,并且根據(jù)一個或多個第二標準選出已加注標簽的訓練數(shù)據(jù)的相應第一測試子集,其中所述一個或多個第一標準以及一個或多個第二標準中的至少一個標準至少部分地基于時間順序;分別使用相應的一個或多個第一教導子集來訓練一個或多個第一分類器;分別使用相應的一個或多個第一分類器來分類一個或多個第一測試子集的成員;將分配給一個或多個第一測試子集的成員的分類與已加注標簽的訓練數(shù)據(jù)中的相應成員的相應真實分類相比較,從而基于比較結(jié)果而產(chǎn)生一個或多個第一性能估計;根據(jù)一個或多個第三標準而選出已加注標簽的訓練數(shù)據(jù)的一個或多個第二教導子集,并且根據(jù)一個或多個第四標準而選出已加注標簽的訓練數(shù)據(jù)的相應第二測試子集,其中所述第三標準中的至少一個標準至少部分不同于所述第一標準并且/或者所述第四標準中的至少一個標準至少部分不同于所述第二標準;分別使用相應的一個或多個第二教導子集來訓練一個或多個第二分類器;分別使用相應的一個或多個第二分類器來分類一個或多個第二測試子集的成員;將分配給一個或多個第二測試子集的成員的分類與已加注標簽的訓練數(shù)據(jù)中的相應成員的相應真實分類相比較,從而基于比較結(jié)果而產(chǎn)生一個或多個第二性能估計;以及基于所述第一性能估計和第二性能估計的統(tǒng)計分析來預測所述分類器的性能。
分類器性能預測還可以根據(jù)如下步驟來執(zhí)行對訓練數(shù)據(jù)的一個或多個第一子集執(zhí)行按時間排序的k次交叉驗證,以產(chǎn)生一個或多個第一性能估計;對訓練數(shù)據(jù)的一個或多個第二子集執(zhí)行按時間排序的k次交叉驗證,以產(chǎn)生一個或多個第二性能估計;以及對所述一個或多個第一性能估計和一個或多個第二性能估計執(zhí)行統(tǒng)計分析,以預測所述分類器的性能。
可替換地,分類器性能預測還可以根據(jù)如下步驟來執(zhí)行根據(jù)一個或多個第一標準選出已加注標簽的訓練數(shù)據(jù)的一個或多個教導子集,并且根據(jù)一個或多個第二標準選出已加注標簽的訓練數(shù)據(jù)的相應測試子集,其中所述一個或多個第一標準和一個或多個第二標準中的至少一個標準至少部分地基于時間順序;分別使用相應的一個或多個教導子集來訓練一個或多個第一分類器;分別使用相應的一個或多個第一分類器來分類一個或多個測試子集的成員;將分配給一個或多個測試子集的成員的分類與已加注標簽的訓練數(shù)據(jù)中的相應成員的相應真實分類相比較,從而基于比較結(jié)果而產(chǎn)生一個或多個性能估計;以及基于所述一個或多個性能估計的統(tǒng)計分析來預測分類器的性能。
本發(fā)明的第三方面包括預測由于訓練數(shù)據(jù)集合大小的變化對分類器性能所產(chǎn)生的影響。根據(jù)本發(fā)明的這個第三方面,該方法包括以下步驟從已加注標簽的訓練數(shù)據(jù)中選出多個具有變化大小的訓練子集以及相應的測試子集;在訓練子集上訓練多個分類器;使用相應分類器來分類測試子集的成員;以及將分配給測試子集成員的分類與已加注標簽的訓練數(shù)據(jù)中的相應成員的相應真實分類相比較,從而產(chǎn)生作為訓練集合大小的函數(shù)的性能估計。
由于改變訓練數(shù)據(jù)集合大小而進行的分類器性能預測還可以根據(jù)如下步驟來執(zhí)行在訓練數(shù)據(jù)上執(zhí)行改變k值的按時間排序的k次交叉驗證;并且內(nèi)插或外插所產(chǎn)生的性能估計,以得到所期望的訓練集合大小。
本發(fā)明的第四方面包括預測通過將滑動窗用于訓練數(shù)據(jù)集合而被訓練的分類器的性能。根據(jù)本發(fā)明的這個第四方面,該方法包括以下步驟根據(jù)一個或多個至少部分基于時間順序的第一標準將訓練數(shù)據(jù)集合排序成經(jīng)排序的訓練數(shù)據(jù)集合;選擇一個或多個具有大致相等的第一預定大小的教導子集以及相應的一個或多個具有大致相等的第二預定大小的測試子集,所述教導子集包括所述經(jīng)排序的訓練數(shù)據(jù)集合中的第一相鄰成員,并且所述測試子集包括來自所述經(jīng)排序的訓練數(shù)據(jù)集合的至少一個成員,該成員在時間上緊隨其相應的一個或多個教導子集的所有成員之后;使用所述一個或多個教導子集來訓練相應的一個或多個分類器;使用所述相應的一個或多個分類器來分類所述相應的一個或多個測試子集的成員;將分配給所述相應的一個或多個測試子集的成員的分類與分配給己加注標簽的訓練數(shù)據(jù)中的相應成員的相應真實分類進行比較,以產(chǎn)生一個或多個性能估計;并且基于所述一個或多個性能估計的統(tǒng)計分析來預測所述分類器的性能,所述分類器是通過將滑動窗用于大致具有所述第一預定大小的訓練數(shù)據(jù)而被訓練的。
由于將滑動窗用于訓練而進行的分類器性能預測還可以根據(jù)如下步驟來執(zhí)行根據(jù)至少部分基于時間順序的一個或多個第一標準來選擇訓練數(shù)據(jù)集合的一個或多個組,所述一個或多個組具有大致相等的大??;從所述一個或多個組中的每個組中,根據(jù)至少部分基于時間順序的一個或多個第二標準而選出具有大致相等的第一預定大小的一個或多個教導子集,并且根據(jù)至少部分基于時間順序的一個或多個第三標準而選出相應的具有大致相等的第一預定大小的測試子集;使用來自所述一個或多個組中每個組的一個或多個教導子集來訓練相應的一個或多個分類器;使用所述相應的一個或多個分類器來分類所述相應的一個或多個測試子集的成員;將分配給所述相應的一個或多個測試子集的成員的分類與分配給已加注標簽的訓練數(shù)據(jù)中的相應成員的相應真實分類進行比較,以產(chǎn)生與每個組相關聯(lián)的一個或多個性能估計;并且基于與每個組相關聯(lián)的一個或多個性能估計的統(tǒng)計分析來預測所述分類器的性能,所述分類器是通過將具有大致相等的第一預定大小的滑動窗用于訓練數(shù)據(jù)而被訓練的。
上述(多種)方法優(yōu)選地使用實現(xiàn)所述功能的計算機硬件系統(tǒng)和/或包括程序指令的軟件來執(zhí)行,所述程序指令有形地實施上述(多種)方法。
結(jié)合附圖參考以下詳細描述,本發(fā)明的更完整評價及其很多附加優(yōu)點將變得更加明顯,并且更容易理解,在附圖中,相同的標號指示出相同或相似的組件,其中圖1是傳統(tǒng)的有監(jiān)督學習系統(tǒng)的框圖;圖2A示出了傳統(tǒng)的k次交叉驗證的數(shù)據(jù)流圖;圖2B示出了傳統(tǒng)的k次交叉驗證算法的流程圖;圖3示出了接收方工作特性(ROC)曲線的示例的圖;
圖4A示出了不具有時間性變化的按時間繪制的示例性過程的圖;圖4B示出了具有隨機的、各態(tài)歷經(jīng)波動的按時間繪制的示例性平穩(wěn)過程的圖;圖4C示出了具有穩(wěn)定偏移的按時間繪制的示例性過程的圖,其中所述穩(wěn)定偏移在均值周圍伴隨有隨機波動;圖5A示出了按時間排序的k次交叉驗證的數(shù)據(jù)流圖;圖5B示出了根據(jù)本發(fā)明實現(xiàn)的按時間排序的k次交叉驗證算法的流程圖;圖6示出了基于用于訓練分類器的訓練數(shù)據(jù)而預測過程中的時間性變化的創(chuàng)造性技術的流程圖;圖7是根據(jù)本發(fā)明實現(xiàn)的用于實現(xiàn)時間性變化管理器的系統(tǒng)的框圖;圖8示出了用于預測分類器的未來性能的操作方法的流程圖;圖9示出了用于判斷將滑動窗用于訓練數(shù)據(jù)是否將提高分類器性能的操作方法的流程圖;圖10根據(jù)圖9的方法,示出了在訓練分類器時,使用訓練數(shù)據(jù)樣本的滑動窗的數(shù)據(jù)流圖;圖11示出了用于判斷在訓練分類器時,訓練數(shù)據(jù)樣本的滑動窗的使用是否將提高分類器性能的另一操作方法的流程圖;以及圖12根據(jù)圖11的方法,示出了在訓練分類器時,使用訓練數(shù)據(jù)樣本的滑動窗的數(shù)據(jù)流圖。
具體實施例方式
本發(fā)明提供了一種技術,該技術從利用有監(jiān)督學習來訓練分類器的訓練數(shù)據(jù)的指示中檢測出在過程中出現(xiàn)或可能出現(xiàn)的時間性變化。本發(fā)明還提供了用于在基礎過程中出現(xiàn)時間性變化時預測預期的分類器未來性能的技術,以及如果以及在收集附加的訓練數(shù)據(jù)時,用于研究各種使附加的已加注標簽的訓練數(shù)據(jù)的使用最優(yōu)化的選項的技術。本發(fā)明采用了被稱為“按時間排序的k次交叉驗證”的新穎技術,并且將使用傳統(tǒng)的k次交叉驗證獲得的性能估計與使用按時間排序的k次交叉驗證獲得的性能估計進行比較,從而檢測出基礎過程中的時間性變化的可能指示。
如圖5A和5B中附圖所代表的按時間排序的k次交叉驗證與傳統(tǒng)的k次交叉驗證的不同之處在于將已加注標簽的訓練數(shù)據(jù)(D={xi,ci})的集合劃分成k個子集的過程不是隨機完成的。相反,首先根據(jù)一個或多個相關標準(例如到達時間、檢查時間、制造時間等等)按時間的遞增順序?qū)τ柧殧?shù)據(jù)進行排序(圖5B中的步驟31)。然后將經(jīng)排序的訓練數(shù)據(jù)的集合(DSORTED)劃分成(保持按時間排序的順序)k個子集D1,D2,...,Dk,這k個子集(大致)具有相同數(shù)目的樣本(步驟32)。
該過程的其余步驟都與傳統(tǒng)的k次交叉驗證相同。對于每個i=1,...k,基于去除掉Di的訓練數(shù)據(jù)來訓練分類器,并且所產(chǎn)生的分類器用于為Di的成員生成估計的類別標簽 (步驟33-38)。最后,根據(jù)真實的和估計的類別標簽,或者相應的匯總統(tǒng)計來計算預測性能PETIME_ORDERED(k)。如前所述,可以計算出性能的一個或多個標準量度,例如預期損失、錯誤分類率和工作特性曲線。與傳統(tǒng)的k次交叉驗證一樣,數(shù)據(jù)集合中的所有樣本都被用于訓練和測試。
通常已經(jīng)注意到,在性能的傳統(tǒng)預測和按時間排序的預測有所不同的過程中,按時間排序的性能估計PETIME_ORDERED(k)通常提供比傳統(tǒng)k次交叉驗證的性能估計PE(k)好得多的未來分類器性能預測。根據(jù)本發(fā)明的一個方面,用于檢測基礎過程中可能出現(xiàn)的時間性變化的方法通過比較在傳統(tǒng)和按時間排序的k次交叉驗證中獲得的性能估計而利用了這一事實。更具體而言,本發(fā)明采用了諸如圖6所示的方法50之類的方法,該方法在已加注標簽的訓練數(shù)據(jù)上執(zhí)行傳統(tǒng)的k次交叉驗證(步驟51)和按時間排序的k次交叉驗證(步驟52)兩者。在步驟53中,對根據(jù)兩種技術產(chǎn)生的性能估計進行比較。如果由按時間排序的k次交叉驗證估計出的性能與由傳統(tǒng)的k次交叉驗證估計出的性能相比不足夠壞,則將傳統(tǒng)的k次交叉驗證用作對分類器未來性能的準確預測器(步驟54),并且沒有找到時間性變化的證據(jù),即,在收集訓練樣本的時間范圍內(nèi)沒有出現(xiàn)時間性變化,或者即便出現(xiàn)時間性變化,那么由于訓練樣本是在一段足夠長的時間段內(nèi)收集的,它們具有代表性,因此所述過程表現(xiàn)出平穩(wěn)性和各態(tài)歷經(jīng)性。
但是,如果基于按時間排序的k次交叉驗證估計出的性能足夠壞(步驟55),則選擇性地生成警告(步驟56),該警告指出在基礎過程中可能出現(xiàn)時間性變化,并且保證做進一步分析。另外在這些條件下,按時間排序的k次交叉驗證的性能估計與傳統(tǒng)的k次交叉驗證的性能估計相比,提供了更好的對未來分類器性能的短期預測器。
在本發(fā)明的另一方面中,當檢測到時間性變化時,自動地或者在人工用戶控制下執(zhí)行進一步分析,從而預測通過收集附加的訓練數(shù)據(jù),可能獲得性能的怎樣提高。具體而言,構(gòu)造訓練集合大小和預測性能之間的曲線圖。另外,執(zhí)行分析來判斷是通過將新獲得的訓練數(shù)據(jù)和之前收集的訓練數(shù)據(jù)組合起來將產(chǎn)生更好的性能,還是通過對正在進行的訓練數(shù)據(jù)獲取過程使用具有給定大小的滑動窗將產(chǎn)生更好的性能。
圖7是根據(jù)本發(fā)明實現(xiàn)的系統(tǒng)100的框圖。系統(tǒng)100檢測用于產(chǎn)生已加注標簽的訓練數(shù)據(jù)集合104的過程130中可能出現(xiàn)的時間性變化,并且預測在數(shù)據(jù)集合104上使用有監(jiān)督學習算法105而訓練的分類器的未來性能。另外,系統(tǒng)100對于是否收集附加的訓練數(shù)據(jù)給出建議,并且如果收集,則對如何利用它給出建議。系統(tǒng)100一般包括用于執(zhí)行存儲器103中所存儲的實現(xiàn)本發(fā)明功能的代碼(例如多個程序指令)的程序和/或邏輯控制101(例如處理器102)。具體而言,存儲器103優(yōu)選地包括實現(xiàn)有監(jiān)督學習算法105、分類器106、時間性變化管理器110和數(shù)據(jù)選擇模塊111的代碼。
有監(jiān)督學習算法105使用由數(shù)據(jù)選擇模塊111選出的訓練數(shù)據(jù)104中的一些或全部來構(gòu)造經(jīng)訓練的分類器106。數(shù)據(jù)選擇模塊111在程序的控制下,能夠根據(jù)指定標準109對數(shù)據(jù)進行排序,還能夠以確定性的或者偽隨機的方式選擇經(jīng)排序數(shù)據(jù)或者原始數(shù)據(jù)的子集。按時間排序的k次交叉驗證算法和傳統(tǒng)的k次交叉驗證算法分別由模塊116和112來實現(xiàn)。如圖所示,模塊118和114所產(chǎn)生的性能估計分別與將由圖5B和圖2B中的算法所產(chǎn)生的性能估計相同,并且因此模塊116和112可以被認為在邏輯上截然不同。但是,在優(yōu)選實施例中,所有的排序、子集選擇和劃分實際上都由數(shù)據(jù)選擇模塊111來執(zhí)行,因此模塊116和112實際上被實現(xiàn)為單個共享的k次交叉驗證模塊,該模塊預計數(shù)據(jù)已被預先劃分為k個子集。如圖5B和2B所示,交叉驗證模塊使用學習算法105來構(gòu)造經(jīng)訓練的分類器106,接著經(jīng)訓練的分類器106被用于為每個輸入向量xi生成估計分類 。然后,通過比較真實的和預期的分類集合{ci)和 或相應的匯總統(tǒng)計來獲得按時間排序的和傳統(tǒng)性能估計118和114。在優(yōu)選實施例中,預期損失被用作公共的性能估計。時間性變化管理器110根據(jù)從按時間排序的和傳統(tǒng)的k次交叉驗證中獲得的匯總統(tǒng)計來構(gòu)造ROC曲線,并且選擇使預期的每樣本損失最小化的工作點。
時間性變化管理器110還包括時間性變化檢測功能塊120,并且優(yōu)選地包括未來性能預測功能塊123和預測性能分析器124。
時間性變化管理器110的時間性變化檢測功能塊120包括比較功能塊121,該功能塊將傳統(tǒng)k次交叉驗證的性能估計113和按時間排序的k次交叉驗證的性能估計117進行比較,從而確定在基礎過程中可能出現(xiàn)的時間性變化。在優(yōu)選實施例中,比較功能塊120在使各個預期的每樣本損失最小化的各條ROC曲線的各個工作點處,對分別從傳統(tǒng)k次交叉驗證性能估計113和按時間排序的k次交叉驗證性能估計117中計算出的預期損失115和119進行比較。因此,在優(yōu)選實施例中,比較功能塊120判斷使用按時問排序的k次交叉驗證計算出的預期的每樣本損失119與使用普通傳統(tǒng)的k次交叉驗證計算出的預期的每樣本損失115相比是否足夠大(在合理的誤差邊界內(nèi))。(對于非二元的情況,產(chǎn)生更高維平面而不是ROC曲線;但是,最優(yōu)工作點以及相關的預期損失仍舊存在,它們可以被計算和比較。)如果按時間排序的k次交叉驗證性能估計117與傳統(tǒng)k次交叉驗證性能估計113具有可比性,或者比其更好,則不存在未受控的時間性變化的證據(jù),并且傳統(tǒng)的k次交叉驗證提供了適當?shù)男阅茴A測123。另一方面,如果由按時間排序的k次交叉驗證預測的性能與由傳統(tǒng)的k次交叉驗證預測的性能相比足夠壞,則暗示存在時間性變化,并且因此傳統(tǒng)的k次交叉驗證方法過高地估計了使用當前可獲得的訓練數(shù)據(jù)104中的全部數(shù)據(jù)進行訓練的分類器的性能。在這種情況下,警告產(chǎn)生122優(yōu)選地產(chǎn)生警告,該警告指出在基礎過程中可能存在時間性變化。該警告可以以很多不同的方式產(chǎn)生,包括在指定的寄存器或存儲器位置中設置一個比特或值、由處理器102產(chǎn)生中斷、從過程調(diào)用中返回參數(shù)、調(diào)用產(chǎn)生警告的方法或過程(例如在圖形用戶界面中,或者作為外部信號),或者任何用于以信令來通報狀態(tài)的已知計算機化方法。另外,在這種情況下,預測性能123將基于由按時間排序的交叉驗證所估計出的每樣本預測損失。
一種用于判斷由按時間排序的k次交叉驗證預測出的性能是否比由傳統(tǒng)的k次交叉驗證預測出的性能“足夠壞”的方法如下由于按時間排序的分組是唯一的,因此按時間排序的分組無法被重新采樣,從而按照通常由普通的交叉驗證所使用的方式來估計所述性能估計的可變性。但是,由于傳統(tǒng)的k次交叉驗證分組是隨機選擇的,因此可以測試如下虛假設按時間排序的估計和傳統(tǒng)估計之間的差別是由于傳統(tǒng)k次交叉驗證估計中的隨機變化。如果在傳統(tǒng)k次交叉驗證的重復應用中,估計性能比在這時由按時間排序的k次交叉驗證獲得的估計性能壞p%,那么如果p(所獲得的重要性等級)很小,所述差別則可能相當大。
也可以使用其它用于估計性能估計的變化性,并且判斷它們是不是非常不同的方法。例如,在不重復傳統(tǒng)的k次交叉驗證的情況下,可以完成傳統(tǒng)性能估計和按時間排序的性能估計之間的比較。對于傳統(tǒng)的k次交叉驗證和按時間排序的k次交叉驗證兩者,都可以在k個評估子集中的每一個或其組合上單獨計算性能估計。然后,這些估計在每種類型的交叉驗證內(nèi)的變化性(例如標準方差或范圍)可被用作相應的全面性能估計的可信度量度。然后,可以應用傳統(tǒng)的統(tǒng)計測試來判斷所述估計是否相當不同。
由于收集附加訓練數(shù)據(jù)的步驟可能非常昂貴,因此希望在實際收集之前預測可能預期對分類器性能產(chǎn)生什么影響。時間性變化管理器110優(yōu)選地包括預測性能分析器124,該預測性能分析器124與其它功能塊一起預測增大已加注標簽的訓練數(shù)據(jù)集合的大小所產(chǎn)生的影響。通過估計可能產(chǎn)生的性能增益,可以用獲取數(shù)據(jù)的成本換得收益。圖8示出了操作60的優(yōu)選方法,在操作60中,預測性能分析器124執(zhí)行以上功能。如其所述,未來性能預測方法60重復地執(zhí)行按時間排序的k次交叉驗證,同時改變k并且將所產(chǎn)生的性能估計(優(yōu)選地,在最優(yōu)工作點處的預期損失)存儲為有效的訓練集合大小的函數(shù)。如果發(fā)現(xiàn)預測性能隨著訓練集合大小的增大而提高,那么結(jié)果可以被外插,從而預期訓練集合大小的給定增長可能會導致性能收益。相反,如果沒有發(fā)現(xiàn)性能隨著訓練集合大小的增大而提高或者提高很小,則說明附加的訓練數(shù)據(jù)未必有用。注意,在該示例中,我們考慮獲取附加的訓練數(shù)據(jù),并且將它們簡單地添加到之前的數(shù)據(jù)中。諸如移動窗之類的附加選項將在下面進行描述。
更詳細地討論方法60,首先按照時間的遞增順序?qū)色@得的已加注標簽的訓練數(shù)據(jù)進行排序(步驟61),并且將它們劃分成具有大致相同大小的k=k1個子集,同時保持排序的順序不變。如上所述,排序和劃分功能由數(shù)據(jù)選擇模塊111來執(zhí)行。執(zhí)行按時間排序的k次交叉驗證116,并且存儲所產(chǎn)生的性能估計118以及有效的訓練集合大小 然后,增大子集數(shù)目k,并且重復該過程,直到k超過選定的上限k>K2。
當對于k次迭代的每個值的性能估計都已被收集時,可以對性能估計(或其匯總數(shù)據(jù))進行分析,并且可以計算未來分類器性能的預測。由于訓練集合的大小大致隨 而變,因此k的較大值接近較大訓練集合的效果,當然易于受到統(tǒng)計變化。然后通過外插,可以利用各種數(shù)量的附加訓練數(shù)據(jù)而估計出預期的分類器性能。當然,外插總是帶有風險,因此必須利用實際的性能結(jié)果來核實這樣的預測。但是,即使不經(jīng)過外插,這樣的曲線圖也將指示出性能是否仍舊隨著訓練集合大小而快速改變。預測性能隨著訓練集合大小的快速提高清晰地指示出訓練數(shù)據(jù)不代表基礎過程,并且強烈指出需要收集附加的已加注標簽的訓練數(shù)據(jù)。利用內(nèi)插或外插,還可以使用這樣的曲線圖來校正從具有不同大小的數(shù)據(jù)集合(例如兩個分別包含N1和N2個點的數(shù)據(jù)集合)得出的預測,以回到公共的比較點(例如將對于包含N2個點的數(shù)據(jù)集合的預測性能校正為與對于包含N1個點的數(shù)據(jù)集合的預測性能具有可比性)。這種排序的校正增大了如下可能性性能上的其余差別是由于數(shù)據(jù)的實際變化所引起的,而不是由于對樣本大小的簡單人為改變所引起。
如果判斷出將要收集附加的已加注標簽的訓練數(shù)據(jù),則預測性能分析器124優(yōu)選地判斷怎樣才能最好地利用己收集的附加的已加注標簽的訓練數(shù)據(jù)。例如,可以將附加的已加注標簽的訓練數(shù)據(jù)與已加注標簽的訓練數(shù)據(jù)104的初始集合組合起來,并在單個訓練期間被用于訓練分類器。可替換地,附加的已加注標簽的訓練數(shù)據(jù)可以被用于根據(jù)滑動窗方案而使用組合數(shù)據(jù)的子集來周期性地訓練分類器。為了判斷如何最好地利用附加的己加注標簽的訓練數(shù)據(jù),預測性能分析器124可以利用滑動窗方案來仿真訓練,并且可以將所產(chǎn)生的性能估計與使用所有可獲得的訓練數(shù)據(jù)得到的性能估計進行比較。這樣的分析可以在收集附加的訓練數(shù)據(jù)之前或者之后執(zhí)行。
圖9示出了示例性的方法70,該方法用于判斷與使用整個訓練集合的情況相比,將滑動窗用于已加注標簽的訓練數(shù)據(jù)是否將提高分類器的性能。出于這個目的,按相關時間的遞增順序?qū)τ柧殧?shù)據(jù)D進行排序(步驟71),然后將經(jīng)排序的已加注標簽的訓練數(shù)據(jù)DSORTED劃分為M個子集D1,D2,...,DM,優(yōu)選地,這些子集具有大致相等的大小(步驟72)。這些操作由數(shù)據(jù)選擇模塊111來執(zhí)行。從概念上講,然后對仿真大小為n/M的滑動窗的D1,...,DM中的每一個單獨執(zhí)行按時間排序的k次交叉驗證,并且將所產(chǎn)生的性能估計與從使用整個數(shù)據(jù)集合DSORTED的k次交叉驗證中得到的結(jié)果進行比較。如上所述,在優(yōu)選的實施例中,排序和劃分操作都在數(shù)據(jù)選擇模塊111中執(zhí)行,而不是由交叉驗證模塊來執(zhí)行。為了對DSORTED執(zhí)行按時間排序的k次交叉驗證,例如,數(shù)據(jù)選擇模塊111將DSORTED確定性地劃分為k個子集DSORTED_1...DSORTED_k,同時保持排序順序不變。然后這些子集被傳遞到普通交叉驗證模塊116/112,所述普通交叉驗證模塊116/112無需執(zhí)行任何附加的排序或劃分,就可以計算出性能估計。相似地,D1,...,DM中的每一個都被單獨地劃分為k個子集,以用于交叉驗證模塊的處理。
將所產(chǎn)生的性能估計分別標注為PE1...PEM以及PESORTED,對這些性能估計進行比較(步驟74)。可能產(chǎn)生若干結(jié)果。如果PE1...PEM在大范圍內(nèi)變化,那么窗大小n/M可能太小,應該被增大。假設這些估計基本一致。在這種情況下,如果PE1...PEM與PESORTED具有可比性,則意味著將滑動窗用于訓練數(shù)據(jù)的做法將不會提高性能。相反,如果PE1...PEM好于PESORTED,則指出需要使用滑動窗。利用變化的窗大小(即改變M)的進一步分析將被用于選擇最優(yōu)的窗大小。最后,如果PE1...PEM與PESORTED相比足夠壞,那么滑動窗大小可能太小。在這種情況下,可以降低M并且重復分析,或者在步驟前進之前收集附加的訓練數(shù)據(jù)。
根據(jù)第四種情況,當對于各個子集D1,D2,...,DM中的每一個子集的性能估計PE1,PE2,...,PEM彼此之間變化很大時,在產(chǎn)生訓練數(shù)據(jù)樣本的基礎過程中可能存在時間性變化。在這種情況下,具有不同數(shù)據(jù)集合大小的滑動訓練窗的使用可以提高分類器的性能。因此,可以以各種不同的數(shù)據(jù)集合大小來重復過程70,從而判斷是否可以提高分類器性能,并且如果可以,則優(yōu)選地,還使用導致最優(yōu)分類器性能的數(shù)據(jù)集合大小。
圖10示意性地示出了用于訓練分類器的滑動窗的概念。在所示實施例中,按時間排序的已加注標簽的訓練數(shù)據(jù)DSORTED被劃分為四個相互獨立的子集D1、D2、D3和D4,這四個子集具有大致相等的大小(即在任意子集中,都沒有成員屬于任何其他的子集)。理想地,應該以大致恒定的采樣頻率來收集訓練數(shù)據(jù),從而使相等的樣本大小對應于大致相等的持續(xù)時間。所述大小代表滑動窗在訓練數(shù)據(jù)中的樣本長度。這樣,分類器將在子集D1上被訓練,稍后在子集D2上被訓練,以此類推。滑動窗的最優(yōu)大小依賴于反映基礎過程中的時間性變化的需求和代表性樣本數(shù)目的需求之間的權(quán)衡。
當然,本領域技術人員將會意識到,子集的數(shù)目M可以根據(jù)具體應用而變化,并且還可以將子集構(gòu)造為彼此重疊,從而使一個或多個子集包括來自于在時間上緊接給定子集之前或者緊隨給定子集之后的那個子集的數(shù)據(jù)樣本。按時間排序的k次交叉驗證提供了用于選擇這種滑動窗大小以使性能最優(yōu)化的機制。
圖11示出了另一示例性方法80,該方法用于判斷與使用整個訓練集合的情況相比,將滑動窗用于已加注標簽的訓練數(shù)據(jù)是否將提高分類器的性能。在該方法中,按相關時間的遞增順序?qū)τ柧殧?shù)據(jù)D進行排序(步驟81)。M個具有大致相等大小的子集D1,D2,...,DM是從經(jīng)排序的已加注標簽的訓練數(shù)據(jù)DSORTED中選出的,同時保持時間上的順序(步驟82)。從M個子集中選出訓練數(shù)據(jù)子集和相應的測試數(shù)據(jù)子集對(步驟83)。測試數(shù)據(jù)子集被優(yōu)選地選為在時間上跟隨(將數(shù)據(jù)集合看作循環(huán)的)并靠近其相應的訓練數(shù)據(jù)子集。同樣,這些操作優(yōu)選地由數(shù)據(jù)選擇模塊111來執(zhí)行。然后,將每個選出的訓練數(shù)據(jù)子集用于訓練相應的分類器(步驟84),然后將相應的分類器用于分類其相應測試數(shù)據(jù)子集的成員(步驟85)。利用大小為n/M的有效滑動窗,將所分配的分類與已知的真實分類進行比較,從而產(chǎn)生性能估計(步驟86)。對這些性能估計PE1...PEM進行比較(步驟87)。
如果PE1...PEM基本上具有可比性,那么它們的平均值(或者其他統(tǒng)計匯總)預測出使用大小為n/M的滑動窗將會獲得的性能(步驟88)。為了判斷滑動窗是否將提高性能,需要將利用大小為n/M的滑動窗估計出的性能與使用完整的數(shù)據(jù)集合估計出的性能進行比較。這樣,然后將基本上具有可比性的性能估計PE1...PEM或者它們的總體匯總(例如它們的平均值)與性能估計PESORTED進行比較(步驟89),如以上所描述并如圖9所示出的,性能估計PESORTED是由在總的按時間排序的訓練數(shù)據(jù)集合DSORTED上被訓練的分類器所產(chǎn)生的。如果來自步驟89的比較指示出性能估計PE1...PEM或其統(tǒng)計匯總足夠好于性能估計PESORTED,那么使用大小為n/M的滑動窗來訓練分類器的做法應該引起分類器性能的提高(步驟90)??梢砸愿鞣N不同的數(shù)據(jù)集合大小(n/M)來重復過程80,從而利用窗大小進行實驗以找到能夠產(chǎn)生最好的預期性能結(jié)果的大小。
但是,如果比較過程(來自步驟89)指示出性能估計PE1...PEM或其統(tǒng)計匯總沒有足夠好于性能估計PESORTED,則不存在證據(jù)表明大小為n/M的滑動窗將會提高分類器性能(步驟91)。為了找到能夠提高性能的窗大小,可以用各種不同的數(shù)據(jù)集合大小(n/M)來重復過程80,從而利用窗大小進行實驗。
相反,如果發(fā)現(xiàn)(在步驟87中)性能估計PE1...PEM差別相當大,則無法得出明確的結(jié)論(步驟92)(除非性能估計PE1...PEM的總體或其他統(tǒng)計匯總相當不同于PESORTED)。這樣的結(jié)果可能是由于窗大小n/M太小,而使用更大的窗大小進行訓練會得到更加具有可比性的性能估計PE1...PEM。因此,可以以各種不同的數(shù)據(jù)集合大小(n/M)來重復過程80,以判斷是否能夠獲得分類器性能的提高,如果可以,還優(yōu)選地使用能夠產(chǎn)生最優(yōu)分類器性能的窗大小n/M。
圖12示意性圖示出圖11的滑動窗方法。在所示實施例中,按時間排序的已加注標簽的訓練數(shù)據(jù)DSORTED被劃分為具有大致相等大小的四個相互獨立的子集D1、D2、D3和D4。每個子集D1、D2、D3和D4被用于訓練相應的分類器,并且每個相應的分類器被用于分類每個時間上連續(xù)的子集(在所示實施例中,以覆蓋線表示)D4、D1、D2、D3的成員。分類結(jié)果被用于產(chǎn)生性能估計PE1...PE4。(注意,如果假設按時間排序的已加注標簽的訓練數(shù)據(jù)DSORTED是周期性的,那么可以將其看作循環(huán)的,并且因此在時間上隨子集D4之后的子集將是D1。如果不假設按時間排序的已加注標簽的訓練數(shù)據(jù)DSORTED是周期性的,那么將從分析中省略掉相應于訓練/測試子集對D4/D1的性能估計P4。)如前所述,訓練數(shù)據(jù)應該以大致恒定的采樣頻率被收集,因此相等的樣本大小對應于大致相等的持續(xù)時間。當然,本領域技術人員將會意識到,子集數(shù)目M可以根據(jù)具體應用而變化,并且還可以將子集構(gòu)造為彼此重疊,從而使一個或多個子集包括來自于在時間上緊接給定子集之前或者緊隨給定子集之后的那個子集的數(shù)據(jù)樣本。
之前的論述已經(jīng)假設單個時間足夠刻畫所考慮過程的時間性變化。這種假設并不總是有效的。可以引入時間性變化的多個源,并且每個源可能需要其自身用于特征化的時間戳。按時間排序的k次交叉驗證可以被容易地擴展到處理多個時間。繼續(xù)上述制造示例,假設制造和測量過程中的變化都很重要,并且以樣本的制造時間和檢查或測量時間兩者來標注每個樣本。因此現(xiàn)在每個樣本具有兩個相關時間t1和t2,這兩個時間分別對應于制造和測量時間??梢詫⑺鼈兛醋鳉W幾里得空間中的正交維度。因此在本示例中的樣本(訓練數(shù)據(jù))點可以被看作位于兩維圖形(例如沿著x軸的t1和沿著y軸的t2)上。假設t1的變化比t2的變化具有更大的影響。(可以隨機地斷開聯(lián)系。)通過沿著選擇t1軸選擇斷點而將樣本劃分為具有大致相等大小的k1個集合。然后,再通過沿著t2軸選擇斷點而將這k1個集合中的每一個進一步劃分為具有大致相等大小的k2個集合。這就得到了k=k1k2個方形區(qū)域,其中每個區(qū)域包含的樣本點數(shù)目大致相等。與一維的情況相同,這些區(qū)域可以在訓練期間被保持,從而產(chǎn)生按時間排序的k1×k2次交叉驗證??梢詫⑾嗤倪^程方便地擴展到處理更多維數(shù)的情況。
注意,這種按時間排序的分組是一種可能在傳統(tǒng)的k次交叉驗證的過程中產(chǎn)生的有效樣本,雖然其概率較低。如前所述,可以將由傳統(tǒng)的和按時間排序的k次交叉驗證預測出的性能進行比較,以檢測時間性變化的證據(jù),從而判斷附加訓練數(shù)據(jù)的收集是否適當,并且判斷如何最好地利用這樣的附加訓練數(shù)據(jù)。
總之,本發(fā)明在有監(jiān)督學習和自動分類系統(tǒng)的環(huán)境中,利用傳統(tǒng)的和按時間排序的k次交叉驗證兩者來檢測和管理時間性變化的某些有問題的情況。它還提供了用于預測在這種情況下構(gòu)造的分類器的性能的工具。最后,本發(fā)明可被用于提出如下方法;該方法用于管理訓練數(shù)據(jù)庫以及正在進行訓練的分類器,從而在這種時間性改變的情況下使性能最大化。雖然以上內(nèi)容是根據(jù)隨時間變化的過程而設計和描述的,但是應該意識到,根據(jù)其他變量(例如溫度、位置等等)的變化也可以用上述方式來應對。
雖然已經(jīng)出于舉例說明的目的而公開了本發(fā)明的優(yōu)選實施例,但是本領域的技術人員將會意識到,無需脫離所附權(quán)利要求中所公開的本發(fā)明的范圍和精神,可以進行各種修改、添加和替換。當前公開的發(fā)明的其他益處或用途也可能將隨著時間而變得更加明顯。
權(quán)利要求
1.一種用于預測分類器性能的方法,所述分類器是通過將滑動窗用于訓練數(shù)據(jù)集合而被訓練的,所述方法包括以下步驟根據(jù)至少部分基于時間順序的一個或多個第一標準,將所述訓練數(shù)據(jù)集合排序成經(jīng)排序的訓練數(shù)據(jù)集合;選擇一個或多個具有大致相等的第一預定大小的教導子集以及相應的一個或多個具有大致相等的第二預定大小的測試子集,所述教導子集包括所述經(jīng)排序的訓練數(shù)據(jù)集合中的第一相鄰成員,并且所述測試子集包括來自所述經(jīng)排序的訓練數(shù)據(jù)集合的至少一個成員,該成員在時間上緊隨其相應的一個或多個教導子集的所有成員之后;使用所述一個或多個教導子集來訓練相應的一個或多個分類器;使用所述相應的一個或多個分類器來分類所述相應的一個或多個測試子集的成員;將分配給所述相應的一個或多個測試子集的成員的分類與分配給已加注標簽的訓練數(shù)據(jù)中的相應成員的相應真實分類進行比較,以產(chǎn)生一個或多個性能估計;并且基于所述一個或多個性能估計的統(tǒng)計分析來預測所述分類器的性能,所述分類器是通過將滑動窗用于大致具有所述第一預定大小的訓練數(shù)據(jù)而被訓練的。
2.一種有形地包含程序指令的計算機可讀存儲介質(zhì),所述程序指令實現(xiàn)用于預測分類器性能的方法,所述分類器是通過將滑動窗用于訓練數(shù)據(jù)集合而被訓練的,所述方法包括以下步驟根據(jù)至少部分基于時間順序的一個或多個第一標準,將所述訓練數(shù)據(jù)集合排序成經(jīng)排序的訓練數(shù)據(jù)集合;選擇一個或多個具有大致相等的第一預定大小的教導子集以及相應的一個或多個具有大致相等的第二預定大小的測試子集,所述教導子集包括所述經(jīng)排序的訓練數(shù)據(jù)集合中的第一相鄰成員,并且所述測試子集包括來自所述經(jīng)排序的訓練數(shù)據(jù)集合的至少一個成員,該成員在時間上緊隨其相應的一個或多個教導子集的所有成員之后;使用所述一個或多個教導子集來訓練相應的一個或多個分類器;使用所述相應的一個或多個分類器來分類所述相應的一個或多個測試子集的成員;將分配給所述相應的一個或多個測試子集的成員的分類與分配給已加注標簽的訓練數(shù)據(jù)中的相應成員的相應真實分類進行比較,以產(chǎn)生一個或多個性能估計;并且基于所述一個或多個性能估計的統(tǒng)計分析來預測所述分類器的性能,所述分類器是通過將滑動窗用于大致具有所述第一預定大小的訓練數(shù)據(jù)而被訓練的。
3.一種用于預測分類器性能的系統(tǒng),所述分類器是通過將滑動窗用于訓練數(shù)據(jù)集合而被訓練的,所述系統(tǒng)包括數(shù)據(jù)選擇功能塊,該功能塊根據(jù)至少部分基于時間順序的一個或多個第一標準,將所述訓練數(shù)據(jù)集合排序成經(jīng)排序的訓練數(shù)據(jù)集合,并且該功能塊選擇一個或多個具有大致相等的第一預定大小的教導子集以及相應的一個或多個具有大致相等的第二預定大小的測試子集,所述教導子集包括所述經(jīng)排序的訓練數(shù)據(jù)集合中的第一相鄰成員,并且所述測試子集包括來自所述經(jīng)排序的訓練數(shù)據(jù)集合的至少一個成員,該成員在時間上緊隨其相應的一個或多個教導子集的所有成員之后;一個或多個分類器,分別使用所述一個或多個教導子集來訓練所述一個或多個分類器,并且使用所述相應的一個或多個分類器來分別分類所述相應的一個或多個測試子集的成員;比較功能塊,該比較功能塊將分配給所述相應的一個或多個測試子集的成員的分類與分配給已加注標簽的訓練數(shù)據(jù)中的相應成員的相應真實分類進行比較,以產(chǎn)生一個或多個性能估計;以及預測功能塊,該預測功能塊基于所述一個或多個性能估計的統(tǒng)計分析來預測所述分類器的性能,所述分類器是通過將滑動窗用于大致具有所述第一預定大小的訓練數(shù)據(jù)而被訓練的。
4.一種用于預測分類器性能的方法,所述分類器是通過將滑動窗用于訓練數(shù)據(jù)集合而被訓練的,所述方法包括以下步驟根據(jù)至少部分基于時間順序的一個或多個第一標準來選擇所述訓練數(shù)據(jù)集合的一個或多個組,所述一個或多個組具有大致相等的大?。粡乃鲆粋€或多個組中的每個組中,根據(jù)至少部分基于時間順序的一個或多個第二標準而選出具有大致相等的第一預定大小的一個或多個教導子集,并且根據(jù)至少部分基于時間順序的一個或多個第三標準而選出相應的具有大致相等的第一預定大小的測試子集;使用來自所述一個或多個組中每個組的一個或多個教導子集來訓練相應的一個或多個分類器;使用所述相應的一個或多個分類器來分類所述相應的一個或多個測試子集的成員;將分配給所述相應的一個或多個測試子集的成員的分類與分配給已加注標簽的訓練數(shù)據(jù)中的相應成員的相應真實分類進行比較,以產(chǎn)生與每個組相關聯(lián)的一個或多個性能估計;并且基于所述與每個組相關聯(lián)的一個或多個性能估計的統(tǒng)計分析來預測所述分類器的性能,所述分類器是通過將具有大致相等的第一預定大小的滑動窗用于所述訓練數(shù)據(jù)而被訓練的。
5.一種有形地包含程序指令的計算機可讀存儲介質(zhì),所述程序指令實現(xiàn)用于預測分類器性能的方法,所述分類器是通過將滑動窗用于訓練數(shù)據(jù)集合而被訓練的,所述方法包括以下步驟根據(jù)至少部分基于時間順序的一個或多個第一標準來選擇所述訓練數(shù)據(jù)集合的一個或多個組,所述一個或多個組具有大致相等的大小;從所述一個或多個組中的每個組中,根據(jù)至少部分基于時間順序的一個或多個第二標準而選出具有大致相等的第一預定大小的一個或多個教導子集,并且根據(jù)至少部分基于時間順序的一個或多個第三標準而選出相應的具有大致相等的第一預定大小的測試子集;使用來自所述一個或多個組中每個組的一個或多個教導子集來訓練相應的一個或多個分類器;使用所述相應的一個或多個分類器來分類所述相應的一個或多個測試子集的成員;將分配給所述相應的一個或多個測試子集的成員的分類與分配給已加注標簽的訓練數(shù)據(jù)中的相應成員的相應真實分類進行比較,以產(chǎn)生與每個組相關聯(lián)的一個或多個性能估計;并且基于所述與每個組相關聯(lián)的一個或多個性能估計的統(tǒng)計分析來預測所述分類器的性能,所述分類器是通過將具有大致相等的第一預定大小的滑動窗用于所述訓練數(shù)據(jù)而被訓練的。
6.一種用于預測分類器性能的系統(tǒng),所述分類器是通過將滑動窗用于訓練數(shù)據(jù)集合而被訓練的,所述系統(tǒng)包括數(shù)據(jù)選擇功能塊,該功能塊根據(jù)至少部分基于時間順序的一個或多個第一標準來選擇所述訓練數(shù)據(jù)集合的一個或多個組,所述一個或多個組具有大致相等的大小,并且從所述一個或多個組中的每個組中,根據(jù)至少部分基于時間順序的一個或多個第二標準而選出具有大致相等的第一預定大小的一個或多個教導子集,并且根據(jù)至少部分基于時間順序的一個或多個第三標準而選出相應的具有大致相等的第一預定大小的測試子集;多個分類器,分別使用來自所述一個或多個組中每個組的一個或多個教導子集來訓練所述多個分類器,并且所述多個分類器對所述相應的一個或多個測試子集的成員進行分類;比較功能塊,該比較功能塊將分配給所述相應的一個或多個測試子集的成員的分類與分配給已加注標簽的訓練數(shù)據(jù)中的相應成員的相應真實分類進行比較,以產(chǎn)生與每個組相關聯(lián)的一個或多個性能估計;以及預測功能塊,該預測功能塊基于所述與每個組相關聯(lián)的一個或多個性能估計的統(tǒng)計分析來預測所述分類器的性能,所述分類器是通過將具有大致相等的第一預定大小的滑動窗用于所述訓練數(shù)據(jù)而被訓練的。
全文摘要
本發(fā)明公開了用于檢測時間性過程變化的技術,以及通過使用基于樣本的時間排序而獲得的性能估計,來管理和預測被應用于這種過程的自動分類器的性能的技術。
文檔編號G06F17/00GK1749987SQ200510076969
公開日2006年3月22日 申請日期2005年6月9日 優(yōu)先權(quán)日2004年9月14日
發(fā)明者約翰·M·海曼, 李強 申請人:安捷倫科技有限公司