机器学习笔记之配分函数——对比散度
引言
上一节介绍了随机最大似然(Stochastic Maximum Likelihood)求解最优模型参数的过程。本节将介绍对比散度(Constractive Divergence,CD)。
回顾:随机最大似然求解模型参数的过程
针对极大似然估计,使用梯度上升算法使模型参数 θ \theta θ逼近最优参数 θ ^ \hat {\theta} θ^:
θ ^ = arg max θ log ∏ i = 1 N P ( x ( i ) ; θ ) θ ( t + 1 ) ⇐ θ ( t ) + η ∇ θ L ( θ ) \begin{aligned} \hat \theta = \mathop{\arg\max}\limits_{\theta} \log \prod_{i=1}^N \mathcal P(x^{(i)};\theta) \\ \theta^{(t+1)} \Leftarrow \theta^{(t)} + \eta\nabla_{\theta} \mathcal L(\theta) \end{aligned} θ^=θargmaxlogi=1∏NP(x(i);θ)θ(t+1)⇐θ(t)+η∇θL(θ)
关于目标函数梯度 ∇ θ L ( θ ) \nabla_{\theta}\mathcal L(\theta) ∇θL(θ)表示如下:
∇ θ L ( θ ) = E P d a t a [ ∇ θ log P ^ ( x ( i ) ; θ ) ] − E P m o d e l [ ∇ θ log P ^ ( X ; θ ) ] \nabla_{\theta}\mathcal L(\theta) = \mathbb E_{\mathcal P_{data}}\left[\nabla_{\theta} \log \hat {\mathcal P}(x^{(i)};\theta)\right] - \mathbb E_{\mathcal P_{model}} \left[\nabla_{\theta} \log \hat {\mathcal P}(\mathcal X;\theta)\right] ∇θL(θ)=EPdata[∇θlogP^(x(i);θ)]−EPmodel[∇θlogP^(X;θ)]
其中:
-
P d a t a \mathcal P_{data} Pdata表示真实分布,该分布是客观存在的,可以将样本集合 X \mathcal X X看作是从 P d a t a \mathcal P_{data} Pdata中采出的 N N N个样本;
-
P m o d e l \mathcal P_{model} Pmodel表示模型分布,它实际上是基于样本特征或者概率图结构假设出来的分布;
-
E P d a t a [ ∇ θ log P ^ ( x ( i ) ; θ ) ] \mathbb E_{\mathcal P_{data}} \left[\nabla_{\theta} \log \hat {\mathcal P}(x^{(i)};\theta)\right] EPdata[∇θlogP^(x(i);θ)]表示正相(Positive Phase),它本质上是基于 P d a t a \mathcal P_{data} Pdata的期望结果。由于样本集合 X \mathcal X X的特征均是可观测的,因而正相的期望求解更加简单。如:批梯度下降法(Batch Gradient Descent);mini-Batch 梯度下降法等。
-
E P m o d e l [ ∇ θ log P ^ ( X ; θ ) ] \mathbb E_{\mathcal P_{model}} \left[\nabla_{\theta} \log \hat {\mathcal P}(\mathcal X;\theta)\right] EPmodel[∇θlogP^(X;θ)]表示负相(Negative Phase)。负相难求解的原因在于:它不像 P d a t a \mathcal P_{data} Pdata是恒定不变的,并拥有 X \mathcal X X提供采样;我们假定的 P m o d e l \mathcal P_{model} Pmodel要逼近 P d a t a \mathcal P_{data} Pdata,但随着 P m o d e l \mathcal P_{model} Pmodel