数学,我拿你怎么办(2)?

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/phantom_111/article/details/83018695

极大似然函数

「极大似然」是统计学中的概念,容易懂的描述是,假设观测到一个现象的发生,就有理由认为这个现象(与其他现象相比)发生的「可能性」大。「可能性」是由似然函数刻画的(不是概率),既可认为造成「可能性」最大的就是真实的参数。

  • 比如,今天是个晴天,可以认为是晴天发生的「可能性」比阴天大,所以今天才是晴天。

极大似然的目的就是:利用已知的样本结果,反推「可能性」最大导致这样结果的参数

背景知识

在解释极大似然函数之前,先来回顾下贝叶斯公式 P ( w x ) = p ( x w ) p ( w ) p ( x ) P(w|x) = \frac{p(x|w)p(w)}{p(x)}

  • p ( w ) p(w) : 先验概率, 表示类别分布的概率
    • 在实际问题中,样本数据是真实数据的一个子集,先验概率 p ( w ) p(w) 是未知的。选取先验概率有几种比较常见的方式:
      • 每个样本所属的自然状态都是已知的(有监督学习)
      • 极靠经验
      • 用训练样本中各类出现的概率估计
  • p ( x w ) p(x|w) :类条件概率,表示某种类别的前提下,某事发生的概率
    • 样本数据的有限同时也导致类条件概率 p ( x w ) p(x|w) 是未知的,但类条件概率的估计比较困难,原因在于概率密度函数包含一个随机变量的全部信息,样本数据可能不多,特征向量 x 的维度可能很大等等
    • 概率密度函数的估计比较困难,解决办法就是将完全未知的概率密度函 p ( x w ) p(x|w) 转化为估计参数。极大似然估计就是一种参数估计的方法
  • p ( w x ) p(w|x) :后验概率,表示某事发生了,并且属于某一类别的概率
  • 后验概率,可以对样本进行分类,后验概率越大,就说明事物属于这个类别的可能性越大

公式

假设样本集中的样本都是独立分布,可以只考虑一类样本集 D,来估计参数的向量 θ \theta , 记已知的样本集为: D = { x 1 , x 2 , , x N } D = \{x_1, x_2, ···, x_N\}

似然函数:联合概率密度函数 $ p(D|\theta)$ 称相对于 { x 1 , x 2 , , x N } \{x_1, x_2, ···, x_N\} θ \theta 的似然函数

l ( θ ) = p ( D θ ) = p ( x 1 , x 2 , x N θ ) = i = 1 n p ( x i θ ) l(\theta) = p(D|\theta) = p(x_1, x_2, ···,x_N|\theta) = \prod_{i=1}^np(x_i|\theta)

假设 θ ^ \hat{\theta} 是参数空间中能使似然函数 l ( θ ) l(\theta) 最大 θ \theta 值,则 θ ^ \hat{\theta} 就是「可能性」最大的参数值,即 θ ^ \hat{\theta} 就是 θ \theta 的极大似然估计值。它是样本集的函数,记作:

  • θ ^ = d ( x 1 , x 2 , , x N ) = d ( D ) \hat{\theta} = d(x_1, x_2, ···, x_N) = d(D)
  • θ ^ ( x 1 , x 2 , , x N ) \hat{\theta}(x_1,x_2,···, x_N) 称作极大似然函数估计值

求解极大似然函数

ML 估计,求使得出现该组样本的概率最大的 θ \theta 值。 θ ^ = a r g m a x θ l ( θ ) = a r g m a x θ i n p ( x i θ ) \hat{\theta} = arg max_{\theta}l(\theta) = arg max_{\theta}\prod_i^np(x_i|\theta)

为了便于分析,假设 P 为对数似然函数: H ( θ ) = l n l ( θ ) H(\theta) = lnl(\theta) ,代入上式

θ ^ = a r g m a x θ H ( θ ) = a r g m a x θ l n l ( θ ) = a r g m a x θ i n l n p ( x i θ ) \hat{\theta} = arg max_{\theta}H(\theta) = arg max_{\theta}lnl(\theta)= arg max_{\theta}\sum_i^nln p(x_i|\theta)

  • 未知参数只有一个( θ \theta 为标量)

    扫描二维码关注公众号,回复: 4609364 查看本文章

    在似然函数满足连续,可微的正则条件下,极大似然估计量是如下的微分方程式的解:

    $\frac{dl(\theta)}{d\theta} = 0 $ 等价于 d H ( θ ) d θ = d l n l ( θ ) d θ = 0 \frac{dH(\theta)}{d\theta} = \frac{dlnl(\theta)}{d\theta} = 0

  • 未知参数有多个( θ \theta 为向量)

    θ \theta 可以表示为具有 S 个分向量: θ = [ θ 1 , θ 2 , , θ s ] T \theta = [\theta_1, \theta_2, ···, \theta_s]^T

    记梯度算子: Δ θ \Delta_\theta = $[\frac{\partial}{\partial\theta_1}, \frac{\partial}{\partial\theta_2}, ···,\frac{\partial}{\partial\theta_s}] $

    若似然函数满足连续可导的条件,则最大似然估计的值就是如下方程的解:

    $\Delta H(\theta) = \Delta lnl(\theta) = \sum_{i=1}^N \Delta_\theta lnP(x_i|\theta) =0 $

