zoukankan      html  css  js  c++  java
  • 机器学习笔记--参数估计

    我们进行参数估计的方法一般主要有最大似然估计和贝叶斯估计。这里提一下两种估计的门派来加深理解:

    • 最大似然估计属于统计学里的频率学派。频率派从事件本身出发,认定事件本身是随机的。事件在重复试验中发生的频率趋于极限时,这个极限就是该事件的概率。事件的概率一般设为随机变量,当变量为离散变量时,变量的分布用概率质量函数来表征;变量连续时,则用概率密度函数去表征。

    • 贝叶斯估计属于统计学里的贝叶斯学派。贝叶斯学派从观察者角度出发,构造一个框架,使用人的已有知识来推理未知的事物。也就是我们常说的利用先验知识不断更新后验知识。

    大家有兴趣的深入了解两个学派不同之处的可以看一下贝叶斯学派与频率学派有何不同

    下面来介绍机器学习中的两种估计方法及它们的不同之处。

    一、最大似然估计

    首先说一下点估计,点估计是为一些感兴趣的量提供“最优”预测的,而预测就是通过求解一个训练数据集为输入的函数从而得到我们想要的估计值。至于这个函数怎么选取,就需要一个准则来判断了。最大似然估计往往可以提供这个准则来构建估计的函数。

    1、内容

    考虑一组具有 m 个样本的数据集 (X=lbrace x^{(1)},ldots ,x^{(m)} brace ) ,独立地由未知的真实数据生成分布 (p_{data}(x)) 生成。

    令 (p_{model}(x; heta)) 是一族由参数 ( heta ) 确定在相同空间上的概率分布(简称模型族)。我们的目标就是找到最大的概率分布及其对应的参数 ( heta ) 。最大似然估计定义如下:

    [ heta _{ML}=arg max _{ heta } p _{model} left( X; heta ight), ]

    [=arg max _{ heta } prod ^{m} _{i=1} p _{model} left( x^{(i)}; heta ight). ]

    因为多个概率的乘积可能会引起数值计算的下溢,所以我们引入似然对数将乘积化为便于计算的求和形式:

    [ heta _{ML}=arg max _{ heta } sum ^{m} _{i=1} log p _{model} left( x^{(i)}; heta ight). ]

    我们再除以样本数 m 便可以得到和训练数据经验分布 ( widehat {p} _{data} ) 相关的期望来作为准则:

    [ heta _{ML}=arg max _{ heta } E _{x sim widehat{p} _{data} } log p _{model} left( x^{(i)}; heta ight). ]

    2、解释

    为了更好地解释最大似然,我们可以将最大似然看成最小化训练集上的经验分布 ( widehat {p} _{data} ) 和模型分布之间的差异,差异可以用 KL 散度(相对熵)来表征,其表达式如下:

    [D _{KL} left( widehat {p} _{data} mid mid p _{model} ight) = E _{x sim widehat{p} _{data} } left[ log widehat {p} _{data} left( x ight) - log p _{model} left( x ight) ight] ]

    很明显,左边一项仅和数据生成过程有关,与模型无关。所以我们要减小经验分布和模型分布之间的差异,只要最小化右边一项:

    [- E _{x sim widehat{p} _{data} } log p _{model} left( x ight) ]

    这与上述最大化准则等价。

    3、性质

    最大似然估计通常是机器学习中的首选估计,主要是因为它的两个性质:

    1. 一致性:当样本数目 ( m ightarrow infty ) 时,参数的最大似然估计就会收敛到参数的真实值。
    2. 统计效率高:统计效率值降低一定的泛化误差需要样本数目,最大似然估计能用很少的样本就达到一定低的泛化误差。

    但是要注意的是,上述的性质基于两个条件:

    1. 数据的真实分布 ( p _{data} ) 必须包含在模型族中。换句话说,我们得选对学习算法,这样算法中的模型才能描述给定的数据的经验分布。
    2. 真实分布 ( p _{data} ) 要刚刚好对应一个 ( heta ) 值。不然最大似然估计的结果将无法应用于模型中。

    二、贝叶斯估计

    贝叶斯估计不同于最大似然估计只基于估计单一值 ( heta ) ,它考虑了所有可能的 ( heta ) 。

    在观察到数据前,( heta ) 的已知知识需要被表示成先验概率分布,即 ( p( heta) ) (简称“先验”)。一般,先验会选择一个相当宽泛的分布(高熵),来反映观测到任何数据前参数 ( heta ) 的高度不确定性。

    假设有一组数据样本 (X=lbrace x^{(1)},ldots ,x^{(m)} brace ) 。通过贝叶斯规则结合数据似然 ( p(x^{(1)},ldots ,x^{(m)} mid heta ) ) 和先验,我们可以得到参数 ( heta ) 对数据的条件概率(即参数的完整贝叶斯后验分布):

    [p( heta mid x^{(1)},ldots ,x^{(m)} ) = frac {p(x^{(1)},ldots ,x^{(m)} mid heta ) p( heta) }{ p(x^{(1)},ldots ,x^{(m)} ) } ]

    在观测到 m 个数据样本后,我们再预测下一个数据样本的分布:

    [p(x ^{m+1} mid x^{(1)},ldots ,x^{(m)} ) = int p(x ^{m+1} mid heta ) p( heta mid x ^{(1)},ldots ,x ^{(m)} ) \,{ m d} heta ]

    由此可以看出贝叶斯估计使用的是 ( heta ) 的全分布, 每个具有正概率密度的 ( heta ) 的值都有助于下一个样本的预测。

    当训练数据有限时,贝叶斯方法通常泛化得更好,但是训练数据很大时,计算代价会比较大。

    三、两种估计的比较

    • 最大似然估计使用 ( heta ) 的点估计,而贝叶斯估计使用的是 ( heta ) 的全分布。频率派估计 ( heta ) 的不确定性用的是方差,方差评估了重新采样后估计的可能变化,而贝叶斯派则是通过积分,可以防止过拟合。
    • 贝叶斯估计中的先验分布会影响概率质量密度朝参数空间中的偏好先验的区域偏移,先验一般偏好更简单或更光滑的模型。也就是说我们认为主观选择的先验会影响模型的结果,因此先验常在贝叶斯方法中被批判。

    这里再提一下利用两种估计方法优点的最大后验估计(MAP),既使用了先验,又回到最大似然估计来进行计算,这里就不赘述了。

    四、总结

    参数估计贯穿整个机器学习,一般我们机器学习有四部分组成:特定的数据集、目标函数(也称代价函数或损失函数)、优化过程、模型,而其中目标函数的构建离不开参数估计的指导,特别是最大似然估计。

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    让Python支持中文注释
    【转】python入门指引
    【转】布同:如何循序渐进学习Python语言
    在nagios中监控windows主机系统地址的状态
    大神
    music
    20·15-01-21
    2015-01-20
    2015-01-19
    2015-01-18
  • 原文地址:https://www.cnblogs.com/woaiml/p/ML2.html
Copyright © 2011-2022 走看看