PRML笔记 第一章绪论

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u012313437/article/details/82851275

1概率论:

P(Y=yj)=rj,P(X=xi)=ci.

X取值xi且Y 取值yj的概率被记作p(X = xi; Y = yj),被称为X = xi和Y = yj的联合概率(joint probability)。它的计算方法为落在单元格i; j的点的数量与点的总数的比值。

这 是 概 率 的 加 和 规 则 (sum rule)。 注 意, p(X = xi)有 时 被 称 为 边 缘 概 率 (marginal probability),因为它通过把其他变量(本例中的Y )边缘化或者加和得到。

X与Y的联合分布可转换为在X=xi时Y=yj的概率与X=xi的概率的乘积。这被称为概率的乘积规则(product rule)

由乘积规则、加和规则与p(X; Y ) = p(Y; X)我们可以的得到上式,上式被称为贝叶斯定理。

贝叶斯定理的分母可以由上式加和规则来表示。

1.1概率密度

如 果1个实值变量x的概率落在区间(x; x + δx)的概率由p(x)δx给出(δx-> 0),那么p(x)叫做x的概率密度(probability
density),如图所示:

x位于区间(a; b)的概率由下式给出:

概率密度函数通过Jacobian因子变换为与简单的函数不同的形式。例如,假设我们考虑⼀个变量的变化x = g(y),那么函数f(x)就变成了fy(y) = f(g(y))。现在让我们考虑一个概率密度函数px(x),它对应于一个关于新变量y的密度函数py(y),其中下标的不同表明了px(x)和py(y)是不同的密度函数这一事实。对于很小的δx的值,落在区间(x; x + δx)内的观测会被变换到区间(y; y + δy)中。其中px(x)δx ≃ py(y)δy,因此

这个性质的一个结果就是,概率密度最大值的概念取决于变量的选择。

1.2期望与协方差

对于离散变量的期望,函数f(x)的平均值被称为f(x)的期望

对于连续变量的方差

我们也可以考虑关于一个条件分布的条件期望(conditional expectation)

协方差:

协方差矩阵例子:

         x                  y

x      cov(x)      cov(x,y)

y     cov(y,x)    cov(y)

1.3贝叶斯概率

。在观察到数据之前,我们有一些关于参数w的假设,这以先验概率p(w)的形式给出。观测数据D = ft1; : : : ; tNg的效果可以通过条件概率p(D|w)表达,我们将在1.2.5节看到这个如何被显式地表达出来。贝叶斯定理的形式为

其中p(D | w)可以由观察数据集D来确定。可以被看成参数向量w的函数,被称为似然函数(likelihood function)。表达了数据集D在参数w的条件下出现的概率。其中p(D)的可以由上式两边对w积分得到。

最大似然估计:

 总结起来,最大似然估计的目的就是:利用已知的样本结果,反推最有可能(最大概率)导致这样结果的参数值。

极大似然估计是建立在极大似然原理的基础上的一个统计方法,是概率论在统计学中的应用。极大似然估计提供了一种给定观察数据来评估模型参数的方法,即:“模型已定,参数未知”。通过若干次试验,观察其结果,利用试验结果得到某个参数值能够使样本出现的概率为最大,则称为极大似然估计。

由于样本集中的样本都是独立同分布,可以只考虑一类样本集D,来估计参数向量θ。记已知的样本集为:D{x1,x2....xn}

似然函数(linkehood function):联合概率密度函数称为相对于的θ的似然函数。

最大似然估计求解:

ML估计:求使得出现该组样本的概率最大的θ值。

 

         实际中为了便于分析,定义了对数似然函数:

        1. 未知参数只有一个(θ为标量)

        在似然函数满足连续、可微的正则条件下,极大似然估计量是下面微分方程的解:

        2.未知参数有多个(θ为向量)

        则θ可表示为具有S个分量的未知向量:

 

         记梯度算子:

 

         若似然函数满足连续可导的条件,则最大似然估计量就是如下方程的解。

         方程的解只是一个估计值,只有在样本数趋于无限多的时候,它才会接近于真实值。

--------------------- 本文来自 知行流浪 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/zengxiantao1994/article/details/72787849?utm_source=copy

1.4高斯分布

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

µ被叫做均值(mean)σ^2是方差

D维向量x的高斯分布:

其中μ是一个D维向量,表示各维的均值Σ是D*D的协方差矩阵。

最大似然估计:

高斯分布需要估计的参数有μ和σ^2,似然函数为:

