PRML Notes - 1.2 Probability Theory

模式识别过程中使用的数据集的特点确定了整个学习过程中具有不确定性。一方面,数据集中的样本容量是有限的,无法完整刻画数据中的规律;另一方面,现实世界中的数据集几乎总是有噪声的。

基本概念

加法规则,乘法规则,边缘分布,联合分布,条件概率,贝叶期定理(先验概率,后验概率),条件独立。

对于一个连续型变量,当\delta x趋近于0时,$$p(x)\delta x$$的取值称为该变量在此处的概率密度(probability density),$$p(x)$$称为该变量的概率密度函数。概率密度满足非负性和归一化性质。对于一个离散型变量,$$p(x)$$称为该变量的概率质量函数(probability mass function)。

当两个连续型变量存在非线性关系$$y=g(x)$$,那么需要保证$$p_x(x) \delta x = p_y(y) \delta y$$,从而得到两个概率密度函数的关系

$$p_x(x) \frac{dx}{dy} = p_y(y)$$

基本统计量

期望,条件期望,方差,方差与期望的等式关系,协方差

概率的定义

  1. 频率角度:N(N趋近于无穷)次实验中,某件事情发生的次数M与N的比值。
  2. 贝叶斯角度:不确定性的度量(或者置信程度的度量)

例如,多项式拟合的示例中,带有噪声的响应变量,其取值可以使用频率角度来解释,而对于学习得到的模型参数的不确定性,则需要使用贝叶斯角度来解释。

贝叶斯概率

假设D为数据集,w为模型参数。通过贝叶斯定理,

$$P(w|D)=\frac{P(w)P(D|w)}{P(D)}$$

可以发现对比先验分布$$P(w)$$和后验分布$$P(w|D)$$,我们对模型参数取值的置信度发生了变化,而触发这种变化的正是我们所观察到的数据,更准确地说是基于先验分布而得到的数据的似然性$$P(D|w)$$。在给定参数值的情况下,似然性越大,说明这个取值与观察数据更加符合,我们也会在后验中更加确信(注意到似然性与后验是正比的关系),否则确信度就会降低。

后验概率 正比于 先验概率*数据似然性

似然性函数(likelihood function)在频率观点和贝叶斯观点中都极其重要,但是在两种不同框架下的用法是截然不同的。

  • 在频率观点下,参数值被认为是一个定点,是根据观测数据结合某个方法得到的。参数估计值的偏差或不确定性是通过取所有可能的数据集计算得到的一系列参数值的方差来评估的。
  • 在贝叶斯观点下,参数的取值被认为是不确定的,而数据集是唯一的,因此输出的是一个关于这个参数的分布,并以此来表示参数取值的不确定性。

频率框架下的一种常用的估计方法为极大似然估计法(ML estimator)。目标的误差函数被定义为“似然性的负对数”,并此为目标来估计出能使此误差函数最小的参数值。正如前面所说,此方法针对一个数据集,只有能得一个定点的参数估计值,要评估其波动性,需要使用多个数据集分别进行参数估计,再统计这些估计值的方差等指标。一种可行的方法是使用重采样技术,如bootstrap,来从原始数据集中衍生出多个数据集,再对参数的波动性。

在贝叶斯框架下,算法的输出自然地是一个关于参数的概率分布,从而表达了这个参数的不确定性。贝叶斯框架的一个重要优势在于其可以融入一些先验知识,从而使结果不容易出现过拟合。然而,先验也同时是贝叶斯框架遭人诟病之处,因为它具有主观色彩。有些时候人们对先验的选择仅仅是根据其是否便于数学推导而进行,但是先验选择是否合适对最终的效果影响很大。非信息性先验(Noninformative Prior)可以缓解对先验主观性的依赖,但是却无法保证其是否合适,是否能达到良好的效果。同时,在做模型选择时,不同的先验也使比较无法平等进行,这时就不得不使用频率框架下的交叉验证等模型选择方法。

 

正态分布

正态分布也称为高斯分布,是一种常见的连续型概率分布。其单元变量的概率密度函数形式为

$$N(x|\mu, \sigma^2)=\frac{1}{(2\pi\sigma^2)^{\frac{1}{2}}}exp(-\frac{1}{2\sigma^2}(x-\mu)^2)$$

其中$$\mu$$为期望,$$\sigma^2$$为方差。方差的倒数称为精度,记作$$\beta=\frac{1}{\sigma^2}$$。一个概率分布的最大值称为它的mode,正态分布的mode位于其期望处。

