1. 程式人生 > >斯坦福大學-自然語言處理入門 筆記 第八課 最大熵模型與判別模型

斯坦福大學-自然語言處理入門 筆記 第八課 最大熵模型與判別模型

一、生成模型與判別模型

1、引言

  • 到目前為止,我們使用的是生成模型(generative model),但是在實際使用中我們也在大量使用判別模型(discriminative model),主要是因為它有如下的優點:
    • 準確性很高
    • 更容易包含很多和語言相關的重要特徵
    • 有助於建立language independent, retargetable NLP modules

2、比較

  • 生成模型,Joint (generative) models,關注的是觀測資料和隱藏類別的聯合分佈P(c,d),並試圖將之最大化
  • 判別模型,Discriminative (conditional) models,關注的是,在給定資料的情況下,隱藏類別的概率P(c|d),尋找最大條件似然。雖然這個更困難一些,但是這個與任務本身的關聯性更強。
    在這裡插入圖片描述
  • 基於實驗的比較結果
    在這裡插入圖片描述

二、為判別模型從文字中尋找特徵

  • 特徵(feature)是一系列把我們觀測到的d和我們想要預測的類別c聯絡到一起的證據(evidence)。特徵是在實數範圍內一個函式f:C*D→R
    • 我們定義了兩種特徵期望
      • 特徵的實證期望(empirical expectation)
        在這裡插入圖片描述
      • 特徵的模型期望(model expectation)
        在這裡插入圖片描述
  • 模型會給每個特徵分配一個權重
    • 正權重說明這種結構很可能是正確的
    • 正權重說明這種結構很可能是不正確的
  • 基於特徵構建的模型的一些例子:第一個是使用了詞袋,第了在單詞附近的單詞是否是某個特定單詞的特徵,第三個加入了前一個單詞的詞性特徵
    在這裡插入圖片描述
  • 一個文字分類的例子
    • (Zhang and Oles 2001)
    • 特徵是文件中的每一個單詞,並進行一定的特徵篩選,然後進行文件分類
    • 在測試集上的度量:樸素貝葉斯f1(77.0%),線性迴歸(86.0%),邏輯迴歸(86.4%),SVM(86.5%)
    • 論文強調了對使用判別模型對正則化(平滑)的重要性,這在早期的NLP/IP研究中很少使用。
  • 其他最大熵分類模型的例子
    在這裡插入圖片描述

三、怎麼樣把特徵放到分類器中

1、基於特徵的線性分類器

  • 具體步驟
    • 從特徵集對類別建立線性函式
    • 為每個特徵分配權重λ
    • 對每個觀測到的資料考慮分類
    • 特徵根據權重進行投票
      在這裡插入圖片描述
    • 選擇結果最大的類別
  • 計算權重的方法(感知機,SVM)
  • 指數模型(對數線性,最大熵,邏輯,Gibbs)
    • 利用之前計算的線性組合∑λf(c,d)計算概率模型:為了保證計算出的概率是正的,需要加一個exp;同時為了保障概率在0-1的範圍內,分母進行了標準化,即把該樣本對應所有類別的投票結果加起來了作為分母。
      在這裡插入圖片描述
      在這裡插入圖片描述
  • 這個模型也被稱為softmax模型,主要的原因是對一個數字指數化數字變大,因此在該模型中原來的數字越大,對結果數字的影響就會越大,所以稱為soft-max。
  • 基於模型的型別,我們選擇的是使得資料的條件概率最大的λ作為引數。

2、邏輯迴歸

在NLP領域的最大熵模型和統計領域裡多分類邏輯迴歸模型基本是一致的,只有兩個變動:

  • 引數化(parameterization)會有點不同,因為NLP模型有很多稀疏特徵
  • NLP中特徵方程很重要

四、基本要點

建立一個最大熵模型的基本要點
在這裡插入圖片描述
在這裡插入圖片描述

五、判別模型與生成模型:證明重複計數會造成問題

一個樸素貝葉斯計算的例子:訓練樣本是八個文件,兩個類別,europe類別有四個文件,asia有四個文件。每個文件包含Monaco和Hong Kong這些詞。概率表示中的大寫字母是對應單詞的首字母縮寫。
在這裡插入圖片描述
在下面的例子中,計算結果P(A|H,K)和P(E|H,K),兩者之間的比例存在問題,主要的原因是Hong和Kong實際是一個相關性很高的單詞,但是在樸素貝葉斯的假設中這兩個單詞是相互獨立的。
在這裡插入圖片描述
在這裡插入圖片描述
貝葉斯模型和最大熵模型一個重要的不同是,貝葉斯模型會重複計算相關的證據,但是最大熵模型就可以解決問題。

六、最大似然(likelihood)

  • 極大似然模型:選擇使得資料的似然性最大的引數值。
  • 對一個數據(C,D),最大熵模型的條件似然公式如下:
    在這裡插入圖片描述
    將P(c|d,λ)的公式帶入,得到:
    在這裡插入圖片描述
    可以將上述公式,拆解成為分子和分母兩個部分。這個公式的導數,就是這兩部分的導數之差。
    在這裡插入圖片描述
    N(λ)的導數表示特徵的實證預期(empirical expectation)
    在這裡插入圖片描述
    M(λ)的導數表示特徵的預測預期(predicted xexpectation)
    在這裡插入圖片描述
    最佳的引數是使得這兩個預期相等的引數,最優分佈永遠是唯一併且肯定存在的。
    這個模型又被叫做最大熵模型,因為這個模型有最大熵並且滿足如下條件限制:
    在這裡插入圖片描述
  • 最優引數的計算
    • 最優引數應該滿足下面的要求:使得訓練資料的條件對數似然(∑logP(c|d))最大化。
    • 具體方法有如下幾種:
      在這裡插入圖片描述