由于ln函数为递增的且似然函数大于0,我们可以通过计算最大化lnp(x|μ,σ^2),来最大化似然函数。

其中最大似然估计μ

最大似然估计σ为

1.5重新理解多项式拟合

我们设在给定x值得条件下,t的分布服从高斯分布:

均值为y(x,w),β为方差的倒数。经过ln替换后的似然函数为:

首先确定多项式系数w最大似然解wml,我们可以发现求最大似然解wml等价于最小化(y(x,w)-t)^2,即最小化:

因此,在高斯噪声的假设下,平方和误差函数是最大化似然函数的一个似然结果。

我们也可以使用最大似然法来确定高斯条件分布的精度参数β。
 

在确定了w与beta之后我们可以对新的t的值进行预测了。通过将最大似然参数代入下式进行预测。

假设我们对系数 ww 有一个先验的知识(MM 是多项式阶数,加上常数项一共 M+1M+1 维):

αα 控制这个模型的先验分布,这一类的参数通常被叫做超参(hyperparameters),Bayes 公式告诉我们,后验概率正比与先验概率和似然函数的乘积:

我们可以通过最大化后验概率(maximum posterior, MAP)来决定参数 ww 的值,对上式求对数,并去掉跟 ww 无关的项,我们相当于要最大化:

即最小化

因此,MAP 的结果相当于给多项式拟合加二范数正则化的结果,其中正则参数 λ=α/βλ=α/β。

1.6贝叶斯曲线拟合

虽然在 MAP 中,我们引入了先验分布,但是本质上它还是一个点估计,本质上并不是一个完全的 Bayes 估计。

一个完全的 Bayes 估计要求我们对 ww 的所有值进行积分。

对于之前的曲线拟合问题,给定训练集 xx 和 tt,对于一个新的测试样例 xx,其目标值为 tt,我们考虑预测的分布 p(t | x,x,t)p(t | x,x,t)(这里我们假定 β,αβ,α 两个参数已经给定了)

Bayes 公式给出:

其中 p(t | x,w) 是之前给定的高斯分布,p(w | x,t)是训练集上的后验概率(也是一个高斯分布)。

由于高斯分布的性质,上面的式子本质上也是一个高斯分布,因此可以写成

其中均值和方差分别为

其中,ϕi(x)=xi,i=0,…,M,矩阵 S:

2.模型选择

在之前多项式拟合的例子中,我们知道多项式的阶数 MM 的选择影响着我们拟合的效果,也决定了模型中参数的个数(模型复杂度)。我们还知道正则项参数 λλ 也可以控制模型的复杂度。这些参数的选择是我们所关心的问题。

验证集

在最大似然的例子中我们看到,在训练集上的结果好不代表在测试的时候结果一定好,因为存在过拟合的现象。

如果我们的数据足够多,我们可以从训练数据中分出一小部分数据作为验证集(validation set),在训练过程中对验证集进行测试,选择在验证集上效果最好的模型作为我们的结果。最后再用测试集(test set)对模型进行最终的评估。

交叉验证

在很多情况下,训练和测试数据都是有限的,为了得到更好的模型,我们希望使用尽可能多的训练数据。但是如果验证集的数据很少,那么在测试集上的测评结果就有很大的不确定性。

一个解决这种问题的方法叫做交叉验证(cross-validation),我们将数据分成 SS 等份,每次使用 S−1S−1 份数据进行训练,剩下的一份作为验证集,重复 SS 次。下图是一个 S=4S=4 的交叉验证的展示,粉红色的部分表示验证集。

当训练数据特别少时,一个合适的方法是使用留一法(leave-one-out),令 S=NS=N 即与训练数据的总数相等。

3.维灾难

 

4.决策论

假设我们有一个输入向量x和对应的目标值向量t,我们的目标是对于一个新的x值,预测t。对于回归问题, t由连续变量组成,对于分类问题, t表示类别标签。联合概率分布p(x; t)完整地总结了与这些变量相关的不确定性。从训练数据集中确定p(x; t)是推断
(inference)问题的一个例子,这一方面就是决策论的主题。

4.1最小化错误分类率

假定我们的目标很简单,即尽可能少地作出错误分类。我们需要一个规则来把每个x的值分到一个合适的类别。为了找到最优的决策规则,首先考虑两类的情形。如果我们把属于C1类的输入向量分到了C2类(或者相反),那么我们就犯了一个错误。这种事情发生的概率为

R1为预测为C1类的区域,R2为预测为C2类的区域