对于N个独立同分布(iid)的样本,其在正态分布下的对数似然性为

$$ln(p(x|\mu, \sigma^2))=\sum_{n=1...N} ln(N(x_n|\mu, \sigma^2))$$

使以上对数似然函数最大的$$\mu$$$$\sigma^2$$,称为正态分布期望和方差的极大似然估计值。特别地,二者的求解是相互解耦的,即求解$\mu_{ML}$的过程是可以独立于$\sigma^2_{ML}$的求解过程的。

$$\mu_{ML}=\frac{1}{N}\sum_{n=1...N}x_n$$

$$\sigma^2_{ML}=\frac{1}{N}\sum_{n=1...N}(x_n-\mu_{ML})^2$$

一般地,极大似然估计方法是容易过拟合的。特别地,以上对方差的估计值是有偏的(bias):

$E[\sigma^2_{ML}]=(\frac{N-1}{N})\sigma^2$

因此,可以相应地对方差的极大似然估计值乘以N/(N-1)的系数,来使其变成无偏估计。同时我们也注意到,若使样本容量N趋近于无穷,那么极大似然估计出的方差值也是会趋近于真实的方差值的。然而样本容量终究是有限的,特别地,当模型复杂度很高时,过拟合所引起的bias问题就会显得犹为严重。

正态分布可应用于多项式拟合问题,一般情况下,可以假设在某个$x$处的响应值$t$是符合以下分布的

$p(t|x, w, \beta)=N(t|y(x,w), \beta^{-1})$

或者说,$x$处的响应值会受到分布为$N(0, \beta^{-1})$的噪声的影响。

在给定了训练数据集${x_i,t_i}, i=1...N$之后,我们可以使用前面的极大似然估计法来计算出分布的$w, \beta$值,从而得到每个$x$处其响应值的概率分布。

$$ln(p(t|x,w,\beta))=-\frac{\beta}{2}\sum_{n=1...N}\{y(x_n, w)-t_n\}^2+\frac{N}{2}-\frac{N}{2}ln(2\pi)$$

对以上对数似然性函数求w的导数,可以发现,其等价于最小化Sum-of-squares误差函数所得到的结果。由此可知,正态噪声分布的假设下,最大化似然函数值等价于最小化Sum-of-squares误差函数值。

同样地,可以在计算求得$w_{ML}$后独立地计算$\beta_{ML}$(同样是求导的方法)。在二者都确定之后,就得到了一个预测分布(predicitive distribution)

更进一步地,我们不止最大化似然函数,可以为参数$w$引入一个先验分布,来反映在未观察到任何数据之前,对这个参数取值的偏好。简单起见,可以假设这个也是如下形式的正态分布,

$p(w|\alpha)=N(w|0, \alpha^{-1}I)$

其中的$\alpha$控制了模型参数$w$的取值,因此被称为超参数(hyperparameter)。根据后验分布正比于似然性函数乘以先验分布的关系,可得后验分布的形式为$p(w|x, t, \alpha, \beta)$。接下来可以通过最大化这个后验分布函数来取得最可能$w$值(maximum posterior, MAP)。而在此求解过程中也会发现,最大化后验分布函数等价于规则化参数$\lambda=\alpha/\beta$的岭回归

以上的两种方式终究仍然是对参数的点估计。采用更贝叶斯一点的方法,我们需要得到的是参数的概率分布,并通过积分来结合参数所有的可能值来做出决策。

假设参数$\alpha, \beta$是已知的,那么预测分布可以表示为

$$p(t|x, \textbf x, \textbf t)=\int {p(t|x, w)p(w|\textbf w, \textbf t)}dw$$

其中被积函数的第二项即为w的后验分布,这个等式表示为了得到x的预测响应值,应该根据每个w的后验概率来计算每个对应的响应估计值的加权平均。后面的章节会提到,实际上这个后验分布也是正态分布,因此整个预测分布也是正态分布,而其方差为

$\beta^{-1} + {\phi(x)}^{T}S{\phi(x)}$

其中第一项反映了由于噪声而引起的响应值t的波动,而后一项则反映了参数w的波动(后验概率分布,非点估计)。

Posted by Chilly_Rain 2012年1月20日 18:50


PRML Notes - 1.1 Introduction

模式识别的目标

自动从数据中发现潜在规律,以利用这些规律做后续操作,如数据分类等。

