[Probabilistic Machine Learning]: Fundamentals-Statistics
本学习笔记用于记录我学习Probabilistic Machine Learning的学习笔记,分享记录,也便于自己实时查看。
前面Probability部分重点是关注给定参数
一、贝叶斯统计
贝叶斯统计也是比较熟悉了,主要就是用贝叶斯公式进行计算后验:
书中以抛硬币实验来讲述了贝叶斯统计的众多概率,这里简单总结一下:
- Prior :均匀分布或者Beta分布,抛硬币我们可以选择Beta分布来指定更强的先验:
- Posterior: 在Beta分布先验条件下可计算得到后验为:
- MAP 估计:即让后验最大
用均匀分布先验则和MLE得到的结果一致。 - Posterior Mean:很多时候会使用后验的均值而非峰值作为参数,:
- Posterior Variance:表达估计的不确定性,对于抛硬币可得到标准差
所以随着样本量 的增大,不确定性以 的速度下降。不确定性(方差)在 时达到最大,在 接近0或1时达到最小。这表明,确定一个硬币偏向比确定它是公平的要容易得多。 - Credible Intervals:置信区间,后验分布的 100(1 - α)% 置信区间定义
- Posterior Predictive Distribution:假设我们希望预测未来的观测值,贝叶斯最优方法是通过边缘化未知参数来计算后验预测分布:
有时计算该积分可能会很困难,这时可以使用点估计方法,选择一个参数估计值 ,例如 MLE 或 MAP,从而近似为:
- Marginal Likelihood:对于优化没有影响,主要在于对模型的选择上:
还提到了一个定理**de Finetti’s theorem(德·芬尼蒂定理):**如果数据是可交换的,那么必然存在一个隐藏的随机变量
二、频率学派统计
与贝叶斯统计不同,频率学派不将参数当作随机变量,而是依赖采样分布来表示不确定性。它通过反复采样来评估数据中的随机性和不确定性,而不是使用先验分布和后验分布。核心思想是重复实验的假设:通过观察如果在不同的数据集上重复实验,估计的量(例如参数)会如何变化,这种变化构成了不确定性的依据。
这个也很熟悉了,简单来说就是频率学派认为参数是一个值,通过不断地实验就能去估计这个值。虽然这个有一定的缺点,但其一些准则在实践中也是被广泛使用的。
1. Sampling distributions
采样分布是对某个估计器(如最大似然估计,MLE)的结果变化进行的描述。
举例来说,假设从一个真实模型
2. Bootstrap 自助法
当估计器比较复杂或者样本量较小的时候,可以使用Bootstrap方法来近似采样分布。自助法的核心是通过从原始数据集中随机采样生成多个伪数据集,然后计算每个伪数据集的参数估计,最终得到估计值的经验分布。主要有两种方法:
- 参数自助法假设我们知道参数$\theta^
\theta^ \hat{\theta}$,这就称为“参数自助法”。 - 另一种是非参数自助法,它不依赖于特定的生成模型,而是直接从原始数据集中进行有放回的采样,这样每个新生成的数据集与原始数据集有相同的大小,但通常会有重复数据点。
3. 渐近正态性(Asymptotic Normality)
当样本量足够大时,最大似然估计(MLE)的采样分布会趋向于正态分布。这称为MLE的渐近正态性。在数学上,它表述为:
$$\sqrt{N}(\hat{\theta} - \theta^) \rightarrow N(0, F(\theta^)^{-1})$$
Fisher 信息矩阵其中
费舍尔信息矩阵衡量的是似然函数在真参数处的曲率,表明数据中包含的“信息量”。渐近正态性意味着,当样本量
4. Fisher 信息矩阵
**Fisher 信息矩阵(Fisher Information Matrix, FIM)**与对数似然函数的曲率密切相关。这一矩阵在频率学派统计中有重要作用,主要用于刻画最大似然估计(MLE)的采样分布。此外,Fisher 信息矩阵在贝叶斯统计中也有应用,例如推导 Jeffreys 的无信息先验,以及在优化问题中作为自然梯度下降的一部分。
定义如下:
score function :
Fisher 信息矩阵 :
$$F(\theta) \equiv \mathbb{E}{x \sim p(x|\theta)} \left[ \nabla\theta \log p(x|\theta) \nabla_\theta \log p(x|\theta)^T \right]$$
其第
可以看到Fisher 信息矩阵与负对数似然函数(NLL, Negative Log Likelihood)有关系:
我们有如下定理:
定理 4.1 如果
$$
F(\theta){ij} = \mathbb{E}{x \sim \theta} \left[ \frac{\partial}{\partial \theta_i} \log p(x|\theta) \frac{\partial}{\partial \theta_j} \log p(x|\theta) \right] = - \mathbb{E}_{x \sim \theta} \left[ \frac{\partial^2}{\partial \theta_i \partial \theta_j} \log p(x|\theta) \right]
$$
- 二项分布的 FIM:
- 单变量高斯分布的 FIM:
- 逻辑回归的 FIM:$F(w) = \mathbb{E}{p(y|X,w,\lambda)}[\nabla^2 L(w)] = X^T \Lambda X + \lambda I
\Lambda{nn} = \sigma(w^T x_n)(1 - \sigma(w^T x_n))$。 - 指数族分布的 FIM:
5. 频率学派的Counterintuitive properties
首先是**频率主义的置信区间,**它基于抽样分布来估计参数的不确定性。其定义是,如果重复抽取样本并计算每个样本的置信区间,那么有 95% 的区间会包含真实参数。但对于一个具体的样本,无法说参数有 95% 的概率落在置信区间内。换句话说,频率主义认为参数是固定的,数据是随机的,所以无法给出“参数在此区间的概率”。
贝叶斯方法则把数据固定,参数看作是随机的。因此,贝叶斯的可信区间给出了参数在某区间内的概率。这是人们在直觉上通常更关心的问题:已知数据后,参数落在某个范围的概率。
文中提到一个具体的例子:
然后就是**p 值的误导性,**p 值是指在原假设(H0)成立时,观察到某个统计量或更极端结果的概率。频率主义的假设检验通过计算 p 值来决定是否拒绝原假设,通常认为 p 值很小就意味着原假设不太可能成立。
问题是p 值经常被错误地解释为“原假设为真的概率”,但实际上它只是给出了在原假设成立的情况下,观察到数据的概率。它并没有告诉我们在看到数据后原假设是否成立,或者备择假设(H1)是否更有可能成立。
文中用了一个类比来说明 p 值的误导性。假设“如果一个人是美国人,他大概率不是国会议员”,我们观测到某人是国会议员,但这并不能推导出“这个人很可能不是美国人”。
这是一个典型的错误推理,类似于依赖 p 值来判断假设的真实性。相反,贝叶斯方法会使用贝叶斯定理结合数据推导出假设的后验概率,更符合人们的直觉。
三、共轭先验
如果先验分布
书中详细介绍了常见分布的共轭先验,这里仅做总结:
3.1 二项分布
- **共轭先验:**贝塔分布
- **更新公式:**在观察到
次成功和 次试验后,后验分布为:
3.2. 多类分布
-
**共轭先验:**狄利克雷分布:
-
**更新公式:**如果观察到类别
的次数为 ,则后验分布为
其中
表示每个类别的观察次数。
3.3 单变量高斯模型(Univariate Gaussian Model)
3.3.1 给定
- **共轭先验:**另一个高斯分布:
- **更新公式:**后验分布也为高斯分布,参数为:
这里, 是样本均值。
3.3.2 给定
- 共轭先验为逆伽马分布:
- **更新公式:**后验分布也是逆伽马分布,参数为:
3.3.3 对于均值
-
**共轭先验:**正态-逆伽马分布(NIG):
一般就用正态-逆卡方分布(NIX):
-
**更新公式:**后验参数更新:
-
方差的后验边际分布:
-
均值的后验边际分布:
3.4. 对于多变量高斯模型
3.4.1 在给定 Σ 的情况下推断 µ
- **共轭先验:**高斯分布:
- 后验分布: :
更新公式:
3.4.2 在给定 µ 的情况下推断 Σ
- **共轭先验:**逆Wishart分布:
- 后验分布: :
更新公式:
3.4.3 同时推断 Σ 和 µ
- 共轭先验:
- 后验分布:
其中 是更新后的散点矩阵。
3.5 指数族模型
唯一存在共轭先验的分布族是指数族,具体如下:
- **共轭先验:**我们可以将先验分布写成与似然函数相似的形式:
其中, 是先验的强度, 是先验均值, 是归一化因子。 - 后验分布:
其中:
我们看到,后验分布与先验分布具有相同的形式,只是更新了充分统计量和样本大小。后验均值为先验均值与经验均值(即最大似然估计)之间的组合:
其中,
- 边际似然:
- **后验预测密度:**我们现在推导给定过去数据
时,未来观测$D’ = (x’1, …, x’{N’})$的预测密度,如下:
四、无信息先验
在缺乏领域特定知识时,我们不希望主观定义不合理的先验,于是我们便可以选择无信息先验客观。主要有如下几种:
1. 最大熵先验(Maximum entropy priors)
最大熵先验是一种不做过多假设的先验分布,适合在没有充足信息的情况下使用。通过最大化熵来选择先验,这种方法依赖于拉普拉斯提出的“不充分理由原则”,即当我们没有理由偏向某个特定值时,应选择“平坦”的分布。例如,对于伯努利分布的参数 θ(取值范围 [0,1]),最大熵先验是均匀分布。
我们也可以根据已知约束来定义最大熵先验,使其在满足这些约束的同时使得熵最大化。书中举了一个例子:
2. 杰弗里斯先验(Jeffreys priors)
Jeffreys priors通过保证对参数化不敏感,即在不同的参数化方式下,后验分布不会改变。杰弗里斯先验的一个关键特性是对参数的变化保持不变,这意味着无论采用何种参数化方式,结果应该是一致的。
其中,
例如对于伯努利分布,其杰弗里斯先验是 Beta(1/2, 1/2) 分布。
3. 不变性先验(Invariant priors)
不变性先验是指当我们知道某些不变性时,可以将其编码进先验中。例如:
平移不变先验:对位置参数的推断可以使用平移不变先验,这种先验在任何相同宽度的区间上都分配相同的概率质量。
尺度不变先验:对尺度参数的推断可以使用尺度不变先验,其满足任意比例缩放后保持相同概率质量。
4. 参考先验(Reference priors)
参考先验通过最大化数据集上的后验与先验之间的KL散度来定义。它旨在使先验尽可能远离所有可能的后验分布,从而保持非信息性。参考先验可以看作是对不同数据集的互信息最大化问题。对于一维情况,参考先验等同于Jeffreys priors,而在高维情况下,计算起来则更复杂。
五、层次先验(Hierarchical priors)
贝叶斯模型需要为参数
在实际问题中,如果我们有多个相关的数据集
1. 层次二项模型的例子
问题背景:假设我们想估计不同群体中某种疾病的患病率,每个群体的样本量是
如果直接对每个群体单独估计
解决方案:为了避免这种问题,可以假设所有的
后验推断:可以通过Hamiltonian Monte Carlo(HMC)算法来进行后验推断,生成超参数
2. 层次高斯模型的例子
问题背景:现在考虑实数值数据的情况,假设我们有多个群体的数据,每个群体的数据
与二项模型类似,我们可以假设各群体的均值
其中
对于每个群体,后验均值
其中收缩系数
为了解决算法在进行后验推断时的计算效率问题,可以采用非中心化参数化(non-centered parameterization)。这种方法通过重新表达
六、经验贝叶斯
对于层次贝叶斯模型,在全贝叶斯推断中,我们对底层参数和超参数同时进行推断,计算
通过边际似然最大化来估计超参数是经验贝叶斯的核心步骤。具体来说,经验贝叶斯在给定数据
1. 经验贝叶斯在层次二项模型中的应用
在二项分布的层次模型中,经验贝叶斯的边际似然可以通过积分将底层参数
经验贝叶斯方法通过最大化此边际似然来估计超参数
2. 经验贝叶斯在层次高斯模型中的应用
在层次高斯模型中,经验贝叶斯可以通过边际化
然后通过矩匹配方法估计
3. 经验贝叶斯在马尔可夫模型中的应用
经验贝叶斯还可以用于语言模型中的 n-gram 平滑问题。在这个上下文中,经验贝叶斯被用来估计马尔可夫链中状态转移矩阵的先验分布。通过为转移矩阵的每一行设定一个独立的狄利克雷分布作为先验,经验贝叶斯可以通过最大化边际似然来估计先验参数
在 n-gram 语言模型中,我们希望计算不同词之间的转移概率,比如在二元模型(bigram model)中,给定词
其中,
然而,删除插值方法没有考虑不同的上下文在词的频率中可能有不同的重要性。贝叶斯方法则可以为每个上下文动态地调整平滑参数
通过经验贝叶斯的方法对删除插值进行了重新解释。首先,假设转移矩阵的每一行都遵循独立的 Dirichlet 先验分布:
其中,
其中
这个公式可以改写为删除插值的形式:
其中,
EB 方法的核心思想是通过数据来估计 Dirichlet 分布的超参数
这个估计意味着某个词
七、模型选择
在统计建模中,选择合适的模型至关重要。所有模型都存在一定的误差,然而某些模型能更好地适应数据,提供有用的预测。选择模型时,我们需要考虑模型的假设和拟合能力,确保它能在现实世界中应用。
1. 贝叶斯模型选择
贝叶斯模型选择的一个自然的想法是利用后验概率来确定最有可能生成数据的模型。公式如下:
这里的
如果模型的先验是均匀的,即
示例:硬币是否公平?
假设我们想知道某个硬币是否是公平的。我们可以设定两个模型:
通过比较这两个模型的边际似然,我们可以决定哪个模型更有可能解释观察到的数据。例如:
在公平硬币模型下,观察到
在偏向硬币模型下,边际似然更复杂,需要计算贝塔分布的积分:
如果观察到的正面次数较多,模型
2. 贝叶斯模型平均
如果我们的目标是进行准确的预测,综合所有模型的预测结果通常比只依赖单一模型更好。贝叶斯模型平均可以表示为:
这里
与机器学习中的集成技术类似,我们取预测器的加权组合。然而,集成的权重不必总和为 1,尤其是在贝叶斯模型平均中,如果有一个最佳模型$m^
3 边际似然估计
为了进行贝叶斯模型选择,我们需要计算在给定先验的条件下的边际似然:
这里的积分通常难以直接计算。对于共轭先验模型,边际似然可以解析计算,这类模型因其先验与后验分布形式一致,使得边际似然的计算变得简单明了。
但对于其它的,我们可以使用变分推断或蒙特卡洛方法来估计。文中还给了一个Harmonic mean estimator的方法:
4. 交叉验证与边际似然的联系
交叉验证是一种评估模型预测能力的常用方法。它通过将数据划分为训练集和验证集来评估模型的表现。**留一交叉验证(LOO-CV)**是一种特殊的情况,其中每次留出一个样本进行测试,其他样本用于训练。
交叉验证的结果可以用来估计模型的泛化能力。
5. 条件边际似然
边际似然用于回答“从先验生成训练数据的可能性有多大?”。它适用于在不同的固定先验之间进行假设检验,但很多时候我们更关心的是“后验能够生成数据分布中的新样本的概率是多少?”,这与模型的泛化性能相关联。
研究表明,边际似然有时可能与模型的泛化性能负相关。这是因为边际似然可能会出现先验较差但模型快速适应数据的情况
为了解决这个问题,研究者们提出了条件对数边际似然(CLML),公式为:
其中,
6. 贝叶斯留一法估计
对于监督模型来说,一个我们关注的点是**ELPD(expected log-pointwise predictive density),**ELPD 是对未来数据的预测性能进行估计的度量:
$$ELPD(m) = \mathbb{E}_{(x^, y^)} \left[ \log p(y^|x^, D, m) \right]$$
由于未来数据未知,因此可以使用 LOO 近似,即将部分数据点从数据集中移除并计算其预测分布:
直接计算
重要性采样的核心思想是定义目标分布
将这些权重进行归一化后,可以用来近似 LOO 估计:
重要性采样的一个问题是,权重的方差可能非常大,导致一些权重值过大。为了解决这个问题,可以对每个样本的权重拟合一个 Pareto 分布,从而对权重进行平滑。这样可以减少异常值对 LOO 估计的影响。
八、模型检测与假设检验
1. 后验预测检查(Posterior Predictive Checks):
通过已知数据和模型生成未来的合成数据,以评估真实数据与模型生成的数据是否相似。如果模型生成的数据与真实数据差异很大,说明模型无法捕捉数据中的某些特征,模型可能不适合。
2.贝叶斯p值
通过计算贝叶斯p值来量化模型的合理性。如果观测到的测试统计量位于预测分布的极端部分(即p值接近0或1),说明模型无法合理解释数据
3. 假设检验
与频率学派的假设检验相对,贝叶斯方法提供了假设检验的两种替代方案:
- 使用贝叶斯因子进行模型比较:贝叶斯假设检验不再将检验统计量与临界值进行比较,而是评估在两种模型下数据的边际似然比——零假设
和替代假设 。这个比值称为贝叶斯因子,表示为:
如果 ,我们倾向于支持 ,否则我们更倾向于支持 。
- 基于参数估计:即估计在假设条件下附近的概率。例如,要测试硬币是否公平,我们计算正面概率
的后验分布,并检查接近 0.5 的区域中有多少概率质量。