注意

  • 方程式的解只是一个估计值,只有在样本趋于无限多的时候,它才会接近于真实值。
  • 使用极大似然估计的样本必须满足如下条件:
    • 训练样本的分布能够代表样本的真实分布
    • 每个样本集中的样本都是所谓的独立同分布的随机变量(iid条件),且有充足的训练样本。

参考资料

最小二乘法

最小二乘法:「二乘」指的就是平方的意思。通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和最小。

概念

最小二乘法:是对过确定系统(存在比未知数更多的方程组),以回归分析求得近似解得标准方法。最小二乘法演算为每一方程式的结果中,将残差(残差为:观测值与模型提供的拟合值之间的距离)的平方总和最小化。最重要的应用是在曲线拟合上,但当问题自变量( x 变量)有重大不确定性时,使用简易回归和最小二乘法会发生问题,在这种情况下,须另外考虑变量 - 误差 - 拟合模型所需的方法,而不是最小二乘法

  • 最小二乘法问题分为两种:线性最小二乘法和非线性最小二乘法,非线性的问题通常经由迭代细致化来解决,在每次迭代中,系统由线性近似,因此在这种两种情况下核心演算是相同的。

公式

典型的一类函数模型是线性函数模型。最简单的线性式是 y = b 0 + b 1 t y = b_0 + b_1t ,写成矩阵式,为

\min _{{b_{0},b_{1}}}\left|{\begin{pmatrix}1&t_{1}\\vdots &\vdots \1&t_{n}\end{pmatrix}}{\begin{pmatrix}b_{0}\b_{1}\end{pmatrix}}-{\begin{pmatrix}y_{1}\\vdots \y_{{n}}\end{pmatrix}}\right|_{{2}}=\min _{b}|Ab-Y|_{2}.

直接给出该式的参数解:

b_{1}={\frac  {\sum _{{i=1}}^{n}t_{i}y_{i}-n\cdot {\bar  t}{\bar  y}}{\sum _{{i=1}}{n}t_{i}{2}-n\cdot ({\bar  t})^{2}}}

b_{0}={\bar  y}-b_{1}{\bar  t}

其中,为t值的算术平均值

例子

某次实验得到了四个数据点 ( x , y ) ( 1 , 6 ) ( 2 , 5 ) ( 3 , 7 ) ( 4 , 10 ) {\displaystyle (x,y)}:{\displaystyle (1,6)}、{\displaystyle (2,5)}、{\displaystyle (3,7)}、{\displaystyle (4,10)} 希望找出一条和这四个点最匹配的直线 y = β 1 + β 2 x {\displaystyle y=\beta _{1}+\beta _{2}x} ,即找出在某种“最佳情况”下能够大致符合如下超定线性方程组的 β 1 {\displaystyle \beta _{1}} 和$ {\displaystyle \beta _{2}}$:

β 1 + 1 β 2 = 6 {\beta_1 + 1\beta_2 = 6}

β 1 + 2 β 2 = 5 {\beta_1 + 2\beta_2 = 5}

β 1 + 3 β 2 = 7 {\beta_1 + 3\beta_2 = 7}

β 1 + 4 β 2 = 10 {\beta_1 + 4\beta_2 = 10}

最小二乘法采用的手段是尽量使得等号两边的方差最小,也就是找出这个函数的最小值:

{\begin{aligned}S(\beta _{1},\beta _{2})=&\left[6-(\beta _{1}+1\beta _{2})\right]^{2}+\left[5-(\beta _{1}+2\beta _{2})\right]^{2}\&+\left[7-(\beta _{1}+3\beta _{2})\right]^{2}+\left[10-(\beta _{1}+4\beta _{2})\right]^{2}.\\end{aligned}}

最小值可以通过对$ {\displaystyle S(\beta _{1},\beta _{2})}$分别求 {\displaystyle \beta _{1}}\beta _{1} β 2 {\displaystyle \beta _{2}} 偏导数,然后使它们等于零得到。

如此就得到了一个只有两个未知数的方程组,很容易就可以解出:

{\frac  {\partial S}{\partial \beta _{1}}}=0=8\beta _{1}+20\beta _{2}-56

{\frac  {\partial S}{\partial \beta _{2}}}=0=20\beta _{1}+60\beta _{2}-154.

最后求解得到 β 1 \beta_1 = 3.5、 β 2 = 1.4 \beta_2 = 1.4 也就是说直线$ {\displaystyle y=3.5+1.4x}$是最佳的。

猜你喜欢

转载自blog.csdn.net/phantom_111/article/details/83018695