模型选择和参数调节

类似的一族规律通常可以以一种模型的形式为表达,选择合适模型的过程称为模型选择(Model Selection)。模型选择的目的只是选择模型的形式,而模型的参数是未定的。

从数据中获得具体规律的过程称为训练或学习,训练的过程就是根据数据来对选定的模型进行参数调节(Parameter Estimation)的过程,此过程中使用的数据为训练数据集(Training Set)。

对于相同数据源的数据来讲,规律应该是一般的(泛化Generalization),因此评估一个学习结果的有效性可以通过使用测试数据集(Testing Set)来进行的。

预处理

对于大多数现实中的数据集来讲,使用其进行学习之前,通常需要进行预处理,以提高学习精度及降低学习的开销。

以图像识别为例,若以像素做为一个特征,往往一幅图像的特征就能达到几万的数量级,而很多特征(如背景色)都是对于图像辨识起不到太大作用的,因此对于图像数据集,预处理过程通常包括维数约减(特征变换,特征选择),仅保留具有区分度的特征。

文本数据分类任务中,对训练文本也有类似的处理方式,只不过此时扮演特征的是单词,而不是像素值。

监督学习和非监督学习

输入向量(input vector):x_1, ... , x_n,响应向量(target vector):t_1, ... , t_n

监督学习采用的数据集是包括输入向量和目标向量的,其目标就是发现二者之间的关系,学习的结果表示为函数y(x),使用函数的输出来近似响应值。如果{t_i}为离散值,则此类学习任务称为分类(classification),若为连续值则称为回归(regresssion)。

非监督学习使用的数据集只包括输入向量,目的是直接探索数据的内在结构。发现数据中相似的簇的任务称为聚类(clustering),计算数据分布情况的任务称为密度估计(density estimation),将数据映射到三维及以下的任务称为可视化(visulization)。

还有一种学习形式,称为加强学习(reinforcement learning),指在一定的环境下,发现最合适的决策来最大化收益。通常这类学习任务需要在使用(exploit)和探索(explore)之间做出权衡。

Example:多项式回归

给定了数据集(输入向量和响应向量),首先进行模型选择,选定多项式的阶数。高阶的多项式模型是包含低阶多项式模型的(可将高阶项的系数设为零,从而退化成低阶模型),因此高阶模型拥有比低阶模型更强的拟合数据的能力。使用相对于数据来讲过强的模型,会使模型不但捕获数据中的规律,而会拟合进噪声,造成泛化能力不佳,这种情况称为过拟合(overfitting)。相反地,如果使用了相对于数据来讲太弱的模型,就无法捕获数据中的规律,这种情况称为欠拟合(underfitting)。选择合适的模型阶数是学习成功的前提条件,模型选择的方法包括基于经验的bootstrap,cross-validation以及基于信息论的AIC,BIC,MDL等。

在选好模型阶数,确定模型之后,下一步的工作就是参数调节(或称参数估计)。成熟的模型一般都有其相应的参数估计方法,如GMM-EM,RBF-BP,AR-YW等。对于多项式模型可采取较为一般的方法,即定义一个误差函数,通过求导数来计算得到误差最小值时的参数值。

Sum-of-square误差函数:$$E=\frac{1}{2} \sum_{i=1...n}{(y(x_i)-t_i)^2}$$

Root-mean-squre误差函数:$$E_{RMS}=\sqrt{2E/N}$$(单样本误差)

当过拟合发生时,训练得到多项式曲线表现得波动极大,相应地模型参数的模也很大。当数据量足够大时,模型发现过拟合的概率降低,因为模型总是在参数估计中尽可能地去迎合数据,从这个角度讲,数据越多,对模型的约束就越大。

如果希望使用一个相对复杂的模型,而不产生过似合现象,一种可行的方法是在误差函数中加入规则化项(regularization term),以约束模型系数的模。使用2-范数来做规则化项,得到修改后的Sum-of-square误差函数表示为

$$E=\frac{1}{2} \sum_{i=1...n}{(y(x_i)-t_i)^2} + \frac{\lambda}{2} {||w||}^2$$

使用此误差函数进行学习的过程也称为岭回归(ridge-regression)或者权重退化(weight decay)。本质上,规则化项的引入是把一个参数转化为了另一个参数,即将模型阶数M转化成了系数$$\lambda$$,并没有使学习过程变成更有效,

 

Posted by Chilly_Rain 2012年1月20日 18:52