贝叶斯定理简介

发布于 2023-11-20
更新于 2024-05-16

贝叶斯定理概念

引入

Consider an uncertain event, for example whether the moon was once in its own orbit around the sun, or whether the Arctic ice cap will have disappeared by the end of the century. These are not events that can be repeated numerous times in order to define a notion of probability as we did earlier in the context of boxes of fruit. Nevertheless, we will generally have some idea, for example, of how quickly we think the polar ice is melting. If we now obtain fresh evidence, for instance from a new Earth observation satellite gathering novel forms of diagnostic information, we may revise our opinion on the rate of ice loss. Our assessment of such matters will affect the actions we take, for instance the extent to which we endeavour to reduce the emission of greenhouse gasses. In such circumstances, we would like to be able to quantify our expression of uncertainty and make precise revisions of uncertainty in the light of new evidence, as well as subsequently to be able to take optimal actions or decisions as a consequence. This can all be achieved through the elegant, and very general, Bayesian interpretation of probability.
考虑一个不确定的事件,例如月球是否曾经在自己的绕太阳轨道上,或者北极冰盖是否会在本世纪末消失。这些事件不能像我们早些时候在水果盒子的背景下所做的那样,为了定义概率的概念而重复多次。然而,我们通常会有一些想法,例如,我们认为极地冰融化的速度有多快。如果我们现在获得新的证据,例如从一颗新的地球观测卫星收集新形式的诊断信息,我们可能会修改我们对冰流失率的看法。我们对这些问题的评估将影响我们采取的行动,例如我们努力减少温室气体排放的程度。在这种情况下,我们希望能够量化我们对不确定性的表达,并根据新的证据对不确定性进行精确的修正,从而能够采取最佳行动或决策。这一切都可以通过优雅的、非常普遍的概率贝叶斯解释来实现。

贝叶斯定理

贝叶斯概率是概率论中的一个概念,以18世纪统计学家和哲学家托马斯·贝叶斯(Thomas Bayes, 1701–1761)命名。它是用于表示不确定性或主观信念的数学框架,用于描述事件发生的可能性。
贝叶斯概率的关键组成部分包括:

  1. 先验概率:这代表在考虑任何新数据或证据之前,对事件的初始信念或概率分配。先验可以基于先前的经验、专家意见或其他信息来源。

  2. 似然性:似然函数描述了在统计模型中给定某些参数值的情况下观察到数据的概率。它量化了数据支持不同可能参数值的程度。

  3. 后验概率:后验概率是考虑先验概率和新证据或数据后事件发生的更新概率。它是使用贝叶斯定理计算的,贝叶斯定理将先验概率和似然性数学地结合起来得到后验概率。

贝叶斯定理表达为:

$$ P(A|B) = \frac{P(B|A) \times P(A)}{P(B)} $$

其中:

  • $P(A|B)$ 是给定证据 $B$ 情况下事件 $A$ 的后验概率。
  • $P(B|A)$ 是在事件 $A$ 为真的情况下观察到证据 $B$ 的似然性。
  • $P(A)$ 是事件 $A$ 的先验概率。
  • $P(B)$ 是观察到证据 $B$ 的概率。

贝叶斯概率的优势在于它能够系统地基于新证据更新信念。它广泛应用于统计学、机器学习、人工智能和科学研究等各个领域,用于建模不确定性、进行预测,并在考虑先验知识并随着新信息的出现而更新概率时进行推理。

在实践中,贝叶斯方法可能会在处理复杂模型或大型数据集时需要大量计算。然而,在先验知识或主观信念至关重要的情况下,它们提供了一种灵活的决策和推理框架。

深入理解

先验概率 prior probability:没有观测数据情况下的概率,$p_{(w)}$
在观测数据 observed data: $D={t_1,...,t_N}$条件下,计算新的概率:后验概率 posterior probability,$p_{(w|D)}$

$$ p_{(w|D)} = \frac{p_{(D|w)}p_{(w)}}{p(D)} \tag{1} $$

式(1)就是贝叶斯定理,Bayes’ theorem 注意下面这段话:

The quantity p(D|w) on the right-hand side of Bayes’ theorem is evaluated for the observed data set $D$ and can be viewed as a function of the parameter vector w, in which case it is called the likelihood function. It expresses how probable the observed data set is for different settings of the parameter vector w. Note that the likelihood is not a probability distribution over w, and its integral with respect to w does not (necessarily) equal one.
贝叶斯定理右侧的量p(D|w)是为观测数据集D估计的,并且可以被视为参数向量w的函数,在这种情况下,它被称为似然函数。它表达了观测数据集对于参数向量w的不同设置的可能性。注意,似然不是w上的概率分布,其相对于w的积分不(必然)等于1。

一个广泛使用的估计器是最大似然估计,其中w被设置为使似然函数p(D|w)最大化的值。这对应于选择观测数据集的概率最大化的w的值。在机器学习文献中,似然函数的负对数被称为误差函数。因为负对数是一个单调递减的函数,所以最大化似然等于最小化误差。

在核心上,贝叶斯概率与经典或频率主义概率不同,它将概率视为一种不确定性的度量,可以随着新信息的出现而改变。在经典概率中,概率被认为是基于重复试验或实验的客观频率。但贝叶斯概率允许将先验知识或信念纳入考虑,在考虑到新证据时更新概率。

$$ posterior ∝ likelihood × prior \\ \Darr \\ 后验概率 = \frac{关于证据的似然 × 先验概率}{p(证据)} $$

最大似然估计是频率学派常用的估计方法,最大后验估计是贝叶斯学派常用的估计方法。

似然函数

似然函数是统计学中的一个基本概念,尤其在最大似然估计和贝叶斯推断的框架内起着重要作用。它表示在统计模型中不同参数值的情况下观察特定数据的概率。

让我们更详细地了解似然函数:

  1. 目的:似然函数的主要作用是评估统计模型不同参数值对观察到的数据的解释程度。它衡量了数据在模型中不同参数设置下的可信度。

  2. 定义:假设你有一个具有参数 $θ$ 和观察数据 $D$ 的统计模型。似然函数用 $L(θ|D)$ 表示,表示在给定特定参数 $θ$ 值的情况下观察到数据 $D$ 的概率。数学上表示为:

$$ L(\theta|D) = P(D|\theta) $$

这里:

  • $L(\theta|D)$ 是似然函数。
  • $P(D|\theta)$ 表示在参数值 $θ$ 下观察到数据 $D$ 的概率。

  • 解释:似然函数并不提供参数 $θ$ 给定数据 $D$ 的概率(这是贝叶斯推断通过后验概率所做的)。相反,它考察了在模型中各种假定参数值下观察到数据的可能性。

  • 特性

  • 似然函数是参数 $θ$ 的函数,将数据 $D$ 视为固定。

  • 它与概率密度或质量函数成正比,但它本身不是概率密度。
  • 似然性原则表明,关于参数的数据信息完全包含在似然函数中。
  • 在最大化似然函数时,我们旨在找到使观察到的数据最有可能的参数值。

  • 最大似然估计(MLE, Maximum Likelihood Estimation):在频率主义统计中,MLE 是一种用于估计统计模型参数值的方法。它寻求最大化似然函数的 $θ$ 值,本质上是找到使观察到的数据最有可能的参数值。

  • 贝叶斯推断:在贝叶斯统计中,似然函数与先验分布结合使用,通过贝叶斯定理获得后验分布,该定理将先验知识或信念结合到观察数据后更新参数的概率中。

似然函数在统计建模、参数估计、假设检验和模型选择中扮演着关键角色,是评估不同参数值与观察数据的相容性的重要工具。

似然函数的求解

