黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

PU learning簡介(附python代碼)

系統(tǒng) 2423 0

一、引言
在現(xiàn)實生活中,有許多只有正樣本和大量未標記樣本的例子。這是因為負類樣本的一些特點使得獲取負樣本較為困難。比如:

負類數(shù)據(jù)不易獲取。
負類數(shù)據(jù)太過多樣化。
負類數(shù)據(jù)動態(tài)變化。
舉一個形象點的例子:比如在推薦系統(tǒng)里,只有用戶點擊的正樣本,卻沒有顯性負樣本,我們不能因為用戶沒有點擊這個樣本就認為它是負樣本,因為有可能這個樣本的位置很偏,導致用戶沒有點。

因此,有研究人員開始關(guān)注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ā)表了很多關(guān)于PU Learning的文章。詳細見參考文獻【3】【4】。

我們在本篇博客中重點介紹常見且實操性比較強的PU learning的技巧。

二、PU learning的一些技巧
人們對PU learning的方法一直非常感興趣。 由于標準機器學習問題(利用大量正面和負面樣本用于訓練模型)有了充分的發(fā)展,因此在監(jiān)督學習的基礎(chǔ)上,有許多方法經(jīng)過巧妙調(diào)整可以來進行PU learning。

下面對這些技巧進行簡要的總結(jié)。

2.1 直接利用標準分類方法
直接利用標準分類方法是這樣的:將正樣本和未標記樣本分別看作是positive samples和negative samples, 然后利用這些數(shù)據(jù)訓練一個標準分類器。分類器將為每個物品打一個分數(shù)(概率值)。通常正樣本分數(shù)高于負樣本的分數(shù)。因此對于那些未標記的物品,分數(shù)較高的最有可能為positive。

這種樸素的方法在文獻Learning classifiers from only positive and unlabeled data KDD 2018 中有介紹。該論文的核心結(jié)果是,在某些基本假設(shè)下(雖然對于現(xiàn)實生活目的而言可能稍微不合理),合理利用正例和未貼標簽數(shù)據(jù)進行訓練得到的標準分類器應(yīng)該能夠給出與實際正確分數(shù)成正比的分數(shù)。

2.2 PU bagging
一個更加復雜的方法是bagging的變種:

通過將所有正樣本和未標記樣本進行隨機組合來創(chuàng)建訓練集。
利用這個“bootstrap”樣本來構(gòu)建分類器,分別將正樣本和未標記樣本視為positive和negative。
將分類器應(yīng)用于不在訓練集中的未標記樣本 - OOB(“out of bag”)- 并記錄其分數(shù)。
重復上述三個步驟,最后為每個樣本的分數(shù)為OOB分數(shù)的平均值。
這是一種bootstrap的方法,可以理解為之前我們會想到隨機抽取一部分未標記樣本U作為負樣本來訓練,在這里會設(shè)置迭代次數(shù)T,根據(jù)正樣本的個數(shù),每次都隨機可重復地從U中選取和P數(shù)量相同的樣本作為負樣本N,并打上標簽,每次迭代都重復進行取樣->建模->預(yù)測的過程,最后的預(yù)測概率使用T次迭代的平均值作為最終預(yù)測的概率。

參考文獻:A bagging SVM to learn from positive and unlabeled examples ,PRL 2014

2.3 兩步法
大部分的PU learning策略屬于 “two-step approaches”。該方法的思想也很直觀:

識別可以百分之百標記為negative的未標記樣本子集(這些樣本稱為“reliable negatives”。)所謂的百分之百只是一個夸張的說法,通常我們可以用正樣本和未標記樣本訓練一個模型,然后對未標記樣本進行預(yù)測,按照概率排序,選取前面的樣本作為reliable negatives。
使用正負樣本來訓練標準分類器并將其應(yīng)用于剩余的未標記樣本。
通常,會將第二步的結(jié)果返回到第一步并重復上述步驟。即每一輪循環(huán)都會找出那些所謂百分之百的正樣本和負樣本,加入到訓練集里,重新預(yù)測剩余的未標記樣本,直到滿足停止條件為止。

參考文獻: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作為基學習器的效果。實驗完備詳細,代碼清晰易懂。

囿于篇幅,我們從中挑選出一個例子,進行介紹:

人工構(gòu)造了Circles數(shù)據(jù)集,如下圖所示:


上圖一共有6000個樣本點,真實得正樣本和負樣本均為3000個,只不過,我們只知道其中300個正樣本,剩余的5700個樣本認為是unlabeled樣本。在該數(shù)據(jù)集上,分別應(yīng)用以上3種方法,結(jié)果分別為:


我們對比一下3種方法的性能,這里的性能指的是:對于預(yù)測的樣本(5700個),依次取前100,200,300直到2700個(剩余的真的正樣本的個數(shù))樣本,看下取出的這些樣本真正是正樣本的概率。(看不明白的,可以詳細看下代碼)。


圖中Average score是3種方法的平均。可以看出來,在有300個正樣本的Circles數(shù)據(jù)集上,PU bagging的方法最好。

根據(jù)參考文獻【1】的所有實驗,我總結(jié)出以下的結(jié)果,詳細請參考原文:

注:所有的數(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作為基分類器的效果差。

通過上述的結(jié)果,和各個方法的理論,是否可以大膽做出一個結(jié)論呢?即隨著已知正樣本比例的減少,PU bagging最好,Standard最差,兩步法居中。如果我們的正樣本的比例只占全部樣本的很小的部分,根據(jù)上述的結(jié)論,應(yīng)該選用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
---------------------?
作者:anshuai_aw1?
來源:CSDN?
原文:https://blog.csdn.net/anshuai_aw1/article/details/89475986?
版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請附上博文鏈接!


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論