1. 程式人生 > >CS229與《統計學習方法》的EM演算法理解和比較,收斂性證明

CS229與《統計學習方法》的EM演算法理解和比較,收斂性證明

關於吳恩達老師的cs229講義和視訊與《統計學習方法》這本書上的EM演算法,作為初學者,強烈建議只看前者,恐怕是我比較菜只看後者的話會有很多地方不明白,比如為什麼似然函式不是 i = 1 n

P ( y i ; θ ) \prod\limits_{i=1}^{n}P(y_i;\theta)
而是 P ( Y ) P(Y) 呢?導致後面的收斂性證明也有這樣的疑問,為什麼後面EM應用高斯那部分的E步的Q函式成了那樣?想破了腦子也想不清楚。如果看cs229的話,很容易理解,但是推導我更喜歡後者的推導,關於推導我補充了我認為缺少的那部分,參考
EM演算法推導
。接下來對兩者的EM演算法進行簡單比較。

說明:下面的 p θ ( ) p ( ; θ ) p_\theta()和p(;\theta) 是一樣的,只是寫法不同,都只是表示模型引數是 θ \theta 而已。

1、EM演算法比較

1.1、《統計學習方法》之EM演算法流程

輸入:觀測資料 Y Y ,聯合分佈 P ( Y , Z ; θ ) P(Y,Z;\theta) ,條件分佈 P ( Z Y ; θ ) P(Z|Y;\theta)
輸出:模型引數 θ \theta

(1)、選擇引數的初始值 θ 0 \theta_0 開始進行迭代;
(2)、E(Expection)步:記第n次迭代引數為 θ n \theta_n ,那麼計算 n + 1 n+1 次的E步

Q ( θ θ n ) = i = 1 n z p θ n ( z y i ) l n p θ ( y i , z ) Q(\theta|\theta_n)=\sum\limits_{i=1}^{n} \sum\limits_{z}p_{\theta_n}(z|y_i)ln^{p_\theta(y_i,z)}

(3)、M(Maximization)步:求使得 Q ( θ θ n ) Q(\theta|\theta_n) 最大化的 θ n + 1 \theta_{n+1} ,即確定第 n + 1 n+1 次的模型引數

θ n + 1 = arg max θ Q ( θ θ n ) \theta_{n+1}=\arg\max\limits_{\theta}Q(\theta|\theta_n)

(4)、重複(2),(3)直到收斂。

注意:上面這個EM演算法是本人對原有的EM演算法的 Q Q 函式進行了修改的,加了最外層的 i = 1 n \sum\limits_{i=1}^{n} ,同時這個Q函式就跟cs229講義上的Q函式一樣了。 E步是寫出 Q Q 函式,在後面的高斯混合模型中可以看到,使用該EM演算法是先求出Q函式,也就是先求出聯合分佈 p ( y , z ) p(y,z) ,接著寫出似然函式最後求期望得到Q函式,在M步求使得函式極大化的 θ n + 1 \theta_{n+1} 值作為下一次E步的 θ \theta 值使用,如此迴圈下去直到收斂。

補充:書上的似然函式是下面這樣的

Q ( θ , θ i ) = E Z [ l o g P ( Y , Z θ ) Y , θ i ] = Z l o g P ( Y , Z θ ) P ( Z Y , θ i ) Q(\theta,\theta^i)=E_{Z}[logP(Y,Z|\theta)|Y,\theta^i]\\=\sum\limits_{Z}logP(Y,Z|\theta)P(Z|Y,\theta^i)

1.2、CS229之EM演算法流程

在這裡插入圖片描述

注意:這裡的 x x 和上面的 y y 都是隻觀察資料(顯變數), z z 表示隱變數。在E步驟是初始給定了 θ 0 \theta_0 作為初始引數值的,在上面沒寫出來。可以發現這個 Q i ( z ( i ) ) Q_i(z^{(i)}) 跟前面的EM演算法的 p θ n ( z y i ) p_{\theta_{n}}(z|y_i) 是一樣的,在M步也是求極大化。但是該演算法在E不是對於每個i求後驗概率,然後在M步直接帶入所求得的後驗概率來求極大化時的引數 θ n + 1 \theta_{n+1}

