PRML 4: Generative Models

 

  从概率论的角度出发,一个分类问题通常分为两个阶段:(I) inference stage 是指建立某种含参概率模型,通过一定方式得到后验概率分布 $p(C_k\text{ | }\vec{x})$;(II) decision stage 是根据后验概率分布,对标签未知的特征向量做出预测。在具体实现过程中又可分为两个学派:(I) 统计学派往往利用 MLE 或 MAP 等手段对模型参数进行点估计,在 inference stage 得到确定的概率分布,然后在 decision stage 中找到使得 expected loss 达到最小的预测值;(II) 贝叶斯学派则对参数分布进行学习和近似,然后对所有可能的参数进行 marginalization 以得到预测值,如

    $p(C_k|\vec{x}_{N+1},X,\vec{t})=\int p(C_k|\vec{x}_{N+1},\vec{w})\cdot p(\vec{w}|X,\vec{t})\cdot d\vec{w}$,  其中求 $p(\vec{w}|X,\vec{t})$ 取共轭先验往往有在线算法 。 

  无论对于哪一种学派,inference stage 都可以分为两种建模方式:(I) generative model 是建立 class-conditional distribution $p(\vec{x}\text{ | }C_k)$ 的含参模型,先得到联合概率分布 $p(C_k,\vec{x})$ 再计算后验概率分布 $p(C_k\text{ | }\vec{x})$;(II) discriminative model 则直接对后验概率分布进行建模和学习,最经典的例子就是逻辑回归。

  从前提到的 discriminant function 是一类投机取巧的判定方法,并不基于概率论,而是直接对分类决策进行建模,再构造适当的目标函数进行优化。相比于这种方法,基于概率论的方法优势在于:(I) 可以随时修改 expected loss;(II) 能够通过构造适当先验分布的训练集解决正负样本不平衡的问题;(III) 可以融合特征独立、标签相同的模型,如 $p(C_k\text{ | }\vec{x},\vec{y})=\frac{p(C_k\text{ | }\vec{x})p(C_k\text{ | }\vec{y})}{p(C_k)}$

 

  A typical generative model is Naive Bayes Classifier with Laplace Smoothing: given the class label, we assume the feature components are conditionally independent distributed, i.e. $p(\vec{x}^{(i)}=a_{is},\vec{x}^{(j)}=a_{jr}\text{ | }C_k)=p(\vec{x}^{(i)}=a_{is}\text{ | }C_k)\cdot p(\vec{x}^{(j)}=a_{jr}\text{ | }C_k)$.

  (1) Prior: $p(C_k)=\frac{\sum_{n=1}^N I(y_n=C_k)+1}{N+k}$ for $0\leq k<K$;

  (2) Likelihood: $p(\vec{x}^{(j)}=a_{jl}\text{ | }C_k)=\frac{\sum_{n=1}^N I(\vec{x}_n^{(j)}=a_{jl},C_k)+1}{\sum_{n=1}^N [I(y_n=C_k)+1]}$;

  (3) Prediction: $y=\mathop{argmax}_{C_k}p(C_k)\cdot \prod_{j=1}^{m}p(\vec{x}^{(j)}=\vec{x}_{N+1}^{(j)}\text{ | }C_k)$.

 

  Gaussian Dicriminant Analysis (GDA) is another example that makes an MAP estimate to do a prediction: given the class label, we assume the feature vector is Gaussian distributed. Here we take $K=2$ for example.

  (1) Prior: $p(C_k)=\frac{1}{N}\cdot\sum_{n=1}^N I(y_n=C_k)$ for $k=0,1$;

  (2) Likelihood: $p(\vec{x}\text{ | }C_k)=Gauss(\vec{x}\text{ | }\vec{\mu}_k,\Sigma)$,  where by MLE we have

    $\vec\mu_k=\frac{\sum_{n=1}^N I(y_n=C_k)\cdot\vec x_n}{\sum_{n=1}^N I(y_n=C_k)}$,  and  $\Sigma=\frac{1}{N}\sum_{n=1}^N(\vec x_n-\vec\mu_{y_n})\cdot(\vec x_n-\vec\mu_{y_n})^T$;

  (3) Prediction: $y=\mathop{argmax}_{C_k} p(C_k)\cdot p(\vec{x}_{N+1}\text{ | }C_k)$.

 

  GDA 与 logistic regression 的区别在于:与 GDA 相比,logistic regression 的模型假设更弱一些,不要求数据服从同方差正态分布,适用范围更广;但 GDA 的优势在于当数据服从其假设条件的时候,它比 logistic regression 更加精准,且只要较少的样本就可以达到相同的收敛效果。NB 与 softmax regression 的关系与之相近:softmax regression 不要求各特征分量服从 independent conditional distribution,它事实上可以替代所有满足 $p(\vec{x}\text{ | }C_k)\propto e^{\vec{w}_k^T\vec{x}}$ 分布假设的生成模型。一般而言,general model 往往具有 high bias, low variance(容易造成 underfitting),适用于小训练集;discriminative model 往往具有 low bias, high variance(容易造成 overfitting),适用于大训练集。

 

 

References:

  1. Bishop, Christopher M. Pattern Recognition and Machine Learning [M]. Singapore: Springer, 2006

  2. Andrew Ng's  lecture notes

 

posted on 2015-06-16 08:35  DevinZ  阅读(293)  评论(0编辑  收藏  举报

导航