极大似然法
一个盒子中有很多一模一样的小球,你从中取出10次,其中6次是黑球。请问黑球的概率是多少?
你的回答应该是0.6。
尽管采样次数很少,实际上也许与0.6偏离很大,但是0.6是最有可能的答案。如果用数学解释,假设黑球的概率是p,取10次得到6次黑球的可能性是 p 6 ( 1 − p ) 4 p^6(1-p)^4 p6(1−p)4,对该式求导可得:p=0.6时取得最大值。也就是说,当p=0.6时,可以使得实验所出现的可能性最大。那么就可以认为,p最好取0.6。
做出以上预测的前提是:实验所满足的分布是已知的,只有参数未知。前面的实验可以认为满足二项分布,所以可以使用式子 p 6 ( 1 − p ) 4 p^6(1-p)^4 p6(1−p)4求解。
理解角度1
将以上过程抽象,可以得到极大似然法的一般步骤:
- 在极大似然法中,首先使用所有样本计算似然函数 L ( θ ) L(\theta) L(θ):
- 似然函数是一个关于模型参数 θ \theta θ的函数,当选择不同的参数 θ \theta θ时,似然函数的值是不同的,它描述了在当前参数下,使用模型分布 p g ( x , θ ) p_g(x,\theta) pg(x,θ)产生数据集中所有样本的概率。一个朴素的想法是:在最好的模型参数 θ M L \theta_{ML} θML下,产生数据集中的所有样本的概率是最大的,即
θ M L = a r g m a x L ( θ ) \theta_{ML}=argmaxL(\theta) θML=argmaxL(θ)
乘法往往会增加计算量,所以最好采用取对数的形式:
理解角度2
另一种对极大似然估计的理解是: 极大似然估计本质在最小化训练集上的经验分布 p ^ d a t a \hat{p}_{data} p^data和模型分布 p g ( x ; θ ) p_g(x;\theta) pg(x;θ)之间的KL散度值,即
KL散度的表达式为:
第一项与 θ \theta θ无关,所以只考虑第二项,可以发现这和角度1的式子本质是一样的。
很多生成模型可以用极大似然的原理进行训练。