機器學習:最大熵模型算法總結
條件概率是機器學習模型的一種表現形式,應用這一模型,對於給定的輸入 X,得到各輸出類的概率,選擇最大概率的類爲輸出類,如下圖:
本文介紹基於條件概率分類的兩種模型算法:邏輯斯蒂(logistic)迴歸與最大熵模型,其中,logistic 迴歸模型和最大熵模型分別是基於最大似然函數和熵來估計模型 P(y|x)。
目錄
-
最大熵模型算法
-
最大熵模型例子
-
最大熵模型在信號檢測的應用
-
logsitic 迴歸模型算法
-
總結
熵是衡量隨機變量不確定性的指標,熵越大,隨機變量的不確定性亦越大。假設 X 是一個離散型隨機變量,其概率分佈爲:
隨機變量 X 的熵定義爲:
熵滿足下列不等式:
式中,|X | 是 x 的取值個數,當且僅當 X 的分佈是均勻分佈時,右邊的等號成立,也就是說,當 X 服從均勻分佈時,熵最大。
1.1 最大熵模型的定義
最大熵原理是概率模型學習的一個準則,最大熵原理認爲,學習概率模型時,在所有可能的概率模型(分佈)中,熵最大的模型是最好的模型。條件概率是機器學習模型的一種表現形式,學習該模型的一種方法是最大化該條件概率的熵 ,即最大化下式:
其中
其中 v(X=x) 表示訓練數據中輸入 x 出現的頻數,N 表示樣本容量。
(1)式的未知變量
我們在構建分類模型
特徵函數 f(x,y) 關於訓練數據集的聯合概率分佈的期望值,用
其中,
特徵函數 f(x,y) 關於模型
假設兩者期望相等,即:
或
結合 (1)(4) 式,得到最大熵模型:
約束條件:
1.2 最大熵模型的學習
我們求解 (5) 式在約束條件下的最大值,其對應的模型 P(Y|X)就是所學習的最優模型。
對於給定的訓練數據集
將最大值問題轉化爲等價的求最小值問題:
引入拉格朗日乘子
定義拉格朗日函數 L(P,w):
最優化的原始問題:
對偶問題:
令
得:
由於
其中,
令
易知
根據上式求解的
2. 最大熵模型例子
假設隨機變量 Y 有 5 個取值
求最大熵模型對應的概率分佈 P(Y)。
最大熵模型的目標函數:
引進拉格朗日乘子
令
將上式代入函數 L(P,w) 得
於是最大熵模型對應的概率分佈:
3. 熵模型在信號檢測的應用
由第一節我們知道,熵是描述事物不確定性的指標。我們將熵的這一性質應用在信號檢測領域,當信號包含了較強的隨機噪聲時或被噪聲完全掩蓋時,信號的隨機性大大的增加了,其對應的熵也較大,根據這一原理對信號的質量進行檢測,下圖是用熵檢測心電信號質量的效果圖:
黑色表示較好的心電信號質量,紅色表示較差的心電信號質量。
4. logistic 迴歸算法
logistic 迴歸是一種概率分類模型,對於二分類任務來說,其條件概率分佈:
我們用最小化損失函數去估計上式的模型參數。對於給定的訓練數據集
設:
似然函數爲:
對數似然函數爲:
損失函數爲:
用梯度下降法求解 w 的估計值
代入(2.1)(2.2)式,得到邏輯斯蒂迴歸模型 P(y|x),其中向量
5. 小結
本文介紹基於條件概率分類的兩種模型算法:logistic 迴歸模型與最大熵模型,其中,logistic 迴歸模型是基於最大似然函數估計模型 P(y|x),最大熵模型是基於熵這一指標估計模型 P(y|x)。
參考:李航 《統計學習方法》
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/MMlQCcaOJ9s20xRfR_TMiw