EM(Expectation Maximum)算法可以被认为是机器学习十大究极算法之一,是贝叶斯派(概率图模型、生成式模型)中参数可学习的理论根源。我当然要非常认真的了解一下(其实是看HMM的Balm-Welch的时候卡住了),但是在了解这个之前,首先得复习一下什么是极大似然估计(Maximum Likelihood Estimation)。

1. 极大似然估计法

一句话,极大似然估计就是给定观测值求解使当前观测值出现概率最大的模型参数的值

一般分为三步,首先规定观测值;第二根据观测值确定似然函数;第三求当前似然函数极大值(不管是导数为零(书上的方法)还是负对数似然梯度下降优化,都是一样的目的),得到模型参数的值。

为了更深入的理解极大似然估计法,这里对其中涉及、引申的概念先做一些细致的讨论。

1.1 统计和概率

统计(statistics)和概率(probability)是机器学习中非常重要的两大类问题(分别引申出了频率派和贝叶斯派)。他们在ML中都可以被用来预测未知样本,但是它们采用了截然不同的思想:概率是直接预测样本,统计是推理出模型之后用模型推理预测样本。

概率是已知模型和参数,推数据。统计是已知数据,推模型和参数。

概率是已知模型和参数,推数据。统计是已知数据,推模型和参数。

概率论是统计推断的基础,在给定数据生成过程下观测、研究数据的性质;而统计推断则根据观测的数据,反向思考其数据生成过程。预测、分类、聚类、估计等,都是统计推断的特殊形式,强调对于数据生成过程的研究。这里多插一句,统计方法推理出模型之后(如线性回归、逻辑斯蒂回归等),这个预测过程也是统计推断。

拿彩票举个例子:

统计学:根据往期中奖信息,反推彩票游戏规则。 概率论:根据彩票游戏规则,推算中奖几率。

读到这里有点感觉,诶概率好像是统计预测中的子问题啊?并不是这样的,想要进一步理解统计思想和概率思想,可以仔细看看1.4的例子(分别用了概率中极大似然估计和简单的统计估计两种方法)。深入理解的话,还是需要得真的用手搞一遍PGM-based Model Application了!

1.2 似然函数和概率函数

似然(likelihood)这个词其实和概率(probability)是差不多的意思,Colins字典这么解释:The likelihood of something happening is how likely it is to happen. 你把likelihood换成probability,这解释也读得通。但是在统计里面,似然函数和概率函数却是两个不同的概念

对于这个函数$P(x|\theta)$,输入有两个:$x$ 表示某一个(组)具体的数据,而 $\theta$ 表示模型的具体参数。

如果 $\theta$ 是已知确定的, $x$ 是变量,这个函数叫做概率函数(probability function)。概率函数描述对于不同的样本点 $x$ ,其出现的概率是多少。

如果 $x$ 是已知确定的,$\theta$ 是变量,这个函数叫做似然函数(likelihood function)。似然函数描述对不同的模型参数,出现 $x$ 这个样本点的概率是多少。

<aside> 💡 了解了似然函数的概念,这里再次强调一遍:极大似然估计法,顾名思义,也就是对于当前模型一组给定的观测数据,构建其似然函数,并且求解其极大值(使当前观测数据出现的可能性最大),进而得到当前模型参数的方法。其实也有点最大期望的思想在里面。

</aside>

1.3 极大似然估计法

上面已经解释了很多次了,这里还是梳理一下。