PU learning簡介

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

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末坞生,一起剝皮案震驚了整個濱河市仔役,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌是己,老刑警劉巖又兵,帶你破解...
    沈念sama閱讀 219,539評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異卒废,居然都是意外死亡沛厨,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評論 3 396
  • 文/潘曉璐 我一進店門摔认,熙熙樓的掌柜王于貴愁眉苦臉地迎上來逆皮,“玉大人,你說我怎么就攤上這事参袱〉缫ィ” “怎么了?”我有些...
    開封第一講書人閱讀 165,871評論 0 356
  • 文/不壞的土叔 我叫張陵抹蚀,是天一觀的道長剿牺。 經(jīng)常有香客問我,道長况鸣,這世上最難降的妖魔是什么牢贸? 我笑而不...
    開封第一講書人閱讀 58,963評論 1 295
  • 正文 為了忘掉前任竹观,我火速辦了婚禮镐捧,結果婚禮上,老公的妹妹穿的比我還像新娘臭增。我一直安慰自己懂酱,他們只是感情好,可當我...
    茶點故事閱讀 67,984評論 6 393
  • 文/花漫 我一把揭開白布誊抛。 她就那樣靜靜地躺著列牺,像睡著了一般。 火紅的嫁衣襯著肌膚如雪拗窃。 梳的紋絲不亂的頭發(fā)上瞎领,一...
    開封第一講書人閱讀 51,763評論 1 307
  • 那天,我揣著相機與錄音随夸,去河邊找鬼九默。 笑死,一個胖子當著我的面吹牛宾毒,可吹牛的內(nèi)容都是我干的驼修。 我是一名探鬼主播,決...
    沈念sama閱讀 40,468評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼乙各!你這毒婦竟也來了墨礁?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤耳峦,失蹤者是張志新(化名)和其女友劉穎恩静,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體妇萄,經(jīng)...
    沈念sama閱讀 45,850評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡蜕企,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,002評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了冠句。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片轻掩。...
    茶點故事閱讀 40,144評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖懦底,靈堂內(nèi)的尸體忽然破棺而出唇牧,到底是詐尸還是另有隱情,我是刑警寧澤聚唐,帶...
    沈念sama閱讀 35,823評論 5 346
  • 正文 年R本政府宣布丐重,位于F島的核電站,受9級特大地震影響杆查,放射性物質發(fā)生泄漏扮惦。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,483評論 3 331
  • 文/蒙蒙 一亲桦、第九天 我趴在偏房一處隱蔽的房頂上張望崖蜜。 院中可真熱鬧,春花似錦客峭、人聲如沸豫领。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽等恐。三九已至,卻和暖如春备蚓,著一層夾襖步出監(jiān)牢的瞬間课蔬,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評論 1 272
  • 我被黑心中介騙來泰國打工郊尝, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留二跋,地道東北人。 一個月前我還...
    沈念sama閱讀 48,415評論 3 373
  • 正文 我出身青樓虚循,卻偏偏與公主長得像同欠,于是被迫代替她去往敵國和親样傍。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,092評論 2 355