半監督學習(三)——混合模型

Semi-Supervised Learning

半監督學習(三)

            方法介紹               

Mixture Models & EM

    無標籤數據告訴咱們全部類的實例混和在一塊兒是如何分佈的,若是咱們知道每一個類中的樣本是如何分佈的,咱們就能把混合模型分解成獨立的類,這就是mixture models背後的機制。今天,小編就帶你學習半監督學習的混合模型方法。算法

 

混合模型 監督學習   

  首先,咱們來學習機率模型的概念,先來看一個例子:框架

  • Example 1. Gaussian Mixture Model with Two Components函數

        訓練數據來自兩個一維的高斯分佈,以下圖展現了真實的分佈以及一些訓練樣本,其中只有兩個有標籤數據,分別標記爲正負。學習

    image.png

         假如咱們知道數據來自兩個高斯分佈,可是不知道參數(均值,方差,先驗機率等),咱們能夠利用數據(有標籤和無標籤)對兩個分佈的參數進行估計。注意這個例子中,帶標籤的兩個樣本實際上帶有誤導性,由於它們都位於真實分佈均值的右側,而無標籤數據能夠幫助咱們定義兩個高斯分佈的均值。參數估計就是選擇能 最大限度提升模型生成此類訓練數據機率 的參數。優化

        更規範化地解釋:要預測樣本x的標籤y,咱們但願預測值能最大化條件機率p(y|x),由條件機率的定義,可知對於全部可能的標籤y,image.png,且image.png,若是咱們想要最小化分類錯誤率,那麼咱們的目標函數就是image.png,固然了,若是不一樣類型的誤分類致使的損失不一樣(如,將良性腫瘤錯誤分類爲惡性),那麼上述的最小化指望偏差可能不是最佳策略,咱們將在下文中討論最小化損失函數的內容。那麼如何計算p(y|x)呢?一種方法就是使用生成模型(採用Bayes規則):image.png其中,P(x|y):類條件機率;p(y):先驗機率;P(x,y) = p(y)p(x|y) :聯合分佈。多元高斯分佈常做爲連續型隨機變量的生成模型,它的類條件機率的形式以下:image.pngimage.pngimage.png分別表示均值向量和協方差矩陣。以一個圖像分類任務爲例,x是一張圖片的像素向量,每一種類別的圖像都用高斯分佈建模,那麼總體的生成模型就叫作高斯混合模型(GMM)。spa

  • 多項式分佈也常做爲生成模型,他的形式以下:3d

    image.png

    image.png是一個機率向量。以一個文本分類的任務爲例,x是一個文檔的詞向量,每一種類型的文檔都用多項式分佈來建模,那麼總體的生成模型就叫作多項式混合模型。code

    做爲另外一種生成模型的例子,隱馬爾可夫模型(HMM)一般用來建模序列,序列中的每一個實例都是從隱藏狀態生成的,隱藏狀態能夠是高斯分佈,也能夠是多項式分佈,並且HMMs 指定狀態之間的轉移機率來生成序列,學習HMMs模型包括估計條件機率分佈的參數和轉移機率。blog

        如今,咱們知道如何根據p(x|y)和p(y)來作分類,問題仍然是如何從訓練集中學習到這些分佈。類條件機率p(x|y)由模型參數決定,好比高斯分佈的均值和協方差矩陣,對於p(y),若是由C個類,那麼須要估計C-1個參數:p(y=1),...,p(y=C-1),由於p(y=C)=1- (p(y=1)+...+p(y=C-1))。用θ表示咱們要估計的參數集合,一個最經常使用的準則是最大似然估計圖片

    (MLE),給定訓練集D,image.png

    (咱們經常使用對數似然,由於log函數是單調的,它與使用原函數有相同的最優解,可是更容易處理)。

      在監督學習中,訓練集爲image.png

    ,咱們重寫一些對數似然函數image.png

    如今咱們來定義在監督學習中如何使用MLE(參數估計)建模高斯混合模型(以2分類高斯混合模型爲例):

    首先定義咱們的約束優化問題:image.png

    接着咱們引入拉格朗日乘子:image.png

    其中,image.png分別是類先驗,高斯分佈的均值和協方差矩陣。咱們計算全部參數的偏導,而後設每一個偏導函數爲0,獲得MLE的閉式解:image.png

    (顯然,β拉格朗日乘數的做用是對類先驗機率執行規範化約束) 以及image.png

    從上面的式子中能夠發現β=l,最後咱們發現,類先驗機率就是每一個類樣本佔總樣本的比例。咱們接下來解決類均值的問題,咱們仍對均值向量求偏導,一般讓v表明一個向量,A是一個合適大小的方陣,有image.png因此咱們能夠獲得image.png  咱們發現每一個類的均值就是類中樣本的均值。最後,用MLE求協方差矩陣image.png,也是一個類中樣本的協方差。

 

  Mixture models for semi-supervised classification

      閱讀完第一節,相信大家已經對混合模型及其參數估計有了理解,如今咱們進入正題,如何將混合模型運用到半監督學習上去。

      由於訓練集中包含有標籤和無標籤數據image.png

    那麼能夠將似然函數定義爲以下形式:

