Tri-training, 協同訓練算法

本個帖子繼半監督學習算法(http://www.cnblogs.com/liqizhou/archive/2012/05/11/2496155.html

        最初的協同訓練算法(或稱爲標準協同訓練算法)是A. Blum和T. Mitchell [BlumM98] 在 1998年提出的。他們假設數據集有兩個充分冗餘(sufficient and redundant)的視圖(view),即兩個滿足下述條件的屬性集:第一,每個屬性集都足以描述該問題,也就是說,如果訓練例足夠,在每個屬性集上都足以學得一個強學習器;第二,在給定標記時,每個屬性集都條件獨立於另一個屬性集。A. Blum和T. Mitchell認爲,充分冗餘視圖這一要求在不少任務中是可滿足的。例如,在一些網頁分類問題上,既可以根據網頁本身包含的信息來對網頁進行正確分類,也可以利用鏈接到該網頁的超鏈接所包含的信息來進行正確分類,這樣的網頁數據就有兩個充分冗餘視圖,刻畫網頁本身包含的信息的屬性集構成第一個視圖,而刻畫超鏈接所包含的信息的屬性集構成第二個視圖。A. Blum和T.Mitchell的算法在兩個視圖上利用有標記示例分別訓練出一個分類器,然後,在協同訓練過程中,每個分類器從未標記示例中挑選出若干標記置信度(即對示例賦予正確標記的置信度)較高的示例進行標記,並把標記後的示例加入另一個分類器的有標記訓練集中,以便對方利用這些新標記的示例進行更新。協同訓練過程不斷迭代進行,直到達到某個停止條件。該算法如圖 1 所示,其中x1和x2分別指示例x在第 1 視圖和第 2 視圖上對應的示例。A. Blum和T. Mitchell [BlumM98] 對圖 1 的算法進行了分析,證明了在充分冗餘視圖這一條件成立時,圖 1 算法可以有效地通過利用未標記示例提升學習器的性能,實驗也驗證了該算法具有較好的性能。

        然而,在真實問題中充分冗餘視圖這一要求往往很難得到滿足。實際上,即使對 A. Blum 和 T.Mitchell 所舉的網頁分類的例子來說也是這樣,因爲“網頁本身的信息”這一視圖與“超鏈接上的信息”這一視圖很難滿足條件獨立性。K. Nigam 和 R. Ghani [NigamG] 對協同訓練算法在不具有充分冗餘視圖的問題上的性能進行了實驗研究,其結果表明,在屬性集充分大時,可以隨機把屬性集劃分成兩個視圖,在此基礎上進行協同訓練也可能取得較好的效果。遺憾的是,大多數的問題並不具有“充分大”的屬性集,而且隨機劃分視圖這一策略並非總能奏效,因此,一些研究者開始試圖設計不需要充分冗餘視圖的協同訓練算法。

       S. Goldman 和 Y. Zhou [GoldmanZ00] 提出了一種不需要充分冗餘視圖的協同訓練算法。他們使用不同的決策樹算法,從同一個屬性集上訓練出兩個不同的分類器,每個分類器都可以把示例空間劃分爲若干個等價類。在協同訓練過程中,每個分類器通過統計技術來估計標記置信度,並且把標記置信度最高的示例進行標記後提交給另一個分類器作爲有標記訓練例,以便對方進行更新。該過程反覆進行,直到達到某個停止條件。在預測階段,該算法先估計兩個分類器對未見示例的標記置信度,然後選擇置信度高的分類器進行預測。S. Goldman 和 Y. Zhou 將該算法建立在 A. Angluin 和P. Laird [AngluinL88] 的噪音學習理論的基礎上,並通過實驗對算法性能進行了驗證。此後,他們[ZhouG04] 又對該算法進行了擴展,使其能夠使用多個不同種類的分類器。

    雖然 S. Goldman 和 Y. Zhou 的算法 [GoldmanZ00] 不再要求問題本身具有充分冗餘視圖,但他們引入了對分類器種類的限制。此外,他們爲了估計標記置信度,在挑選未標記示例進行標記的過程中以及選擇分類器對未見示例進行預測的過程中頻繁地使用 10 倍交叉驗證,時間開銷很大。同時,在少量有標記數據上進行 10 倍交叉驗證經常難以得到對置信度的穩定估計。爲了進一步放鬆協同訓練的約束條件,Z.-H. Zhou 和 M. Li [ZhouL05a] 提出了一種既不要求充分冗餘視圖、也不要求使用不同類型分類器的 tri-training 算法。該算法的一個顯著特點是使用了三個分類器,不僅可以簡便地處理標記置信度估計問題以及對未見示例的預測問題,還可以利用集成學習(ensemble learning) [Dietterich00] 來提高泛化能力。該算法首先對有標記示例集進行可重複取樣(bootstrap sampling)以獲得三個有標記訓練集,然後從每個訓練集產生一個分類器。在協同訓練過程中,各分類器所獲得的新標記示例都由其餘兩個分類器協作提供,具體來說,如果兩個分類器對同一個未標記示例的預測相同,則該示例就被認爲具有較高的標記置信度,並在標記後被加入第三個分類器的有標記訓練集。在對未見示例進行預測時,tri-training 算法不再象以往算法那樣挑選一個分類器來使用,而是使用集成學習中經常用到的投票法來將三個分類器組成一個集成來實現對未見示例的預測。與以往協同訓練算法需要顯式地對標記置信度進行估計不同,tri-training 算法通過判斷三個分類器的預測一致性來隱式地對不同未標記示例的標記置信度進行比較,這一做法使得該算法不需要頻繁地使用耗時的統計測試技術。但與顯式估計標記置信度相比,這一隱式處理往往不夠準確,特別是如果初始分類器比較弱,未標記示例可能被錯誤標記,從而給第三個分類器的訓練引入噪音。Z.-H.Zhou 和 M. Li [ZhouL05a] 基於噪音學習理論 [AngluinL88] 推導出了能以較高概率確保這一做法有
效的條件,直觀地說,如果大多數未標記示例的標記是準確的,那麼引入的噪音所帶來的負面影響可以被使用大量未標記示例所帶來的好處抵消。爲了進一步降低噪音影響,有必要使用一些更可靠的誤差估計技術,但這會在一定程度上增大算法的開銷。此後,M. Li 和 Z.-H. Zhou [LiZ07] 對tri-training 進行了擴展,提出了可以更好發揮集成學習作用的 Co-Forest 算法。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章