为了最小化p(mistake),我 们 对 于x的 分 类 结 果 应 该 让 公 式中 的 被 积 函 数p(x,Ci) 尽 量小。因此,如果对于给定的x值,如果p(x; C1) > p(x; C2),那么我们就把x分到类别C1中。根据概率的乘积规则,我们有p(x; Ck) = p(Ck j x)p(x)。由于因⼦p(x)对于两项都相同,因此我们可以这样表述:如果我们把每个x分配到后验概率p(Ck|x)最大的类别中,那么我们分类错误的概率就会最小。对于一元输入变量x的二分类问题。

对于更一般的K类的情形,最大化正确率会稍微简单一些,即最大化下式

区域Rk的选择使得每个x都被分到使p(x; Ck)最⼤的类别中,我们使用乘积规则p(x;,Ck) = p(Ck | x)p(x),由于p(x)的值是固定的,所以我们等价于每个x都应被分到后验概率p(Ck|x)最大的类别中。

4.2最小化期望损失

对于许多情况,我们的目标要比单纯地最小化错误分类的数量更加复杂。让我们再次考虑医疗诊断的问题。我们注意到,如果已给没有患癌症的病人被错误地诊断为患病,结果可能给病人带来些压力,并且病人可能需要进一步确诊。相反,如果患癌症的病人被诊断为健康,结果可能会因为缺少治疗使病人过早死亡。因此这两种错误的结果是相当不同的。很明显,对于第二种错误,我们最好少犯,甚至由于少犯第二种错误会导致第一种错误增加也没关系。

我们可以通过损失函数(loss function)来形式化地描述这个问题。损失函数也被称为代价函数(cost function),是对于所有可能的决策或者动作可能产生的损失的一种整体的度量。我们的目标是最小化整体的损失。

假设对于新的x的值,真实的类别为Ck,我们把x分类为Cj(其中j可能与k相等,也可能不相等)。这样做的结果是,我们
会造成某种程度的损失,记作Lkj,它可以看成损失矩阵(loss matrix)的第k; j个元素。例如,在癌症的例子中,我们可能有下图所示的损失矩阵。这个特别的损失矩阵表明,如果我们做出了正确的决策,那么不会造成损失。如果健康者被诊断为患有癌症,那么损失为1。但是如果一个患有癌症的病人被诊断为健康,那么损失为1000。

最小化期望损失的最优解是使损失函数最小的解。其中对于一个给定的输入向量x,我们对于真实类别的不确定性通过联合概率分布p(x,Ck)表示。平均损失根据这个联合概率分布计算,定义为

每个x可以被独立地分到决策区域Rj中。我们的目标是选择区域Rj,来最小化期望损失

也就是说对于每个x,我们要最小化

4.3拒绝选项

我们已经看到,在发生分类错误的输入空间中,后验概率p(Ck | x)通常远低于1,或者等价地,不同类别的联合分布p(x, Ck)有着可比的值。这些区域中,类别的归属相对不确定。在某些应用中,对于这种困难的情况,避免做出决策是更合适的选择。这样会使得模型的分类错误率降低。这被称为拒绝选项(reject option)。

4.4推断与决策

我们之前事实上将分类问题分成了两部分:

  • 推断部分:使用训练数据建立一个计算 p(Ck|x)p(Ck|x) 的模型
  • 决策部分:使用这些后验概率进行决策

另一种直接的方法是学习一个将输入 xx 直接映射为决策的函数,这样的函数叫做判别函数(discriminant function)。

