今天大管和大家聊一聊极大似然估计是到底怎么一回事。有的同鞋看了很多机器学习算法,也用了很多极大似然估计,可能对它具体是什么还有点懵。
既然要把极大似然估计搞明白,就绕不开一个话题,什么是估计。这里我们聊点估计和函数估计。
点估计
点估计的目的是为一些我们感兴趣的量提供一个最优的预测。比如说前几篇中提到的线性回归的权重。我们把θ的点估计表示为θ^。令数据是独立同分布的,则点估计是这些数据的任意函数:
点估计的定义非常宽泛,几乎任意函数都可以是估计量,但是一个好的估计量输出的值更接近真实的值。由于数据都是随机采样出来的,所以θ^也是一个随机变量。
函数估计
当点估计是输入和目标变量之间的关系估计时,这种类型的估计就称之为函数估计。例如y = f(x)+ε,其中ε是未能从x中预测出的一部分。
估计的偏差
估计的偏差 (Bias) 被定义为:
其中期望作⽤在所有数据上, θ 是⽤于定义数据⽣成分布的真实值。偏差反映的是模型在样本上的输出与真实值之间的误差,即模型本⾝的精准度。如果 bias(θ^m) = 0,那么估计量 θ^m 被称为是⽆偏 (Unbiased)。如果 limm!1 bias(θ^m) = 0,那么估计量 θ^m 被称为是渐进⽆偏 (Asymptotically Unbiased)。
估计的方差
估计的⽅差 (Variance) 被定义为 :
⽅差反映的是模型每⼀次输出结果与模型输出期望之间的误差,即模型的稳定性。
知道了方差再来计算它的标准差:
其中, σ2 是样本{X(i)}的真实⽅差,标准差通常被标记为 σ。
如何权衡方差和偏差
方差和偏差度量这估计量误差的两个不同的来源。偏差度量这偏离真实值的误差期望,方差度量这数据上任意特定的采样可能导致的估计期望的偏差。权衡这两种误差的常用方法是交叉验证,另外我们也比较这些估计的均方误差MSE,它度量着估计和真实的θ之间平方误差的总体期望偏差,其公式如下:
如下图所示,当增加容量时会增加方差,降低偏差。
当我们沿着轴改变容量时,会发现中间的最佳容量,当容量小于最佳容量会导致欠拟合,大于最佳容量会导致欠拟合。
最大似然估计
最⼤似然估计 (Maximum Likelihood Estimation, MLE) 是⼀种最为常见的估计准则,其思想是在已知分布产生的一些样本⽽未知分布具体参数的情况下根据样本值推断最有可能产生样本的参数值。将数据的真实分布记为Pdata(x) ,为了使⽤ MLE,需要先假设样本服从某⼀簇有参数确定的分布
Pmodel(x; θ),现在的⽬标就是使⽤估计的 Pmodel 来拟合真实的 Pdata。
对于⼀组由 m 个样本组成的数据集 X = {x(1); · · · ; x(m)},假设数据独⽴且由未知的真实数据分布 Pdata(x) ⽣成。
对于θ的最大似然估计的定义:
多乘积会导致计算的不便,所以我们把乘积转换为求和的形式:
将上式除以m,得到Pmodel的相关期望为:
一种解释最大似然的观点是将它看做最小化训练集上的经验分布和模型分布的差,两者之间的差可以通过KL散度来衡量。则KL散度为:
当我们训练模型时,意味着最小化KL散度。此时我们只需要最小化
今天咱们聊的最大似然估计你是否懂了呢,感觉还不错的话在下方点个再看吧。
参考资料:Ian Goodfellow.Yoshua Bengio.Aaro Courville 《Deep Learning》