補充:由於在M步中已經知道了 Q i ( z ( i ) ) Q_i(z^{(i)}) ,也就是說 Q i ( z ( i ) ) Q_i(z^{(i)}) 是常量,那麼在求極大化時候我們求導會略掉,所以M步的公式可以寫成 θ : = a r g max i z ( i ) Q i ( z ( i ) ) l o g p ( x ( i ) , z ( i ) ; θ ) \theta:=arg\max\sum\limits_{i}\sum\limits_{z^{(i)}}Q_i(z^{(i)})logp(x^{(i)},z^{(i)};\theta)

相關推薦

CS229統計學習方法》的EM演算法理解比較收斂證明

關於吳恩達老師的cs229講義和視訊與《統計學習方法》這本書上的EM演算法,作為初學者,強烈建議只看前者,恐怕是我比較菜只看後者的話會有很多地方不明白,比如為什麼似然函式不是 ∏

統計學習方法_AdaBoost演算法實現

這裡用的是二值化的MNIST,同時將特徵的值也二值化了。書上舉的例子特徵只有一維,但大多數情況下特徵不會只有一維,這裡每次都會遍歷最優切分特徵和最優切分點,弱分類器選擇最簡單的閾值分類器,對於每個弱分類器都有與其對應的切分特徵和切分點,在預測的時候將預測資料也只使用需要的特徵

統計學習方法6—logistic迴歸最大熵模型

目錄 logistic迴歸和最大熵模型 1. logistic迴歸模型 1.1 logistic分佈 1.2 二項logistic迴歸模型 1.3 模型引數估計

統計學習方法筆記9—EM演算法2

9.2 EM演算法的收斂性 收斂定理9.1 觀測資料的似然函式單調遞增 收斂定理9.2 EM演算法是收斂性包含對數似然函式序列的收斂性和關於引數估計序列的收斂性,即一定可以通過迭代發現似然函式的極值點。 9.3 EM演算法在高斯混合模型學習中的應用 9.3.1 高

統計學習方法-李航-筆記總結】九、EM(Expectation Maximization期望極大演算法)演算法及其推廣

本文是李航老師《統計學習方法》第九章的筆記,歡迎大佬巨佬們交流。 主要參考部落格: https://www.cnblogs.com/YongSun/p/4767517.html https://blog.csdn.net/u010626937/article/details/751160

《李航:統計學習方法》--- K近鄰演算法(KNN)原理簡單實現

k近鄰演算法簡單,直觀:給定一個訓練資料集,對新的輸入例項,在訓練集中找到與該例項最鄰近的k個例項,這k個例項的多數屬於某個類,就把該輸入例項分為這個類。 如上圖所示,藍色正方形表示一個類別,紅色三角形表示另一個類別,綠色圓圈表示待分類的樣本。按照KNN演

《李航:統計學習方法》--- 感知機演算法原理實現

感知機模型 感知機是一個二類分類的線性分類模型。所謂二類分類就是它只能將例項分為正類和負類兩個類別。那麼為什麼是線性分類模型呢,我的理解是感知機學習旨在求出可以將資料進行劃分的分離超平面,而分離超平面的方程 w⋅x+b=0 為線性方程,所以感知機為線性分類模型

分享《機器學習資料科學(基於R的統計學習方法)》高清中文PDF+原始碼

下載:https://pan.baidu.com/s/1Lrgtp7bnVeLoUO46qPHFJg 更多資料:http://blog.51cto.com/3215120 高清中文PDF,299頁,帶書籤目錄,文字可以複製。配套原始碼。 本書指導讀者利用R語言完成涉及機器學習的資料科學專案。作者: Da

分享《機器學習數據科學(基於R的統計學習方法)》高清中文PDF+源代碼

data 圖片 intro enc proc 文字 目錄 baidu fff 下載:https://pan.baidu.com/s/1Lrgtp7bnVeLoUO46qPHFJg 更多資料:http://blog.51cto.com/3215120 高清中文PDF,299頁

分享《機器學習數據科學(基於R的統計學習方法)》+PDF+源碼+Daniel+施翔

