PRML 和 ESL 的学习基本上是学十得一。稳扎稳打再来一次

绪论

1.1 例子:多项式曲线拟合

这是一个简单的回归问题,假设数据集由函数 sin(2pi x) 产生。目标变数带有随机的杂讯。现假定有一个训练集,这个训练集由x的N次观测组成,写作 x = (x_{1}, dots, x_{N})^T ,伴随著对应的t 的观测值,记做  t = (t_{1}, dots, t_{N})^T 。我们的目标是利用这个训练集预测对于输入变数的新值 hat{x} 的目标变数的值 hat{t}

最简单的情况是使用多项式函数来拟合数据:

y(x,w) = w_{0} + w_{1} x + w_{2} x^{2} + dots + w_{M}x^{M} = sum_{j=0}^{M}w_{j}x^{j}

其中M是多项式的阶数, x^{j} 表示x的j次幂。多项式系数 w_{0} 等记做向量w。这里我们通过最小化误差函数的方法实现系数值的确定。误差函数衡量了对于任意给定的w值,函数y(x,w)与训练数据集数据的差别。一个比较简单且用途广泛的误差函数为:

E(w) = frac{1}{2}sum_{n=1}^{N}{y(x_{n},w) - t_{n}}^{2}

选择多项式的阶数M也是一个问题。M过小则模型的拟合效果太差,而M过大又使得模型过于复杂导致过拟合的出现。而且,通过实验发现,随著M的增大,系数的大小通常会变大。从直觉上讲,我们看到有著更大的M值的更灵活的多项式被过分地调参,使得多项式被调节成了与目标值的随机杂讯相符。

实际上,寻找模型参数的最小平方方法代表了最大似然的一种特殊情形,并且过拟合问题可以被理解为最大似然的一个通用属性。通过使用一种贝叶斯方法,过拟合问题可以被避免。

另一方面,除贝叶斯方法外,经常用来控制过拟合现象的一种技术是正则化:即给误差函数增加一个惩罚项,使得系数不会达到很大的值。惩罚项最简单的情况就是采用所有系数的平方和形式。修改后的误差函数为:

hat{E}(w) = frac{1}{2}sum_{n=1}^{N}{y(x_{n},w) - t_{n}}^{2} + frac{lambda}{2} ||w||^{2}

其中

 ||w||^{2} = w^{T}w = w_{0}^2 + w_{1}^{2} + dots + w_{M}^{2}

对于模型复杂度,除使用贝叶斯方法外,也可以通过在测试集中分离出一部分作为验证集来最优化复杂度。

1.2 概率论

太基础的概率就不写了。。。

概率论有两个比较重要的规则:加和规则和乘积规则。其中加和规则为:

p(X = x_{j}) = sum_{j=1}^{L}p(X = x_{i}, Y = y_{j})

其中 p(X = x_{j}) 有时被成为边缘概率。乘积规则对应为:

p(X = x_{i}, Y = y_{j}) =  p(Y = y_{j} | X = x_{i})p(X = x_{i})

由此可以推出贝叶斯定理

P(Y | X) = frac{p(X | Y)p(Y)}{p(X)} = frac{p(X | Y)p(Y)}{sum_{Y}p(X|Y)p(Y)}

1.2.1 概率密度

如果一个实值变数x的概率落在区间  (x, x+delta x) 的概率由 p(x)delta x 给出,那么 p(x)叫做x的概率密度。对概率密度进行积分可以得到x位于区间内的概率:

p(x in (a,b)) = int_{a}^{b} p(x)dx

在变数以非线性的形式变换的情况下,概率密度函数通过 Jacobian因子变换为与简单函数不同的形式。这个性质的一个结果是,概率密度最大的值取决于变数的选择。

如果x是一个离散变数,那么p(x)有时被叫做概率质量函数。

1.2.2 期望和方差

在概率分布p(x)下,函数f(x)的平均值被称为f(x)的期望,记做E[f]。对于一个离散变数,它的定义为:

E[f] = sum_{x}p(x)f(x)

因此平均值根据不同值的相对概率加权。在连续变数的情况下,求和转换为积分。

有时我们会考虑多变数函数的期望。这种情况下,我们可以使用下标表明被平均的是那个变数,如 E_{x}[f(x, y)]

f(x)的方差被定义为:

 var[f] = E[(f(x) - E[f(x)]^{2})] = E[f(x)^2] - E[f(x)]^2

它度量了f(x)在均值附近变化性的大小。

对于连个随机变数x和y,协方差被定义为:

 cov[x, y] = E_{x,y}[{x - E[x]}{y-E[y]}] = E_{x,y}{xy} - E[x]E[y]

它表示在多大程度上 x 和 y会共同变化。如果x和y互相独立,那么它们的协方差为0.

1.2.3 贝叶斯概率

在贝叶斯观点中,频率提供了不确定性的一个定量化描述。通过贝叶斯定理能够让我们通过后验概率,在观测到数据后估计参数的不确定性。

 p(w | D) = frac{p(D | w)p(w)}{p(D)} = frac{p(D | w)p(w)}{int p(D | w)p(w)dw}

上式为贝叶斯定理,其中右侧 p(D | w) 被称为似然函数。它表达了在不同的参数向量w下,观测数据出现等可能性的大小。

因此可以用自然语言表述贝叶斯定理:

posterior propto likelihood 	imes prior

在频率学派的观点中,w被认为是一个固定的参数,它的值由某种形式的估计来确定,这个估计的误差通过考察可能的数据集D的概率分布得到。相反,在贝叶斯的观点来看,只有一个数据集D(即实际观测到的数据集),参数的不确定性通过w的概率分布来表达。(对于这个区别,我个人的理解是,频率学派通过最大化似然函数来对参数进行估计,而贝叶斯观点中还引入了参数的先验概率p(w))。

频率学家广泛使用的一个估计是最大似然估计,其中w的值是使得似然函数达到最大值的w的值,即选择使得观察到的数据集出现概率最大的w的值。

1.2.4 高斯分布

对于一元实值变数x,高斯分布被定义为:

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

其中 mu 为均值, sigma^{2} 为反差。方差的倒数叫精度。当假设我们的数据集是独立同分布(i.i.d.)时,高斯函数的似然函数为:

 p(x | mu, sigma^{2}) = prod_{n=1}^{N}N(x_{n} | mu, sigma^{2})

1.2.4.1 通过最大似然确定参数 musigma^{2}

对数似然函数为:

 ln p(x| mu, sigma^{2}) = -frac{1}{2sigma^{2}}sum_{n=1}^{N}(x_{n} - mu)^{2} - frac{N}{2}ln sigma^{2} - frac{N}{2}ln(2pi)

对对数似然函数求导并领导数为零可求出其最大似然解:

 u_{ML} = frac{1}{N}sum_{n=1}^{N}x_{n}

 sigma_{ML}^{2} = frac{1}{N}sum_{n=1}{N}(x_{n} - mu_{ML})^{2}

1.2.4.2 最大似然估计的偏移问题

对估计出来的均值和方差求期望,可得:

 E[mu_{ML}] = mu

 E[sigma_{ML}^{2}] = frac{N-1}{N}sigma^{2}

可以看到,最大似然估计的平均值将会得到正确的均值,但是会低估方差,需要乘以因子 frac{N}{N-1} 才可以修正。但对于更复杂的问题,修正将没这么容易,这中便宜问题是在多项式拟合问题中遇到的过拟合问题的核心。

1.2.5 重新考察曲线拟合问题

曲线拟合的目标是能够根据N个输入 x=(x_{1}, dots,x_{N})^{T} 组成的数据集和它们对应的目标值 t=(t_{1},dots,t_{N})^{T} ,在给定输入变数x的新值的情况下,对目标变数t进行预测。

首先假定给定x的值,对应的t服从高斯分布,分布的均值为y(x,w),即:

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

其中w是多项式的系数, eta 是精度。

1.2.5.1 通过最大似然确定参数

首先假设数据x是i.i.d.分布,那么可写出对应的似然函数:

p(t | x, w, eta) = prod_{n=1}^{N}N(t_{n} | y(x_{n},w), eta^{-1})

取对数得到对数似然函数:

 ln p(t | x, w, eta) = -frac{eta}{2}sum_{n=1}^{N}{y(x_{n},w) - t_{n}^{2}} + frac{N}{2}lneta - frac{N}{2}ln(2pi)

我们先求w的最大似然解,此时等式右侧只剩下第一项。因此,对于确定w的问题来说,最大化似然函数等价于最小化平方和误差函数,因此在高斯杂讯的假设下,平方和误差函数是最大化似然函数的一个自然结果

在确定w之后就可以用之前的方法确定精度了。

1.2.5.2 已知参数w_ML和 eta_{ML} ,对新的x进行预测

由于我们现在由一个概率模型,预测可以通过给出的t的概率分布的预测分布来表示。预测分布通过吧最大似然参数解带入分布给出:

p(t | x, w_{ML}, eta_{ML}) = N(t | y(x, w_{ML}), eta_{ML}^{-1})

引入多项式系数w的先验分布,为简单起见假设取高斯分布:

p(w | alpha) = N(w | 0, alpha^{-1}I) = (frac{alpha}{2pi})^{frac{M+1}{2}}exp{-frac{alpha}{2}w^{T}w }

其中 alpha 是该分布的精度,M+1 是对于M阶多项式的向量w的元素的总数。

已知参数有贝叶斯定理:

 p(w | x,t, alpha, eta) propto p(t | x, w, eta)p(w | alpha)

像这种给定数据集,通过最大化后验概率来确定w的技术被称为最大化后验概率,简称MAP

通过将贝叶斯定理作用到对数似然函数上可以看到,最大化后验概率等加入最小化下式:

 frac{eta}{2}sum_{n=1}^{N}{y(x_{n},w) - t_{n} }^{2} + frac{alpha}{2}w^{T}w

也就是说,最大化后验概率等价于最小化正则化的平方和误差函数

1.2.6 贝叶斯曲线拟合

在前面的参数估计中,我们虽然引入可先验分布 p(w|alpha) ,但本质上仍然是进行w的点估计。而在一个纯粹的贝叶斯方法中,我们应自始至终的应用概率的加和规则和乘积规则。这需要对所有w的值进行积分。对于模式识别来说,这种积分是贝叶斯方法的核心

在曲线拟合问题中,我们想估计预测分布 p(t | x,X,t) 。因此,若采用贝叶斯方法,那么该概率可以写成:

 p(t | x,X,t) = int p(t | x, w)p(w | X, t)dw

根据上市,我们可以通过观察其二次型等方式解析地求出均值和方差的解。

1.4 维度灾难

可以证明,在高维空间中,一个球体的大部分体积都聚集在表面附近的薄壳上。高维空间产生的这种困难有时成为维度灾难。

虽然维度灾难在模式识别应用中是一个重要的问题,但是它并不能阻止我们寻找应用于高维空间的有效技术。原因由两方面:

  • 第一,真实数据经常被限制在有著较低的有效维度的空间区域中,特别低,在目标值发生重要变化的方向上也有这种限制。
  • 第二,真实数据通常比较光滑(至少聚不上比较光滑),因此大多数情况下,对数输入变数的微小该表,目标值的改变也很小,因此对于新的输入变数,我们可以通过局部的类似于插值的技术来进行预测。

成功的模式识别技术利用上述两个性质中的一个或者都用。

1.5 决策论

根在一个实际的应用中,我们经常必须对t的值做具体的预测,或者更一般地,根据我们对于t的可能取值的理解,采取一个具体的动作。这一方面就是决策论的主题。在模式识别领域,通常当我们解决了推断问题后,那么决策阶段通常会变得非常简单,甚至不值一提。

根据贝叶斯定理,我们有:

 p(C_{k} | x) = frac{p(x | C_{k})p(C_{k})}{p(x)}

其中 C_{k} 代表类别,如C1代表有癌症,C2代表没有癌症。如果我们的目标是最小化吧x分到错误类别中的可能性,那么根据直觉,我们要选择有最大后验概率的类别。下面将给出证明并进行推广。

1.5.1 最小化错误分类率

最小化错误分类率意味著尽可能少地做出错误分类。我们需要一个规则来把每个x的值分到一个合适的类别。这种规则将会把输入控制项且分为不同的区域 R_{k} ,这种区域被称为决策区域。因此分类错误的概率可以写为:

p(mistake) = p(x in R_{1},C_{2}) + p(x in R_{2},C_{1})

我们应该最小化上式。应用概率的乘机规则,我们可以将R,C的联合概率转换为条件概率。因此如果我们把每个x分配到后验概率 p(C_{k} | x) 最大的类别中,那么我们的分类错误的概率就会最小。

1.5.2 最小化期望损失

损失函数也被称为代价函数,是对所有可能的决策或者动作可能产生的损失的一种整体的度量。我们的目标是最小化损失函数。

对于一个给定的输入向量x,我们对于真实类别的不确定性通过联合概率分布 p(x, C_{k}) 来表示。因此,我们转而去最小化平均损失。平均损失的定义就是用联合概率分布乘以损失函数并积分得到。

利用概率的乘积规则,将联合概率转化为条件概率来消除共同因子p(x)。那么,最小化期望损失的决策规则是对于没个新的x,把它分到能使得下式取得最小值的第j类:

 sum_{k}L_{kj}p(C_{k} | x)

一旦我们知道了类的后验概率,这件事就容易做了。

1.5.4 推断和决策

分类问题可以被划分为两个阶段:推断和决策。在推断阶段,我们使用训练数据学习 p(C_{k} | x) 的模型。在决策阶段,我们使用这些后验概率来进行最优的分类。

事实上,我们可以区分出三种不同的方法来解决决策问题:

1) 生成式模型:直接对联合概率分布 p(x, C_{k}) 建模,得到后验概率。而后使用决策论来确定每个新的输入的x的类别。显示地或隐式地对输入及输出进行建模的方法被称为生成式模型。该方法要求解的东西最多,因为它涉及到寻找x和C的联合分布。对于许多应用,x的维度很高,这就导致我们需要大量的训练数据才能在合理的机型赌侠确定条件概率密度。但生成式模型的有点是能够通过公式求出数据的边缘概率密度。这对于检测模型中具有低概率的新数据点很有用。

2) 判别式模型:首先确定后验类密度 p(C_{k}|x) 这一推断问题,接下来使用决策论对新的输入x进行分类。这种直接对后验概率进行建模的方法成为判别式模型

3) 找到一个函数-判别函数。这个函数直接把每个输入x的标签映射为类别。这种情况下,概率不起作用,也就接触不到后验概率。,这将会导致我们无法最小化风险、使用拒绝选项、组合模型等。

1.5.5 回归问题中的损失函数

在回归问题中,损失函数的一个常用的选择是平方损失,定义为  L(t, y(x)) = {y(x) - t}^{2} 。这种情况下,期望损失函数可以写成:

 E[L] = intint {y(x) - t}^{2}p(x, t) dxdt

使用变分法求解y(x),病结合概率相加规则和乘积规则,可得  y(x) = E_{t}[t | x] 。这是一个简单的回归问题在x条件下t的条件均值,被称为回归函数。另一方面,我们可以从另一个角度来看期望损失函数:

 E[L] = int {y(x) - E[t | x]}^{2}p(x)dx + int var[t | x]p(x)dx

可以看出y(x)只出现在第一项中,当y(x)等于条件期望均值时第一项取得最小值,这时第一项被消去,表明最优的最小平方预测由条件均值给出。第二项是t的分布的方差,在x上进行了平均。它表示目标数据内在的变化性,可以被看成杂讯。由于它与y(x)的分布无关,因此它表示损失函数的不可减小的最小值

1.6 资讯理论

书上的这段信息量的推到很有意思

我们想找到信息量表达的公式,那么什么是信息量呢,它可以被看成在学习x的值的时候的惊讶程度。因此该函数h(x)应该是概率p(x)的单调递增函数。同时对于两个不相关的事件x和y,那么这两个事件的信息量应该表现为加和的形式。因此很容易看出h(x)和p(x)一定是对数关系,同时还要保证信息一定是非负的,因此信息量的公式为:

 h(x) = -log_{2} p(x)

熵可以看做一个发送者想传输一个随机变数的值给接受者要传递的平均信息量:

 H[x] = -sum_{x}p(x)log_{2}p(x)

熵是传输一个随机变数状态值所需的比特位的下界。一般来说,若随机变数的概率分布p(x)分布相对平衡地跨过许多值,那么熵就越大。在连续情况下,最大化微分熵的分布是高斯分布

1.6.1 相对熵和互信息

假设我们已经使用一个近似的分布q(x)对p(x)进行建模,因此在具体化x的值的时候,我们需要一些附加的信息。我们需要的平均附加信息量被称作相对熵或K-L散度:

 KL(p || q) = -int p(x)ln q(x)dx - (-int p(x)lnp(x)dx) = -int p(x)ln{frac{q(x)}{p(x)}}dx

从公式可以看出它相当于近似分布q(x)的信息期望减去真是分布p(x)的期望的差。因此K-L散度可以看做两个分布p(x)和q(x)之间的不相似程度的度量。

假设数据通过未知分布p(x)生成,我们想要对p(x)进行建模。我们可以尝试使用一些参数分布 q(x | 	heta) 来近似这个分布。一种确定 	heta 的方式是最小化p(x)和 q(x | 	heta) 之间于 	heta 的K-L散度。我们不能直接这么做,因为我们不知道p(x),但假如已经观察到了服从分布p(x)的有限数量的训练点 x_{n} ,那么关于p(x)的期望就可以通过这些点的有限加和平均来估计。因此:

 KL(p || q)  simeq frac{1}{N}{-ln q(x_{n} | 	heta) + ln p(x_{n}) }

可以看到,上式第一项是使用训练集估计的分布 q(x|	heta) 下的 	heta 的负对数似然函数。因此我们可以看到,最小化K-L散度等价于最大化似然函数

互信息用来判断两个分布p(x)和p(y)是否接近独立:

 I[x, y] = KL( p(x, y) || p(x)p(y) ) = -intint p(x,y)ln (frac{p(x)p(y)}{p(x,y)})dxdy

使用概率的加和规则和乘积规则,我们可以看到互信息和条件熵之间的关系:

 I[x,y] = H[x] - H[x | y] = H[y] - H[y | x]

因此我们可以把互信息看成由于知道y值而造成的x的不确定性的减小。


推荐阅读:
查看原文 >>
相关文章