在現實生活中,有許多情況是只存在正樣本,其餘資料皆為無標記的狀態。尤其是在工業領域,人員手動標記數據是有困難且成本較高,因此會造成多數資料皆是未標記的狀態,只有少部分資料擁有標記。因此無法像一般監督式學習,使用較為均衡數量之正負樣本訓練模型。
目前常見的狀況可以分為兩種,第一種就如上述情況,擁有大量數據集但只有小部分資料擁有標籤,這種狀況常見在現實生活中。另一種則是訓練的數據集皆有標籤,但只擁有一個類別。例如金融業中,尋找詐欺事件,多數交易資料皆為正常狀態,但只有少部分非正常交易,但所有被判斷為正常交易之資料並不一定正確,因此狀況也相當類似。
目前常見有幾種PU Learning的方法:
標準分類法、PU bagging、Two-Step Approach
標準分類法:
直接將正樣本視為Positive Sample,無標籤樣本為Negative Sample,並利用這些數據訓練出一個分類器。而分類器會對於每筆資料會有可信度分數,而通常正樣本會高於一定的分數,因此可以應用於無標籤的數據中,挑出分數較高的數據即可能為正樣本。
PU bagging
PU bagging是一種Bagging的變形,Bagging全名為bootstrap aggregating。
- 建立訓練集,取所有正樣本及無標籤樣本,隨機取部分樣本組合為訓練集
- 接著利用Bootstrap方法對數據採樣 (採樣相同數量的Positive&Unlabeled數據) 及建立分類器
- 將分類器應用於無標籤的樣本(OOB, “out of bag”),並記錄其分數
- 其結果為每個分類器預測分數之平均
PU bagging 範例
其為對資料多次採樣,訓練多個強分類器,用以取得在未標註資料中正樣本的平均比例,平均分類器的效果,比起標準分類器,其效果更加穩定。
Two-Step Approach
其作法為找出可信度較高之負樣本,其作法為:
- 取部分無標籤樣本視為負樣本,並將正樣本及負樣本訓練一個標準分類器,以此分類器對無標籤樣本進行預測
- 將預測結果按照機率排序,挑出較高機率之樣本作為reliable negative
- 使用正樣本及分類後之負樣本再次訓練分類器,重複以上步驟直到滿足停止條件
這個種作法比起PU Bagging相當不同,其為使用多次資料篩選,就如同篩子篩麵粉,先將最細緻的麵粉篩出,之後再次過篩,慢慢將最細緻的結果篩出。此種做法可以取得正負樣本分明的結果,訓練分類器可以直接取得結果,而不用如同標準分類器及PU Bagging中還需要考慮正樣本比例。