多示例學習 multiple instance learning (MIL)


多示例學習:包(bags) 和 示例 (instance).

包是由多個示例組成的,舉個例子,在圖像分類中,一張圖片就是一個包,圖片分割出的patches就是示例。在多示例學習中,包帶有類別標簽而示例不帶類別標簽,最終的目的是給出對新的包的類別預測。

多示例學習是弱監督學習中的一個popular的方法。用於訓練分類器的instance是沒有類別標記的,但是bags卻是有類別標記的,這一點與以往所有框架均不甚相同。

多示例學習中的規則:如果一個bag 里面存在至少一個instance被分類器判定標簽為+(或者1)的示例,則該包為正包;如果一個bag里面所有的instance都被分類器判定標簽為-,則該包為負包。

問題的實際應用:做檢測問題,標記訓練圖片樣本的時候需要給出一個矩形框指明目標的位置,有可能標的不夠准確,導致不同的樣本之間對不齊,這時候可以將標記的矩形框做一些局部擾動得到一些新的矩形框,將它們一起看成一個bag,其中總有一個是最佳的正樣本,也就是標記為正。而取一張沒有目標的圖片,作為負樣本包,無論在里面怎么截取圖片,都是負樣本。

解決這個問題的方法:迭代優化(alternative optimization)。分為兩步:監督學習,標記更新

首先假設已知所有樣本的標記,使用一個監督學習的方法得到一個分類模型;用這個模型對每個訓練樣本進行預測,更新它們的標記。------以上是一個過程

之后再根據新得到的標記樣本重新訓練分類器,再對每個訓練樣本進行預測;再訓練分類器,再預測標記;再訓練,再預測。。。。。。

需要注意的地方:

1)訓練監督學習模型的時候,只從正樣本包里挑選被預測的“最像正確”(也就是分類得到最高)的那一個,正樣本包里面其他的樣本,不管預測出來的是正還是負的都不要了。這是因為,其中多示例的問題也可以描述為,正樣本包里面“最正確”的一個樣本標記是正的,跟其他樣本無關。所以,這種選擇策略恰恰是符合問題定義的。

2)如果負樣本足夠多的話,可以只挑選每個負樣本包里面被預測“最像正確”的一個樣本作為負樣本進行訓練,這樣的負樣本也叫做hard sample 或者 most violated sample。實踐中,它們對於模型快速收斂是最有效的。

流程圖:

輸入:數據矩陣

MILL (MIL Library) is an open-source toolkit for multiple instance learning algorithms written in Matlab. Multiple-instance learning (MIL) is a form of semi-supervised learning where there is only incomplete knowledge on the labels of the training data. Specifically, instances in MIL are grouped into a set of bags. The labels of the bags are provided, but the labels of instances in the bags are unknown. However, a bag is labeled positive if at least one instance in the bag is positive, and a bag is negative if all the instances in it are negative. MIL algorithms attempt to learn a classification function that can predict the labels of bags and/or instances in the testing data. The applications of MIL include molecule activity prediction (分子活動預測), text categorization(文本分類), image classification and retrieval (圖像分類和檢索), etc. 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM