极大似然函数
「极大似然」是统计学中的概念,容易懂的描述是,假设观测到一个现象的发生,就有理由认为这个现象(与其他现象相比)发生的「可能性」大。「可能性」是由似然函数刻画的(不是概率),既可认为造成「可能性」最大的就是真实的参数。
- 比如,今天是个晴天,可以认为是晴天发生的「可能性」比阴天大,所以今天才是晴天。
极大似然的目的就是:利用已知的样本结果,反推「可能性」最大导致这样结果的参数 。
背景知识
在解释极大似然函数之前,先来回顾下贝叶斯公式 P ( w ∣ x ) = p ( x ∣ w ) p ( w ) p ( x ) P(w|x) = \frac{p(x|w)p(w)}{p(x)} P(w∣x)=p(x)p(x∣w)p(w)
-
p
(
w
)
p(w)
p(w) : 先验概率, 表示类别分布的概率
- 在实际问题中,样本数据是真实数据的一个子集,先验概率
p
(
w
)
p(w)
p(w) 是未知的。选取先验概率有几种比较常见的方式:
- 每个样本所属的自然状态都是已知的(有监督学习)
- 极靠经验
- 用训练样本中各类出现的概率估计
- 在实际问题中,样本数据是真实数据的一个子集,先验概率
p
(
w
)
p(w)
p(w) 是未知的。选取先验概率有几种比较常见的方式:
-
p
(
x
∣
w
)
p(x|w)
p(x∣w) :类条件概率,表示某种类别的前提下,某事发生的概率
- 样本数据的有限同时也导致类条件概率 p ( x ∣ w ) p(x|w) p(x∣w) 是未知的,但类条件概率的估计比较困难,原因在于概率密度函数包含一个随机变量的全部信息,样本数据可能不多,特征向量 x 的维度可能很大等等 。
- 概率密度函数的估计比较困难,解决办法就是将完全未知的概率密度函 p ( x ∣ w ) p(x|w) p(x∣w) 转化为估计参数。极大似然估计就是一种参数估计的方法 。
- p ( w ∣ x ) p(w|x) p(w∣x) :后验概率,表示某事发生了,并且属于某一类别的概率
- 后验概率,可以对样本进行分类,后验概率越大,就说明事物属于这个类别的可能性越大
公式
假设样本集中的样本都是独立分布,可以只考虑一类样本集 D,来估计参数的向量 θ \theta θ, 记已知的样本集为: D = { x 1 , x 2 , ⋅ ⋅ ⋅ , x N } D = \{x_1, x_2, ···, x_N\} D={x1,x2,⋅⋅⋅,xN}
似然函数:联合概率密度函数 $ p(D|\theta)$ 称相对于 { x 1 , x 2 , ⋅ ⋅ ⋅ , x N } \{x_1, x_2, ···, x_N\} {x1,x2,⋅⋅⋅,xN} 的 θ \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) l(θ)=p(D∣θ)=p(x1,x2,⋅⋅⋅,xN∣θ)=∏i=1np(xi∣θ)
假设 θ ^ \hat{\theta} θ^ 是参数空间中能使似然函数 l ( θ ) l(\theta) l(θ) 最大 θ \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) θ^=d(x1,x2,⋅⋅⋅,xN)=d(D)
- θ ^ ( x 1 , x 2 , ⋅ ⋅ ⋅ , x N ) \hat{\theta}(x_1,x_2,···, x_N) θ^(x1,x2,⋅⋅⋅,xN) 称作极大似然函数估计值
求解极大似然函数
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) θ^=argmaxθl(θ)=argmaxθ∏inp(xi∣θ)
为了便于分析,假设 P 为对数似然函数: H ( θ ) = l n l ( θ ) H(\theta) = lnl(\theta) H(θ)=lnl(θ),代入上式
θ ^ = 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) θ^=argmaxθH(θ)=argmaxθlnl(θ)=argmaxθ∑inlnp(xi∣θ)
-
未知参数只有一个( θ \theta θ 为标量)
在似然函数满足连续,可微的正则条件下,极大似然估计量是如下的微分方程式的解:
$\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 dθdH(θ)=dθdlnl(θ)=0
-
未知参数有多个( θ \theta θ 为向量)
θ \theta θ 可以表示为具有 S 个分向量: θ = [ θ 1 , θ 2 , ⋅ ⋅ ⋅ , θ s ] T \theta = [\theta_1, \theta_2, ···, \theta_s]^T θ=[θ1,θ2,⋅⋅⋅,θ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 y=b0+b1t ,写成矩阵式,为
直接给出该式的参数解:
其中,为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)} (x,y):(1,6)、(2,5)、(3,7)、(4,10) 希望找出一条和这四个点最匹配的直线 y = β 1 + β 2 x {\displaystyle y=\beta _{1}+\beta _{2}x} y=β1+β2x,即找出在某种“最佳情况”下能够大致符合如下超定线性方程组的 β 1 {\displaystyle \beta _{1}} β1和$ {\displaystyle \beta _{2}}$:
β 1 + 1 β 2 = 6 {\beta_1 + 1\beta_2 = 6} β1+1β2=6
β 1 + 2 β 2 = 5 {\beta_1 + 2\beta_2 = 5} β1+2β2=5
β 1 + 3 β 2 = 7 {\beta_1 + 3\beta_2 = 7} β1+3β2=7
β 1 + 4 β 2 = 10 {\beta_1 + 4\beta_2 = 10} β1+4β2=10
最小二乘法采用的手段是尽量使得等号两边的方差最小,也就是找出这个函数的最小值:
最小值可以通过对$ {\displaystyle S(\beta _{1},\beta _{2})}$分别求 {\displaystyle \beta _{1}} 和
β
2
{\displaystyle \beta _{2}}
β2 的偏导数,然后使它们等于零得到。
如此就得到了一个只有两个未知数的方程组,很容易就可以解出:
最后求解得到 β 1 \beta_1 β1 = 3.5、 β 2 = 1.4 \beta_2 = 1.4 β2=1.4也就是说直线$ {\displaystyle y=3.5+1.4x}$是最佳的。