似然函数最大化是在最大似然估计(Maximum Likelihood Estimation,MLE)中的关键步骤,它旨在寻找使得观察到的数据在给定模型下出现概率最大的参数值。下面是一些常用的计算方法:

  1. 数值优化方法

    • 梯度下降法(Gradient Descent):梯度下降是一种常用的优化算法,通过迭代更新参数来最小化(或最大化)目标函数。在最大化似然函数时,它不断调整参数,沿着梯度方向移动,以找到使得似然函数最大化的参数值。需要注意的是,梯度下降法可能受到局部最优解的影响。

    • 牛顿法(Newton's Method):牛顿法使用二阶导数(Hessian矩阵)信息来迭代地逼近函数的最值点。它可以更快地收敛到极值点,但需要计算和存储更多的信息。

    • 拟牛顿法(Quasi-Newton Methods):拟牛顿法是基于牛顿法的改进版本,在计算复杂度相对较低的情况下近似牛顿法的性能,常用的包括BFGS和L-BFGS算法。

  2. 对数似然函数的使用

    • 通常,为了简化计算并提高数值稳定性,会对似然函数取对数得到对数似然函数。对数似然函数在数学上更易处理,且通常具有更好的数值特性,例如将乘法转换为加法运算。
  3. 初始参数值选择

    • 对于迭代优化方法,初始参数值的选择可能对结果产生影响。合适的初始值通常能够帮助算法更快地收敛到全局最优解或更接近最优解。
  4. 正则化(Regularization)

    • 在某些情况下,为避免过拟合或控制参数的大小,可以在似然函数中加入正则项,例如L1正则化(Lasso)或L2正则化(Ridge),以平衡模型的复杂性和拟合能力。
  5. 数值稳定性

    • 当似然函数具有很多参数或者需要计算复杂的数学运算时,数值稳定性变得尤为重要。使用数值稳定的算法和数值技巧可以避免数值计算上的问题。

在实际应用中,选择合适的最优化方法以及合适的技术和策略来处理计算挑战是至关重要的。不同的方法可能适用于不同类型的问题和数据集,同时也可能会受到问题本身的特性和计算资源的限制。

最大后验估计

最大后验估计(Maximum A Posteriori Estimation,MAP)是试图找到一个参数集合 $\theta$,使得后验概率 $P(\theta | D)$ 最大化。因为 $P(D)$ 对于给定的数据 $D$ 是一个常数,所以我们可以简化为:

$$ \theta_{\text{MAP}} = \arg \max_\theta P(\theta | D) \propto \arg \max_\theta P(D | \theta) \cdot P(\theta) $$

这个公式表示最大后验估计寻找的参数集合 $\theta_{\text{MAP}}$ 是在给定数据 $D$ 时,同时考虑了观察到的数据的似然度 $P(D | \theta)$ 和先验概率 $P(\theta)$ 的条件下,使得后验概率最大化的值。

先验概率和后验概率的重要性

  • 先验概率 $P(\theta)$ 反映了在观察到任何数据之前我们对参数集合 $\theta$ 的信念或先前知识。
  • 后验概率 $P(\theta | D)$ 融合了先验知识和观察到的数据,提供了在观察数据后对参数的更新估计。

最大后验估计提供了一种基于贝叶斯推断的方法,它允许我们在估计模型参数时同时考虑先验信息和观测数据,从而更全面地进行推断和估计。

sklearn实现朴素贝叶斯分类器

关于朴素贝叶斯分类器:
优点:

  • 朴素贝叶斯模型发源于古典数学理论,有稳定的分类效率。
  • 对缺失数据不太敏感,算法也比较简单,常用于文本分类。
  • 分类准确度高,速度快

缺点:
* 由于使用了样本属性独立性的假设,所以如果特征属性有关联时其效果不好。

下面是一个简单的利用朴素贝叶斯分类器实现新闻文本分类的例子

python
from sklearn.datasets import fetch_20newsgroups
from sklearn.model_selection import train_test_split
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.naive_bayes import MultinomialNB

news = fetch_20newsgroups(subset='all')
x_train, x_test, y_train, y_test = train_test_split(news.data, news.target, test_size=0.3)

# 对于文本数据,进行特征抽取
tfid = TfidfVectorizer()

x_train = tfid.fit_transform(x_train)
# 这里打印出来的列表是:训练集当中的所有不同词的组成的一个列表
#print(tfid.get_feature_names())

x_test = tfid.transform(x_test)

# estimator估计器流程
mlb = MultinomialNB(alpha=1.0)
mlb.fit(x_train, y_train)

# 进行预测
y_predict = mlb.predict(x_test)

print("预测每篇文章的类别:", y_predict[:100])
print("真实类别为:", y_test[:100])

print("预测准确率为:", mlb.score(x_test, y_test))

最大后验估计(Maximum A Posteriori Estimation,MAP)是一种通过使用先验概率结合观察到的数据来估计模型参数的方法。它是贝叶斯推断的一种特例。

参阅