最大似然监督分类 python 最大似然分析_最大似然监督分类 python


例子1:抽球

举个通俗的例子:假设一个袋子装有白球与红球,比例未知,现在抽取10次(每次抽完都放回,保证事件独立性),假设抽到了7次白球和3次红球,在此数据样本条件下,可以采用最大似然估计法求解袋子中白球的比例(最大似然估计是一种“模型已定,参数未知”的方法)。当然,这种数据情况下很明显,白球的比例是70%,但如何通过理论的方法得到这个答案呢?一些复杂的条件下,是很难通过直观的方式获得答案的,这时候理论分析就尤为重要了,这也是学者们为何要提出最大似然估计的原因。我们可以定义从袋子中抽取白球和红球的概率如下:



最大似然监督分类 python 最大似然分析_似然函数_02


x1为第一次采样,x2为第二次采样,f为模型, theta为模型参数


其中theta是未知的,因此,我们定义似然L为:



最大似然监督分类 python 最大似然分析_正态分布_03


L为似然的符号


两边取ln,取ln是为了将右边的乘号变为加号,方便求导。



最大似然监督分类 python 最大似然分析_最大似然估计_04


两边取ln的结果,左边的通常称之为对数似然。



最大似然监督分类 python 最大似然分析_数据_05


这是平均对数似然


最大似然估计的过程,就是找一个合适的theta,使得平均对数似然的值为最大。因此,可以得到以下公式:



最大似然监督分类 python 最大似然分析_似然函数_06


最大似然估计的公式


这里讨论的是2次采样的情况,当然也可以拓展到多次采样的情况:



最大似然监督分类 python 最大似然分析_数据_07


最大似然估计的公式(n次采样)


我们定义M为模型(也就是之前公式中的f),表示抽到白球的概率为theta,而抽到红球的概率为(1-theta),因此10次抽取抽到白球7次的概率可以表示为:



最大似然监督分类 python 最大似然分析_数据_08


10次抽取抽到白球7次的概率


将其描述为平均似然可得:



最大似然监督分类 python 最大似然分析_数据_09


10次抽取抽到白球7次的平均对数似然,抽球的情况比较简单,可以直接用平均似然来求解


那么最大似然就是找到一个合适的theta,获得最大的平均似然。因此我们可以对平均似然的公式对theta求导,并另导数为0。



最大似然监督分类 python 最大似然分析_最大似然估计_10


求导过程


由此可得,当抽取白球的概率为0.7时,最可能产生10次抽取抽到白球7次的事件。

例子2:正态分布

假如有一组采样值(x1,...,xn),我们知道其服从正态分布,且标准差已知。当这个正态分布的期望为多少时,产生这个采样数据的概率为最大?

这个例子中正态分布就是模型M,而期望就是前文提到的theta。



最大似然监督分类 python 最大似然分析_最大似然估计_11


似然



最大似然监督分类 python 最大似然分析_正态分布_12


正态分布的公式,当第一参数(期望)为0,第二参数(方差)为1时,分布为标准正态分布



最大似然监督分类 python 最大似然分析_最大似然监督分类 python_13


似然值



最大似然监督分类 python 最大似然分析_数据_14


对上式求导可得



综上所述,可得求解最大似然估计的一般过程为:

1. 写出似然函数;

2. 如果无法直接求导的话,对似然函数取对数;

3. 求导数 ;

4. 求解模型中参数的最优值。