从KL散度的观点理解最大似然估计
极大似然估计在机器学习中因其需要的数据量较小,计算方便,数学理论支撑较好等优点,在参数估计中有着广泛的应用场景。直接理解极大似然估计并不难,但是本文提供另外一个角度理解极大似然估计的出发点、目的和方法。 ######极大似然估计的基本出发点和求解思路 极大似然估计(MLE)是假设样本符合某个分布f,利用已知样本的实际分布情况,使样本在f分布上的可能性最大。具体而言:假设x~f;f分布中参数为θ,样本分别为{x ___ 1 ___ ,x___2___ ,x___3___,.....}。可以通过最大化g(x) = f(x1;θ)*f(x2;θ)*f(x3;θ)....求解出其中的参数θ。 例如样本的分布f(x)服从均匀分布,均匀分布的参数为[a,b],即$$f(x) \sim \frac{1} {(a - b)}\quad\quad 公式(1) $$ 已知样本分别为{x___1___,x___2___,x___3___},则通过使式$$g(x) = \frac{1}{(a-b)} \times \frac{1}{(a-b)} \times \frac{1}{(a-b)}$$乘积g(x)最大化即argmax g(x)可以求出a,b。在这个例子中不用费太大功夫只需要a = max{x___1___, x___2___, x___3___},b = min{x___1___, x___2___, x___3___}即可。对于复杂些的情况,使用极大似然估计进行求解可能需要使用微积分。
######从KL散度的观点理解极大似然估计 KL散度是用来描述两个模型(概率分布)之间相似程度的度量标准。对KL模型的描述主要使用信息论中交叉熵的概念。 在信息论中,熵描述了系统的稳定程度(或者说系统的神秘程度这两种说法完全不同但是本质是一致的)。其计算公式为$$ H(x) = \sum p_{i} \times \log \frac{1}{p _{i}} \quad \quad 公式2$$有序的系统也就是说所有组成成分是确定的,举例而言,模型f表示了某个大厨使用26个英文字母代表他的食材,如果他做某道菜选用3种食材,使用食材出现的概率相同那这个这道菜肯定无法估计其味道。也就是说这个做菜系统是混乱的,难以估计且不稳定的,试想大厨每天做出来的菜味道都不一样那肯定要被炒鱿鱼。我们可以计算一下这个做菜系统的信息熵,使用公式2可知**H(x) =3 (1/26) * Log(26) =1.414 **如果配方基本确定,其他食材基本不会被误拿,那么此时这三种食材的概率为1/3其他食材的概率为0;使用公式2计算可知H(x) = 0.1632。 相对熵(KL散度),公式为 $$D(p||q) = -\sum p_i \log \frac{q _i}{p _i} \quad \quad 公式3$$ 使用吉布斯不等式可以证明D(p||q) >= 0证明过程很简单,罗列如下: $$ln(x) <= x-1 \quad \quad 公式4$$ 该公式在x>0时均成立(可以通过函数的单调性验证),将公式3中的log(p___j___/p___i___)替换为(p___j___/p___i___) - 1,此时 $$D(p||q) =-\sum p_i \log \frac{q _i}{p _i} \geq -\sum p_i (\frac{p _j}{p _i} - 1) = -\sum ({p _j}-{p _i} ) = -\sum{p _ j}- \sum{p _ i} = 0\quad \quad $$ 如果p和q代表两种模型的概率分布那么P、Q的KL散度就代表了他们的差异程度。在极大似然估计中目的就是为了使估计分布和真是分布之间的差异最小,那么实际上就是减小KL散度的距离。将KL散度分解后可得: $$D(p||q) = -\sum p_i \log \frac{q _i}{p _i} = \sum p_i \log \frac{1}{q _i} - \sum p_i \log \frac{1}{p _i} \quad \quad $$ 由于后半部分为系统真实熵的值为固定值,前半部分为估计系统的熵的相反数。如果要使KL散度变小(取得与真实分布更接近的概率模型)必须使得-sum(log(p___i___))取最小值,也就是 $$argmax \sum log(p _i)$$ 这与极大似然估计的目的一致。因此,从KL散度的观点看极大似然估计确实可以获取到与真实概率分布一致的数据分布。
本文转载自异步社区。
原文链接
https://www.epubit.com/articleDetails?id=N2432ccfc-2804-4641-94db-dcf1cd5234c3
- 点赞
- 收藏
- 关注作者
评论(0)