事实上,我们有三类不同的方法来解决分类问题,按复杂度从高到低排列如下:

  1. 建模计算 p(x,Ck)p(x,Ck),再决策,产生式模型(generative models
  2. 建模计算 p(Ck|x)p(Ck|x),再决策,判别式模型(discriminative models
  3. 直接使用判别函数 f(x)f(x) 映射到标签类别上,例如二类问题中 f=0f=0 表示 C1C1, f=1f=1 表示 C2C2。

方法 1 复杂度最高,通常 xx 是很高维的数据,因此我们需要很多的数据来保证分布的正确性;p(Ck)p(Ck) 通常只是简单的使用训练集的分布决定。其好处在于可以得到 p(x)p(x),来判断一个新数据点 xx 在当前模型下的概率,即离群点检测(outlier detection)。

如果我们只关注分类决策,那么方法 2 是一个好的选择,因为不需要计算 p(x)p(x),计算量减少了很多;

方法 3 直接将决策并入了判别函数,比方法 2 更简单。但是我们不再有后验概率的信息。

有后验概率的好处在于:

  • 最小风险决策
  • 拒绝选项
  • 补偿先验概率不均衡的问题
  • 结合多个模型

4.5 回归问题的损失函数

 

5.信息论

我们考虑一个离散的随机变量x。当我们观察到这个变量的一个具体值的时候,我们接收到了多少信息呢?

信息量可以用惊讶程度来表示,不如发生了一个概论非常小的事,我们收到的信息量就要多于一个很可能发生的事。我们有
h(x)的单位是比特。

关于概率分布p(x)的期望得到。这个期望值为
这个重要的量被叫做随机变量x的熵(entropy)

现在假设我们要传送状态变量给一个接收器。

考虑一个有 8 个状态的变量 xx,每个状态都是等概率的。为了表示这个状态,我们至少需要 3 比特的信息来表示状态,此时熵值为

再考虑不等概率的情况,假设状态和概率为

熵值为:

不等概率的熵要比等概率的熵要小。考虑字符的霍夫曼编码:0、10、110、1110、111100、111101、111110、111111来表示状态a; b; c; d; e; f; g; h。

现在考虑自然对数表示的熵。此时熵的单位是 nat 而不是 bit。我们之前用平均信息量的方式引入了熵,事实上熵的概念是从物理上引入的。假设我们将 NN 个相同的小球放入一些容器中,使得第 ii 个容器中有 nini 个球,∑ini=N∑ini=N。我们按顺序从第 1 个容器开始往里面放入小球,第 1 个有 NN 种选择,第 2 个有 N−1N−1 种选择……总共有 N!N! 种选择。但是放入每个容器中的 nini 个球是不区分顺序的,有 ni!ni! 种可能性放置这些小球,因此总的可能方法有

                                                 

这被称为乘数(multiplicity)。熵被定义为通过适当的参数放缩后的对数乘数,即

当 N→∞N→∞ 时,由 Stirling 近似公式:

我们有

是小球放入第 i 个容器的概率

对于一个离散随机变量 XX 的取值 xixi 当作一个容器,即有 ,则它的熵为:

在概率归一化的限制下,使用拉格朗日乘数法可以找到熵的最大值。因此,我们要最大化

最大化这个函数得到:为了验证的确是个最大值,我们可以计算它的二阶导数来验证。

连续变量的熵

对于连续变量,我们将 xx 划分为长度为 ΔΔ 的小段,积分中值定理告诉我们,在第 i 小段(iΔ,(i+1)Δ) 中存在 xi,使得:

                                 

我们可以将落在第 ii 小段的 xx 对应为 xixi,则观测到 xixi 的概率为 p(xi)Δp(xi)Δ,这给出了一个关于 xixi 的离散分布,其熵为:

其中 p(xi)Δ=1,现在忽略最后的常数项,然后考虑 Δ→0 的情况,我们有:

对于多元向量 xx,微分熵定义为

在离散分布的例子中,我们看到最大化熵的分布是均匀离散分布。

为了最大化连续分布的熵,我们需要加上 p(x)p(x) 的一阶矩和二阶矩都固定的条件。

考虑一维情况,我们的问题为

拉格朗日函数为:

令其对p(x)的导数等于0:

从而p(x)=exp{1+λ1+λ2x+λ3(x−μ)2}

条件熵

假设我们有 x,y的联合分布,假设 x 已知,那么 y 的包含的信息量应当由 −ln⁡p(y|x) 来衡量,因此我们可以定义其条件期望为给定 x 下 y 的条件熵:

可以计算出,我们有:

相对熵和互信息

假设我们有一个未知分布 p(x)p(x),然后对它建模得到了一个概率分布 q(x)q(x)。

用 q(x)q(x) 的分布来传送 xx 所用的信息量(q(x)q(x)),比用真实的分布 p(x)p(x) 传送所用的信息量(p(x)p(x))要多一些,多出来的部分为:

最小化相对熵

假设我们有一组从未知分布 p(x)p(x) 中产生的数据,我们的模型为 q(x|θ)q(x|θ),一个决定参数 θθ 的方法就是最小化 p(x)p(x) 和 q(x|θ)q(x|θ) 的 K-L 散度。

然而我们并不知道 p(x)p(x) 的真实分布,一个近似的方法是使用已观测的数据进行模拟:

由于右边的部分与 θθ 无关,因此,最小化 K-L 散度就相当于最大化似然函数。

 

 

 

 

 

 

 

 

 

 

 

 

 

展开阅读全文

没有更多推荐了,返回首页