refer: https://blog.csdn.net/anshuai_aw1/article/details/89475986
一、引言
在現(xiàn)實生活中臊恋,有許多只有正樣本和大量未標記樣本的例子衣洁。這是因為負類樣本的一些特點使得獲取負樣本較為困難。比如:
負類數(shù)據(jù)不易獲取抖仅。
負類數(shù)據(jù)太過多樣化坊夫。
負類數(shù)據(jù)動態(tài)變化。
舉一個形象點的例子:比如在推薦系統(tǒng)里撤卢,只有用戶點擊的正樣本环凿,卻沒有顯性負樣本,我們不能因為用戶沒有點擊這個樣本就認為它是負樣本放吩,因為有可能這個樣本的位置很偏智听,導致用戶沒有點。
因此渡紫,有研究人員開始關注PU Learning(Positive-unlabeled learning)到推,即在只有正類數(shù)據(jù)和無標記數(shù)據(jù)的情況下,訓練binary classifier惕澎。PU Learning是半監(jiān)督學習的一個重要研究方向莉测,伊利諾伊大學芝加哥分校(UIC)的劉兵(Bing Liu)教授和日本理化研究所的杉山將(Masashi Sugiyama)實驗室對PU Learning有較深的研究。他們在AAAI唧喉、NIPS捣卤、ICML等頂級會議上發(fā)表了很多關于PU Learning的文章。詳細見參考文獻【3】【4】八孝。
我們在本篇博客中重點介紹常見且實操性比較強的PU learning的技巧腌零。
二、PU learning的一些技巧
人們對PU learning的方法一直非常感興趣唆阿。 由于標準機器學習問題(利用大量正面和負面樣本用于訓練模型)有了充分的發(fā)展益涧,因此在監(jiān)督學習的基礎上,有許多方法經(jīng)過巧妙調整可以來進行PU learning驯鳖。
下面對這些技巧進行簡要的總結闲询。
2.1 直接利用標準分類方法
直接利用標準分類方法是這樣的:將正樣本和未標記樣本分別看作是positive samples和negative samples, 然后利用這些數(shù)據(jù)訓練一個標準分類器久免。分類器將為每個物品打一個分數(shù)(概率值)。通常正樣本分數(shù)高于負樣本的分數(shù)扭弧。因此對于那些未標記的物品阎姥,分數(shù)較高的最有可能為positive。
這種樸素的方法在文獻Learning classifiers from only positive and unlabeled data KDD 2018 中有介紹鸽捻。該論文的核心結果是呼巴,在某些基本假設下(雖然對于現(xiàn)實生活目的而言可能稍微不合理),合理利用正例和未貼標簽數(shù)據(jù)進行訓練得到的標準分類器應該能夠給出與實際正確分數(shù)成正比的分數(shù)。
2.2 PU bagging
一個更加復雜的方法是bagging的變種:
通過將所有正樣本和未標記樣本進行隨機組合來創(chuàng)建訓練集御蒲。
利用這個“bootstrap”樣本來構建分類器衣赶,分別將正樣本和未標記樣本視為positive和negative。
將分類器應用于不在訓練集中的未標記樣本 - OOB(“out of bag”)- 并記錄其分數(shù)厚满。
重復上述三個步驟府瞄,最后為每個樣本的分數(shù)為OOB分數(shù)的平均值。
這是一種bootstrap的方法碘箍,可以理解為之前我們會想到隨機抽取一部分未標記樣本U作為負樣本來訓練遵馆,在這里會設置迭代次數(shù)T,根據(jù)正樣本的個數(shù)丰榴,每次都隨機可重復地從U中選取和P數(shù)量相同的樣本作為負樣本N货邓,并打上標簽,每次迭代都重復進行取樣->建模->預測的過程四濒,最后的預測概率使用T次迭代的平均值作為最終預測的概率逻恐。
參考文獻:A bagging SVM to learn from positive and unlabeled examples ,PRL 2014
2.3 兩步法
大部分的PU learning策略屬于 “two-step approaches”峻黍。該方法的思想也很直觀:
識別可以百分之百標記為negative的未標記樣本子集(這些樣本稱為“reliable negatives”复隆。)所謂的百分之百只是一個夸張的說法,通常我們可以用正樣本和未標記樣本訓練一個模型姆涩,然后對未標記樣本進行預測挽拂,按照概率排序,選取前面的樣本作為reliable negatives骨饿。
使用正負樣本來訓練標準分類器并將其應用于剩余的未標記樣本亏栈。
通常,會將第二步的結果返回到第一步并重復上述步驟宏赘。即每一輪循環(huán)都會找出那些所謂百分之百的正樣本和負樣本绒北,加入到訓練集里,重新預測剩余的未標記樣本察署,直到滿足停止條件為止闷游。
參考文獻:An Evaluation of Two-Step Techniques for Positive-Unlabeled Learning in Text Classification
三、代碼實現(xiàn)
參考文獻【1】【2】給出了以上3種方法的代碼。參考文獻【7】給出了第2種方法的代碼脐往。
我們以參考文獻【1】【2】為例:作者在多種人工數(shù)據(jù)集和多個正樣本比例上做了大量的實驗休吠,也對比了決策樹和SVM作為基學習器的效果。實驗完備詳細业簿,代碼清晰易懂瘤礁。
囿于篇幅,我們從中挑選出一個例子梅尤,進行介紹:
人工構造了Circles數(shù)據(jù)集柜思,如下圖所示:
上圖一共有6000個樣本點,真實得正樣本和負樣本均為3000個巷燥,只不過赡盘,我們只知道其中300個正樣本,剩余的5700個樣本認為是unlabeled樣本矾湃。在該數(shù)據(jù)集上,分別應用以上3種方法堕澄,結果分別為:
我們對比一下3種方法的性能邀跃,這里的性能指的是:對于預測的樣本(5700個),依次取前100蛙紫,200拍屑,300直到2700個(剩余的真的正樣本的個數(shù))樣本,看下取出的這些樣本真正是正樣本的概率坑傅。(看不明白的僵驰,可以詳細看下代碼)。
圖中Average score是3種方法的平均唁毒∷廛睿可以看出來,在有300個正樣本的Circles數(shù)據(jù)集上浆西,PU bagging的方法最好粉私。
根據(jù)參考文獻【1】的所有實驗,我總結出以下的結果近零,詳細請參考原文:
注:所有的數(shù)據(jù)集都是6000個樣本诺核,2類,每一類為3000個久信。我們已知的正樣本的數(shù)目為hidden_size窖杀。
①對于Circles數(shù)據(jù)集:
hidden_size為1000時,Standard方法最好裙士,PU bagging最差入客。
hidden_size為300時,PU bagging方法最好,Standard最差痊项。
hidden_size為30時锅风,PU bagging方法最好,Standard最差鞍泉。
②對于Two moon數(shù)據(jù)集:
hidden_size為1000時皱埠,Standard方法最好,PU bagging最差咖驮。
hidden_size為300時边器,PU bagging方法最好,Standard最差托修。
hidden_size為30時忘巧,PU bagging方法最好,Standard最差睦刃。
③對于Blobs數(shù)據(jù)集:
hidden_size為1000時砚嘴,Standard方法最好,PU bagging最差涩拙。
hidden_size為300時际长,PU bagging方法最好,Standard最差兴泥。
hidden_size為30時工育,PU bagging方法最好,Standard最差搓彻。
④對于PU bagging方法:
決策樹作為基分類器的效果比起SVM作為基分類器的效果差如绸。
通過上述的結果,和各個方法的理論旭贬,是否可以大膽做出一個結論呢怔接?即隨著已知正樣本比例的減少,PU bagging最好稀轨,Standard最差蜕提,兩步法居中。如果我們的正樣本的比例只占全部樣本的很小的部分靶端,根據(jù)上述的結論谎势,應該選用PU bagging策略。
參考文獻
【1】Positive-unlabeled learning
【2】PU learning techniques applied to artificial data
【3】Masashi Sugiyama’s Publications
【4】PU Learning - Learning from Positive and Unlabeled Examples
【5】只有正樣本和未標簽數(shù)據(jù)的機器學習怎么做杨名?
【6】Positive-unlabeled learning
【7】PU_Learning_simple_example.ipynb
————————————————
版權聲明:本文為CSDN博主「anshuai_aw1」的原創(chuàng)文章脏榆,遵循CC 4.0 BY-SA版權協(xié)議,轉載請附上原文出處鏈接及本聲明台谍。
原文鏈接:https://blog.csdn.net/anshuai_aw1/article/details/89475986
【7】基于XGBoost的PU-Learning
————————————————
版權聲明:本文為CSDN博主「anshuai_aw1」的原創(chuàng)文章须喂,遵循CC 4.0 BY-SA版權協(xié)議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/anshuai_aw1/article/details/89475986