統計學習方法筆記-EM演算法

三歲就很萌@D發表於2020-11-19

一 EM演算法引入

EM演算法是一種用於含有隱變數的概率模型引數的極大似然估計。 它分為兩步進行: 第一步E步,求期望。第二步M步,求極大。 所以也被稱為期望極大演算法。

看了上面的描述可能會有疑問,什麼叫做含有隱變數的概率模型引數的極大似然估計

我們首先說一下什麼叫做似然函式和極大似然估計:

在數理統計學中,似然函式是一種關於統計模型中的引數的函式,表示模型中引數的似然性,似然性類似於概率,指某種事件發生的可能性。

在通常情況下我們是根據已知條件來推測結果的,但極大似然估計是已知結果,我們選取讓這種結果出現概率最大的條件。

舉個例子,現在有一張滿分試卷,並且跟你說了這張試卷可能是小花或者是小明的(小花是眾所周知的學霸,小明是眾所周知的學渣) 。 問你這張試卷是誰的? 潛意識中你會覺得這是小花的。 這其中其實就蘊含了極大似然估計的道理。

在上述例子中,我們可以認為,結果是一張滿分試卷,引數是寫卷子的人{小花,小明}。我們已知了結果,選取引數是小花,可以讓我們的結果(滿分試卷)出現的概率最大。

在上述例子中我們除了引數是未知的其餘都是已知的,所以可以直接極大化似然函式來求解引數,但是如果我們的模型中,除了未知引數外,還有一些隱變數,我們又該如何去求解未知的引數呢?

我們看一下著名的三硬幣模型(它就是一個既含有未知引數又含有隱變數的概率模型)

假設有 3 枚硬幣,分別記作 A, B, C。這些硬幣正面出現的概率分別是π, p 和 q。進行如下擲硬幣試驗: 先擲硬幣 A,根據其結果選出硬幣 B 或硬幣 C,正面選硬幣 B,反面選硬幣 C; 然後擲選出的硬幣,擲硬幣的結果,出現正面記作1,出現反面記作 0; 獨立地重複 n 次試驗(這裡, n= 10) ,觀測結果如下: 1,1,0,1,0,0,1,0,1,1

假設只能觀測到擲硬幣的結果,不能觀測擲硬幣的過程。問如何估計三硬幣正面出現的概率,即三硬幣模型的引數。

根據這個例子我們先明確幾個概念

觀測變數: 模型中可以直接觀測,即在研究中能夠收集到的變數成為觀測變數。

隱變數: 模型中不可觀測的隨機變數,我們通常通過可觀測變數的樣本對隱變數作出推斷。

在三硬幣模型中,我們通過拋擲硬幣A確定了拋硬幣B或者C,之後通過一次拋擲我們得到了一個結果1或者0 ,這一次的結果就是可觀測的,我們稱其為觀測變數 ,記作隨機變數y。 而拋擲硬幣A的結果是不可觀測的,它就是一個隱變數,記作隨機變數z。 而引數就是硬幣A,B,C 正面出現的概率π,p,q

明白了這些以後,回到我們的問題,在有隱變數z的情況下,我們如何估計模型的引數?

我們先來看一個簡單的情況, 有一個硬幣,拋正面的概率是p 則拋反面的概率是 1-p ,在將這個硬幣拋擲10次後,我們得到一個觀測序列1,1,0,1,0,0,1,0,1,1 , 如何估計它的引數p

這個問題很顯然就是我們前面說的,已知結果,如何讓我們的結果出現的概率最大,當然用極大似然估計了。
在這裡插入圖片描述答案是p為0.6 我們從直覺上看也是這樣的

好了迴歸我們這個問題 ,比較一下這兩個問題。 那個簡單的問題姑且把它稱為單硬幣模型。 我們發現三硬幣模型中包含了兩個單硬幣模型(用硬幣B進行拋擲,或者用硬幣C拋擲) 但它讓人難受的地方是,我們不確定到底選擇哪一個模型(硬幣A的結果決定選擇哪一個模型,但是結果是不確定的)

我們先來看一下三硬幣模型的表示形式

y是觀測變數 我們觀測的結果 也就是那個結果序列 1,1,0,1,0,0,1,0,1,1

z是隱變數 硬幣A的拋擲結果

Θ是模型引數 Θ=(Π,p,q)

在這裡插入圖片描述

在本例中EM演算法的主要思想如下:

E步:先隨機設定一下各種引數,然後再算一下在當前情況下每個樣本點屬於哪一個模型的概率值

M步:此時我們知道了一個樣本點屬於某個模型的概率,然後再次計算各個模型的引數;然後返回上一步,直至演算法收斂。

在我們的三硬幣模型中EM演算法又是怎麼應用的呢?

首先我們選取一個初值
在這裡插入圖片描述
我們假設第i次迭代時 引數是
在這裡插入圖片描述
EM演算法第i+1次迭代如下
在這裡插入圖片描述

在這裡插入圖片描述
在這裡插入圖片描述

二 EM演算法的推導

下面正式介紹一下EM演算法

一般地,用 Y 表示觀測隨機變數的資料, Z 表示隱隨機變數的資料。 Y 和 Z 連 在一起稱為完全資料 ,觀測資料 Y 又稱為不完全資料 。

假設給定觀測資料 y, 其概率分佈是 P(YIΘ), 其中Θ是需要估計的模型引數, 那麼不完全資料 Y 的似然函式是 P(YIΘ), 對數似然函式 L(Θ) = log P(YIΘ); 假設 Y 和 Z 的聯合概率分佈是: P(Y, ZIΘ) ,那麼完全資料的對數似然函式是 logP(Y, ZIΘ)。

介紹一個函式—Q函式

在這裡插入圖片描述

給出EM演算法的推導
在這裡插入圖片描述在這裡插入圖片描述

EM 演算法通過迭代求 L(Θ) = log P(YIΘ) 的極大似然估計。每次迭代包含兩步: E 步,求期望;M 步,求極大化。下面來介紹 EM 演算法。

在這裡插入圖片描述

三 EM演算法的收斂性

我們在前面已經介紹了,EM演算法是一種迭代型別的演算法,它是通過逐步迭代來逼近最大值的, 所以就會帶來兩個問題,EM演算法在不斷迭代過程中可以收斂到一個值嗎? 如果可以的話這個值是否是全域性最大值或者區域性極大值?

先看一個定理

在這裡插入圖片描述
該定理證明如下

在這裡插入圖片描述
在這裡插入圖片描述以上我們證明出似然函式P(Y|Θ) 是單調遞增的,則對數似然函式也是單調遞增的。
在這裡插入圖片描述

定理只能保證引數估計序列收斂到對數似然函式序列的穩定點,不能保證收斂到極大值點。 所以在應用中,初值的選擇變得非常重要,常用的辦法是選取幾個不同的初值進行迭代,然後對得到的各個估計值加以 比較,從中選擇最好的。

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

相關文章