機器學習:最大熵模型算法總結

條件概率是機器學習模型的一種表現形式,應用這一模型,對於給定的輸入 X,得到各輸出類的概率,選擇最大概率的類爲輸出類,如下圖:

本文介紹基於條件概率分類的兩種模型算法:邏輯斯蒂(logistic)迴歸與最大熵模型,其中,logistic 迴歸模型和最大熵模型分別是基於最大似然函數和熵來估計模型 P(y|x)。

目錄

  1. 最大熵模型算法

  2. 最大熵模型例子

  3. 最大熵模型在信號檢測的應用

  4. logsitic 迴歸模型算法

  5. 總結

熵是衡量隨機變量不確定性的指標,熵越大,隨機變量的不確定性亦越大。假設 X 是一個離散型隨機變量,其概率分佈爲:

隨機變量 X 的熵定義爲:

熵滿足下列不等式:

式中,|X | 是 x 的取值個數,當且僅當 X 的分佈是均勻分佈時,右邊的等號成立,也就是說,當 X 服從均勻分佈時,熵最大。

1.1 最大熵模型的定義

最大熵原理是概率模型學習的一個準則,最大熵原理認爲,學習概率模型時,在所有可能的概率模型(分佈)中,熵最大的模型是最好的模型。條件概率是機器學習模型的一種表現形式,學習該模型的一種方法是最大化該條件概率的熵 ,即最大化下式:

其中表示變量 X 的經驗分佈:

其中 v(X=x) 表示訓練數據中輸入 x 出現的頻數,N 表示樣本容量。

(1)式的未知變量就是需要學習的模型。

我們在構建分類模型的過程中假設訓練數據集的聯合概率分佈與真實模型的聯合概率分佈相等,這一假設用特徵函數 f(x,y) 的期望來描述,特徵函數的定義:

特徵函數 f(x,y) 關於訓練數據集的聯合概率分佈的期望值,用表示:

其中,,v(X=x,Y=y)表示訓練數據中樣本 (x,y) 出現的頻數。

特徵函數 f(x,y) 關於模型與經驗分佈的期望值,用表示:

假設兩者期望相等,即:

結合 (1)(4) 式,得到最大熵模型:

約束條件:

1.2 最大熵模型的學習

我們求解 (5) 式在約束條件下的最大值,其對應的模型 P(Y|X)就是所學習的最優模型。

對於給定的訓練數據集以及特徵函數,i=1,2,...,n,最大熵模型的學習等價於約束最優化問題:

將最大值問題轉化爲等價的求最小值問題:

引入拉格朗日乘子將約束的最優化問題轉換爲無約束最優化的對偶問題,通過求解對偶問題求解原始問題。

定義拉格朗日函數 L(P,w):

最優化的原始問題:

對偶問題:

得:

由於,對上式進行歸一化得:

其中,

易知是關於 w 的函數,對偶問題外部的極大化問題:

根據上式求解的代入 (2.4) 式,得到最終的學習模型 P(y|x)。

2. 最大熵模型例子

假設隨機變量 Y 有 5 個取值,假設隨機變量 Y 的條件概率分佈滿足如下條件:

求最大熵模型對應的概率分佈 P(Y)。

最大熵模型的目標函數:

引進拉格朗日乘子,定義拉格朗日函數:

,得:

將上式代入函數 L(P,w) 得,令,得:

於是最大熵模型對應的概率分佈:

3. 熵模型在信號檢測的應用

由第一節我們知道,熵是描述事物不確定性的指標。我們將熵的這一性質應用在信號檢測領域,當信號包含了較強的隨機噪聲時或被噪聲完全掩蓋時,信號的隨機性大大的增加了,其對應的熵也較大,根據這一原理對信號的質量進行檢測,下圖是用熵檢測心電信號質量的效果圖:

黑色表示較好的心電信號質量,紅色表示較差的心電信號質量。

4. logistic 迴歸算法

logistic 迴歸是一種概率分類模型,對於二分類任務來說,其條件概率分佈:

我們用最小化損失函數去估計上式的模型參數。對於給定的訓練數據集,其中,

設:

似然函數爲:

對數似然函數爲:

損失函數爲:

用梯度下降法求解 w 的估計值

代入(2.1)(2.2)式,得到邏輯斯蒂迴歸模型 P(y|x),其中向量包含了 b 值 。

5. 小結

本文介紹基於條件概率分類的兩種模型算法:logistic 迴歸模型與最大熵模型,其中,logistic 迴歸模型是基於最大似然函數估計模型 P(y|x),最大熵模型是基於熵這一指標估計模型 P(y|x)。

參考:李航 《統計學習方法》

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/MMlQCcaOJ9s20xRfR_TMiw