image.png

  P(x|θ)叫作邊緣機率,

image.png

  它表明的是咱們知道這些未標記樣本的存在,可是不知道它們屬於哪一個類。半監督的image.png須要同時適用標籤數據和無標籤數據。咱們把未觀察到的標籤叫作隱變量,不  幸的是,這些隱變量會致使log似然函數非凸而難以優化。可是,不少優化方法能夠找到局部最優的θ,最有名的就是EM(expectation maximization)算法。

 

  OPTIMIZATION WITH THE EM ALGORITHM

 

image.png

    image.png是隱藏標籤的分佈,能夠認爲是根據當前的模型參數爲無標籤數據預測的「軟標籤」。能夠證實的是,EM每一輪迭代提升了log似然函數,可是EM只能求局部最優解(θ可能不是全局最優)。EM收斂的局部最優解依賴於θ的初始值,經常使用的初始值是有標籤樣本的MLE。注意,EM算法須要針對特定的生成模型,以GMM爲例。

 

  • EM for GMM

    image.png

    其中,E-step至關於給每一個樣例計算一個標籤機率向量,M-step更新模型參數,算法會在log似然函數收斂的時候中止,混合高斯模型的log似然函數是:

    image.png

    有的同窗會發現,EM算法和咱們以前提到過的self-training類似,EM算法能夠看做self-training的特殊形式,其中當前的分類器θ將利用全部有標籤數據給無標籤數據打上標籤,可是每一個分類器的權重是image.png,而後這些加強的無標籤數據被用來更新分類器。

 

  • The Assumptions of Mixture Models

    混合模型提供了半監督學習的框架,事實上,若是使用正確的生成模型,這種框架的效果是很好的,因此咱們有必要在這裏提如下模型假設:

    Mixture Model Assumption:數據來自混合模型且模型個數,先驗機率p(y)和條件機率p(x|y)是正確的。

    然而,這一假設很難成立,由於有標籤數據不多,不少時候咱們都是根據領域知識去選擇生成模型,可是模型一旦選錯了,半監督學習會使模型表現變差,在這種場景下,最好只使用在有標籤數據上進行監督學習。

 

  • Cluster-than-Label Method

    咱們已經用EM算法來給無標籤數據打標籤,其實無監督聚類算法一樣能夠從無標籤數據中定義出類:

    image.png

    第一步,聚類算法A是無監督的,第二步,咱們利用每一個聚類中的有標籤數據學習一個分類器,而後使用這個預測器對這個聚類中的無標籤數據進行預測。

    舉一個使用層次聚類的Cluster-than-Label實例:

    咱們首先用層次聚類(距離方程用歐式距離,聚類之間的距離用single linkage決定)

    下圖展現了數據的原始分佈(兩個類),以及最終的標籤預測結果,在這個例子中,因爲兩個有標籤實例剛好是正確的,咱們正確分類了全部的數據。

    image.png

    其實使用single linkage方法在這裏很是重要(真實的聚類又細又長),若是使用complete linkage 聚類,聚類結果會偏向球形,結果會像這樣:

image.png

 

 

    上面的實驗並非想說明complete linkage 不如 single linkage,而是爲了強調假設對半監督學習的重要性。

 

總結:

    這篇文章混合模型和EM算法在半監督學習上的應用,隨後也介紹了一種非機率的,先聚類後標記的方法,它們背後都隱含這相同的思想:無標籤數據能夠幫助定義輸入空間的聚類,下一篇文章中,咱們會介紹另外一種半監督學習方法 co-training,敬請期待~

 

    但願你們多多支持個人公衆號,掃碼關注,咱們一塊兒學習,一塊兒進步~

 

相關文章
相關標籤/搜索