> 文章列表 > 理解机器学习中常见参数估计方法

理解机器学习中常见参数估计方法

理解机器学习中常见参数估计方法

MLE算法

Maximum Likelihood Estimate (MLE) 中文名叫做极大似然估计。其核心思想是求解能够最大化拟合观测分布 D D D参数 θ ^ \\hat\\theta θ^
θ ^ = a r g m a x ( P ( D ) ∣ θ ) \\hat\\theta = argmax(P(D)|\\theta) θ^=argmax(P(D)θ)
例如,假设抛硬币正面朝上的概率 P ( u p ) = θ P(up) = \\theta P(up)=θ, 反面朝上的概率值为 P ( d o w n ) = 1 − θ P(down) = 1 - \\theta P(down)=1θ 。假设每次抛硬币的过程是条件独立的,且符合(0-1)分布。用 α u \\alpha_{u} αu α d \\ \\alpha_d  αd 分别表示抛了若干次硬币之后观察到的正面朝上和反面朝上的次数。则
P ( D ∣ θ ) = P ( α u , α d ∣ θ ) = θ α u ( 1 − θ ) α d P(D|\\theta) = P(\\alpha_u, \\alpha_d|\\theta) = \\theta^{\\alpha_u} (1 - \\theta)^{\\alpha_d} P(Dθ)=P(αu,αdθ)=θαu(1θ)αd

利用MLE算法求解上述表达式:
θ ^ M L E = a r g m a x ( P ( D ) ∣ θ ) \\hat\\theta_{MLE} = argmax(P(D)|\\theta) θ^MLE=argmax(P(D)θ)
θ ^ M L E = a r g m a x ( l n ( P ( D ∣ θ ) ) ) \\hat\\theta_{MLE} = argmax(ln(P(D|\\theta))) θ^MLE=argmax(ln(P(Dθ)))
θ ^ M L E = a r g m a x ( l n ( θ α u ( 1 − θ ) α d ) ) \\hat\\theta_{MLE} = argmax(ln(\\theta^{\\alpha_{u}}(1-\\theta)^{\\alpha_d})) θ^MLE=argmax(ln(θαu(1θ)αd))
令其导数为0,求解极值点:
d d θ l n ( θ α u ( 1 − θ ) α d ) = α u 1 θ − α d 1 1 − θ = 0 \\frac{d}{d\\theta }ln(\\theta^{\\alpha_{u}}(1-\\theta)^{\\alpha_d}) = \\alpha_u \\frac{1}{\\theta} - \\alpha_d \\frac{1}{1-\\theta} = 0 dθdln(θαu(1θ)αd)=αuθ1αd1θ1=0

解得 θ ^ M L E = α u α u + α d \\hat\\theta_{MLE} = \\frac{\\alpha_u}{\\alpha_u + \\alpha_d} θ^MLE=αu+αdαu这符合我们的认知,概率值近似等于频率。

MAP 算法

Maximum a Posterior (MAP) 中文名叫最大后验概率估计。其核心思想是在极大似然估计(MLE)算法的基础上,假设参数 θ \\theta θ符合某先验分布 g ( θ ) g(\\theta) g(θ)则根据贝叶斯公式:
P ( θ ∣ D ) = P ( D ∣ θ ) P ( θ ) P ( D ) P(\\theta|D) = \\frac{P(D|\\theta)P(\\theta)}{P(D)} P(θD)=P(D)P(Dθ)P(θ)
由于P(D) 是已知的观测分布可以忽略,因此 P ( θ ∣ D ) ∝ P ( D ∣ θ ) P ( θ ) P(\\theta|D) \\propto P(D|\\theta)P(\\theta) P(θD)P(Dθ)P(θ)(这里的 ∝ \\propto 表示“正比于”),因此MAP的求解过程如下:
θ ^ M A P = a r g m a x ( P ( D ) ∣ θ ) P ( θ ) = θ ^ M L E g ( θ ) \\hat \\theta_{MAP} = argmax(P(D)|\\theta)P(\\theta) = \\hat \\theta_{MLE} \\space g(\\theta) θ^MAP=argmax(P(D)θ)P(θ)=θ^MLE g(θ)
当参数 θ \\theta θ的分布为常数分布时,最大后验概率估计等价于极大似然估计,即 θ ^ M A P = θ ^ M L E \\hat \\theta_{MAP} = \\hat \\theta_{MLE} θ^MAP=θ^MLE

EM 算法

Expectation-maximization algorithm (EM) 中文名叫期望最大化算法,其核心思想是当求解MLE算法或MAP算法的过程中依赖于某些不可观测的隐变量 Z Z Z(不同于常规的可观测数据分布D,现在待计算的分布中有一些数据是不可观测的(例如缺失值),就需要使用EM算法)。则通过以下步骤进行参数估计:

  1. 初始化分布参数 ( θ \\theta θ)
  2. E步骤: 根据参数的假设值,给出未知变量(隐变量)的期望估计,应用于缺失值。
  3. M步骤: 根据未知变量(隐变量)的估计值,给出当前的参数的极大似然估计 θ ^ M L E \\hat \\theta_{MLE} θ^MLE

重复2,3过程,直到收敛。