目錄 intro r語言 ges ati href ext 學習方法 learn 下載:https://pan.baidu.com/s/1TBuxErDDcKQi4oJO3L-fEA 更多資料:http://blog.51cto.com/14087171 高清中文PDF,2

統計學習方法》第9章 EM/GMM/F-MM/GEM

前言 EM(期望最大)演算法有很多的應用,最廣泛的就是混合高斯模型、聚類、HMM等等,本質上就是一種優化演算法,不斷迭代,獲得優值,與梯度下降、牛頓法、共軛梯度法都起到同一類的作用。 本文是對李航《統計學習方法》的第9章複習總結,主要內容如下 EM(期望最大

統計學習方法(李航)》邏輯斯蒂迴歸最大熵模型學習筆記

作者:jliang https://blog.csdn.net/jliang3   1.重點歸納 1)線性迴歸 (1)是確定兩種或以上變數間相互依賴的定量關係的一種統計分析方法。 (2)模型:y=wx+b (3)誤差函式: (4)常見求解方法 最小

統計學習方法》筆記——樸素貝葉斯演算法

樸素貝葉斯演算法概述 樸素貝葉斯(naive Bayes)法是基於貝葉斯定理與特徵條件獨立假設的分類方法。對於給定的訓練資料集,首先基於特徵條件獨立假設學習輸入/輸出的聯合概率分佈;然後基於此模型,對於給定的輸入x,利用貝葉斯定理求出後驗概率最大的輸出y。

演算法工程師修仙之路:李航統計學習方法(一)

第1章 統計學習方法概論 統計學習 統計學習的特點 統計學習(statistical learning)是關於計算機基於資料構建概率統計模型並運用模型對資料進行預測與分析的一門學科,統計學習也稱為統計機器學習(statistical machine learnin

統計學習方法》各章節程式碼實現課後習題參考解答

程式碼參考:傳送門 待完成。。。 《統計學習方法》各章節程式碼實現與課後習題參考解答 章節 程式碼 課後習題 第1章 統計學習方法概論(LeastSquaresMethod)

統計學習方法》+樸素貝葉斯演算法+C++程式碼(簡單)實現

        首先,學習樸素貝葉斯演算法得了解一些基本知識,比如全概率公式和貝葉斯公式,這些知識隨便找一本書或者在網上都能夠獲得。在此,這裡僅關注貝葉斯演算法本身,以及其具體的實現(以例4.1的例子為參考)。     貝葉斯演算法:     程式設計實現以上演算法,

統計學習方法讀書筆記】感知機的個人理解(2)

這一部分說說自己看感知機學習演算法的對偶形式的理解。 引用知乎使用者的回答,這裡搞清楚兩件事情。自己看書的第一個疑惑是為什麼,這其中的ni是從何而來呢?後來發現忽略一個點就是“對於一個多次被誤分類的點”,也就是某個資料被使用了多次,因此出現ni這個引數。 第二個就是對於李航老師說的“例

統計學習方法讀書筆記】感知機的個人理解(1)

寫在前面: 在友人的推薦下,開始入李航老師的坑,《統計學習方法》。 讀到第二章,感知機,李航老師由淺入深讓我有了很好的理解,現在自己總結一下思路。 正文:  感知機用於二分類問題,由淺開始:假定我們有一個平面上存在許許多多的藍色點和紅色點,並且假設存在一條直線可以將藍紅

統計學習方法——模型問題分類

0. 寫在前面 在這一講中,我們主要介紹一下模型的類別以及問題的類別,並對課後習題進行相應的分析。 1. 模型的型別 我們知道,統計學習主要包括監督學習、非監督學習、半監督學習和強化學習。那麼在統計學習方法一書中主要涉及的是監督學習。而監督學習主要分為

李航·統計學習方法筆記·第6章 logistic regression最大熵模型(1)·邏輯斯蒂迴歸模型

第6章 logistic regression與最大熵模型(1)·邏輯斯蒂迴歸模型 標籤(空格分隔): 機器學習教程·李航統計學習方法 邏輯斯蒂:logistic 李航書中稱之為:邏輯斯蒂迴歸模型 周志華書中稱之為:對數機率迴歸模