定义

贝叶斯定理描述了如何利用现有证据更新某一事件的概率。

对于一个构成样本空间划分的事件集合 和任意事件 ,贝叶斯定理的表达式为:

其中:

  • (后验概率 Posterior):在观测到证据 后,假设 成立的概率。这是通过计算想要得到的结果。
  • (尤度 Likelihood):在假设 成立的前提下,观测到证据 的概率。它描述了假设与证据的匹配程度。
  • (先验概率 Prior):在没有任何证据支持的情况下,认为假设 成立的初始概率。
  • (边缘似然 Marginal Likelihood / Evidence):在所有可能性下,观测到证据 的总概率。它是一个归一化常数,确保所有后验概率之和为1。

图形表示

1. 全集划分

为红色区域, 为蓝色区域, 全集为

\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
  % 背景全集
  \draw[thick] (0,0) rectangle (5,4) node[below left] {$\Omega$};
 
  % 圆心与半径
  \coordinate (O) at (2.5,2);
  \def\R{1.3}
  \def\r{0.7}
 
  % 大圆与等分线
  \draw[thick] (O) circle(\R);
  \foreach \a in {90,-30,-150} {
    \draw[thick] (O) -- ++(\a:\R);
  }
 
  % 小圆 B
  \draw[thick] (O) circle(\r);
 
  % A₁ 区域红色横线填充
  \begin{scope}
    \clip (O) -- ++(90:\R) arc[start angle=90,end angle=-30,radius=\R] -- cycle;
    \foreach \y in {-1.0,-0.8,...,4.0} {
      \draw[red, line width=0.6pt] (-1,\y) -- (6,\y);
    }
  \end{scope}
 
  % B 区域蓝色竖线填充
  \begin{scope}
    \clip (O) circle(\r);
    \foreach \x in {0.0,0.2,...,5.0} {
      \draw[blue, line width=0.6pt] (\x,-1) -- (\x,4);
    }
  \end{scope}
 
\end{tikzpicture}
\end{document}

2. 分解图形

\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[scale=0.5]
% ----------- 全局参数 -----------
\def\R{1.3}      % 外圆半径
\def\r{0.7}      % 内圆半径 (B)
\def\xgap{1.2}   % 列间距
\def\ygap{-2.5}  % 行间距
\def\dx{-2.2}    % 红横线范围
\def\dy{-2.2}    % 蓝竖线范围
% 三个扇形的角度 (逆时针)
\def\aOne{90} \def\aTwo{210}
\def\bOne{210} \def\bTwo{330}
\def\cOne{330} \def\cTwo{90}
 
% ---------- 第一行:完整扇形 (A_i) ----------
% -------- A1 ----------
\begin{scope}[shift={(0,0)}]
  %--- 红横线 (外环) ---
  \begin{scope}
    \clip ({\R*cos(\aOne)},{\R*sin(\aOne)}) arc (\aOne:\aTwo:\R) -- ({\r*cos(\aTwo)},{\r*sin(\aTwo)}) arc (\aTwo:\aOne:\r) -- cycle;
    \foreach \y in {-2,-1.8,...,2}{\draw[red,thin] (\dx,\y) -- (-\dx,\y);}
  \end{scope}
  %--- 蓝竖线 (交集) ---
  \begin{scope}
    \clip (0,0) -- ({\r*cos(\aOne)},{\r*sin(\aOne)}) arc (\aOne:\aTwo:\r) -- cycle;
    \foreach \x in {-2,-1.8,...,2}{\draw[blue,thin] (\x,\dy) -- (\x,-\dy);}
  \end{scope}
  %--- 边界 ---
  \draw[thick] (0,0) -- ({\R*cos(\aOne)},{\R*sin(\aOne)}) arc (\aOne:\aTwo:\R) -- cycle;
  \draw[thick] (0,0) -- ({\r*cos(\aOne)},{\r*sin(\aOne)}) arc (\aOne:\aTwo:\r) -- cycle;
\end{scope}
% -------- A2 ----------
\begin{scope}[shift={(\xgap,0)}]
  \begin{scope}
    \clip ({\R*cos(\bOne)},{\R*sin(\bOne)}) arc (\bOne:\bTwo:\R) -- ({\r*cos(\bTwo)},{\r*sin(\bTwo)}) arc (\bTwo:\bOne:\r) -- cycle;
    \foreach \y in {-2,-1.8,...,2}{\draw[red,thin] (\dx,\y) -- (-\dx,\y);}
  \end{scope}
  \begin{scope}
    \clip (0,0) -- ({\r*cos(\bOne)},{\r*sin(\bOne)}) arc (\bOne:\bTwo:\r) -- cycle;
    \foreach \x in {-2,-1.8,...,2}{\draw[blue,thin] (\x,\dy) -- (\x,-\dy);}
  \end{scope}
  \draw[thick] (0,0) -- ({\R*cos(\bOne)},{\R*sin(\bOne)}) arc (\bOne:\bTwo:\R) -- cycle;
  \draw[thick] (0,0) -- ({\r*cos(\bOne)},{\r*sin(\bOne)}) arc (\bOne:\bTwo:\r) -- cycle;
\end{scope}
% -------- A3 ----------
\begin{scope}[shift={(2*\xgap,0)}]
  \begin{scope}
    \clip ({\R*cos(\cOne)},{\R*sin(\cOne)}) arc (\cOne:\cTwo+360:\R) -- ({\r*cos(\cTwo+360)},{\r*sin(\cTwo+360)}) arc (\cTwo+360:\cOne:\r) -- cycle;
    \foreach \y in {-2,-1.8,...,2}{\draw[red,thin] (\dx,\y) -- (-\dx,\y);}
  \end{scope}
  \begin{scope}
    \clip (0,0) -- ({\r*cos(\cOne)},{\r*sin(\cOne)}) arc (\cOne:\cTwo+360:\r) -- cycle;
    \foreach \x in {-2,-1.8,...,2}{\draw[blue,thin] (\x,\dy) -- (\x,-\dy);}
  \end{scope}
  \draw[thick] (0,0) -- ({\R*cos(\cOne)},{\R*sin(\cOne)}) arc (\cOne:\cTwo+360:\R) -- cycle;
  \draw[thick] (0,0) -- ({\r*cos(\cOne)},{\r*sin(\cOne)}) arc (\cOne:\cTwo+360:\r) -- cycle;
\end{scope}
 
% ---------- 第二行:仅内圆 (A_i ∩ B) ----------
% --- A1∩B ---
\begin{scope}[shift={(0,\ygap)}]
  \begin{scope}
    \clip (0,0) -- ({\r*cos(\aOne)},{\r*sin(\aOne)}) arc (\aOne:\aTwo:\r) -- cycle;
    \foreach \x in {-2,-1.8,...,2}{\draw[blue,thin] (\x,\dy) -- (\x,-\dy);}
  \end{scope}
  \draw[thick] (0,0) -- ({\r*cos(\aOne)},{\r*sin(\aOne)}) arc (\aOne:\aTwo:\r) -- cycle;
\end{scope}
% --- A2∩B ---
\begin{scope}[shift={(\xgap,\ygap)}]
  \begin{scope}
    \clip (0,0) -- ({\r*cos(\bOne)},{\r*sin(\bOne)}) arc (\bOne:\bTwo:\r) -- cycle;
    \foreach \x in {-2,-1.8,...,2}{\draw[blue,thin] (\x,\dy) -- (\x,-\dy);}
  \end{scope}
  \draw[thick] (0,0) -- ({\r*cos(\bOne)},{\r*sin(\bOne)}) arc (\bOne:\bTwo:\r) -- cycle;
\end{scope}
% --- A3∩B ---
\begin{scope}[shift={(2*\xgap,\ygap)}]
  \begin{scope}
    \clip (0,0) -- ({\r*cos(\cOne)},{\r*sin(\cOne)}) arc (\cOne:\cTwo+360:\r) -- cycle;
    \foreach \x in {-2,-1.8,...,2}{\draw[blue,thin] (\x,\dy) -- (\x,-\dy);}
  \end{scope}
  \draw[thick] (0,0) -- ({\r*cos(\cOne)},{\r*sin(\cOne)}) arc (\cOne:\cTwo+360:\r) -- cycle;
\end{scope}
 
% ---------- 第三行:仅外环 (A_i \ B) (已修正) ----------
% ----- A1外 (修正) -----
\begin{scope}[shift={(0,2*\ygap)}]
    % 1. 标准方法:精确剪裁环形区域并填充
    \begin{scope}
        \clip ({\R*cos(\aOne)},{\R*sin(\aOne)}) arc (\aOne:\aTwo:\R) -- ({\r*cos(\aTwo)},{\r*sin(\aTwo)}) arc (\aTwo:\aOne:\r) -- cycle;
        \foreach \y in {-2,-1.8,...,2} {\draw[red,thin] (\dx,\y) -- (-\dx,\y);}
    \end{scope}
    % 2. 绘制边界
    \draw[thick] ({\R*cos(\aOne)},{\R*sin(\aOne)}) arc (\aOne:\aTwo:\R) -- ({\r*cos(\aTwo)},{\r*sin(\aTwo)}) arc (\aTwo:\aOne:\r) -- cycle;
\end{scope}
% ----- A2外 (修正) -----
\begin{scope}[shift={(\xgap,2*\ygap)}]
    \begin{scope}
        \clip ({\R*cos(\bOne)},{\R*sin(\bOne)}) arc (\bOne:\bTwo:\R) -- ({\r*cos(\bTwo)},{\r*sin(\bTwo)}) arc (\bTwo:\bOne:\r) -- cycle;
        \foreach \y in {-2,-1.8,...,2} {\draw[red,thin] (\dx,\y) -- (-\dx,\y);}
    \end{scope}
    \draw[thick] ({\R*cos(\bOne)},{\R*sin(\bOne)}) arc (\bOne:\bTwo:\R) -- ({\r*cos(\bTwo)},{\r*sin(\bTwo)}) arc (\bTwo:\bOne:\r) -- cycle;
\end{scope}
% ----- A3外 (修正) -----
\begin{scope}[shift={(2*\xgap,2*\ygap)}]
    \begin{scope}
        \clip ({\R*cos(\cOne)},{\R*sin(\cOne)}) arc (\cOne:\cTwo+360:\R) -- ({\r*cos(\cTwo+360)},{\r*sin(\cTwo+360)}) arc (\cTwo+360:\cOne:\r) -- cycle;
        \foreach \y in {-2,-1.8,...,2} {\draw[red,thin] (\dx,\y) -- (-\dx,\y);}
    \end{scope}
    \draw[thick] ({\R*cos(\cOne)},{\R*sin(\cOne)}) arc (\cOne:\cTwo+360:\R) -- ({\r*cos(\cTwo+360)},{\r*sin(\cTwo+360)}) arc (\cTwo+360:\cOne:\r) -- cycle;
\end{scope}
 
\end{tikzpicture}
\end{document}

3. 图示关系

\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[scale=0.8]
% ----------- 全局参数 -----------
\def\R{1.3} \def\r{0.7}
\def\dx{-2.2} \def\dy{-2.2}
% 为方便,只用一个扇区 A_1 的角度
\def\angStart{90} \def\angEnd{210}
 
% ----------- 布局参数 -----------
\def\scl{0.9}  % 全局缩放
\def\hgap{1.5} % 组件的水平中心间隔
\def\vgap{1.5} % 组件的垂直中心间隔
 
% ==================== LHS: P(A_i|B) ====================
\node at (-4.2, 0) [scale=1.2] {$P(A_i|B)$};
\node at (-2.6, 0) [scale=1.2] {$=$};
 
% ----------- 第一个分数: (A_i ∩ B) / B -----------
\begin{scope}[shift={(-0.8, 0)}]
    % --- 分子: A_i ∩ B ---
    \begin{scope}[shift={(0,\vgap)}, scale=\scl]
        \begin{scope} % 蓝竖线填充
            \clip (0,0) -- ({\r*cos(\angStart)},{\r*sin(\angStart)}) arc (\angStart:\angEnd:\r) -- cycle;
            \foreach \x in {-2,-1.8,...,2}{\draw[blue,thin] (\x,\dy) -- (\x,-\dy);}
        \end{scope}
        \draw[thick] (0,0) -- ({\r*cos(\angStart)},{\r*sin(\angStart)}) arc (\angStart:\angEnd:\r) -- cycle;
    \end{scope}
 
    % --- 分母: B ---
    \begin{scope}[shift={(0,-\vgap)}, scale=\scl]
        \begin{scope} % 蓝竖线填充
            \clip (0,0) circle (\r);
            \foreach \x in {-2,-1.8,...,2}{\draw[blue,thin] (\x,\dy) -- (\x,-\dy);}
        \end{scope}
        \draw[thick] (0,0) circle (\r);
    \end{scope}
    % 分数线
    \draw[thick] (-1.2, 0) -- (1.2, 0);
\end{scope}
 
% ==================== RHS: [P(A_i)] * [P(B|A_i)] ====================
\node at (1.4, 0) [scale=1.2] {$=$};
 
% ----------- 第二个分数: P(A_i) = A_i / Ω -----------
\begin{scope}[shift={(1.4 + \hgap, 0)}]
    % --- 分子: A_i ---
    \begin{scope}[shift={(0,\vgap)}, scale=\scl]
        % 红横线 (外环)
        \begin{scope}
            \clip ({\R*cos(\angStart)},{\R*sin(\angStart)}) arc (\angStart:\angEnd:\R) -- ({\r*cos(\angEnd)},{\r*sin(\angEnd)}) arc (\angEnd:\angStart:\r) -- cycle;
            \foreach \y in {-2,-1.8,...,2}{\draw[red,thin] (\dx,\y) -- (-\dx,\y);}
        \end{scope}
        % 蓝竖线 (交集)
        \begin{scope}
            \clip (0,0) -- ({\r*cos(\angStart)},{\r*sin(\angStart)}) arc (\angStart:\angEnd:\r) -- cycle;
            \foreach \x in {-2,-1.8,...,2}{\draw[blue,thin] (\x,\dy) -- (\x,-\dy);}
        \end{scope}
        % 边界
        \draw[thick] (0,0) -- ({\R*cos(\angStart)},{\R*sin(\angStart)}) arc (\angStart:\angEnd:\R) -- cycle;
        \draw[thick] (0,0) -- ({\r*cos(\angStart)},{\r*sin(\angStart)}) arc (\angStart:\angEnd:\r) -- cycle;
    \end{scope}
    % --- 分母: Ω (符号已居中) ---
    \begin{scope}[shift={(0,-\vgap)}, scale=\scl]
        \draw[thick] (-\R,-\R) rectangle (\R,\R);
        \node at (0,0) {$\Omega$};
    \end{scope}
    % 分数线
    \draw[thick] (-1.2, 0) -- (1.2, 0);
\end{scope}
 
% --- 乘号 ---
\node at (1.4 + \hgap + 2.2, 0) [scale=1.5] {$\cdot$};
 
% ----------- 第三个分数: P(B|A_i) = (A_i ∩ B) / A_i -----------
\begin{scope}[shift={(1.4 + \hgap + 2.2 + \hgap, 0)}]
    % --- 分子: A_i ∩ B ---
    \begin{scope}[shift={(0,\vgap)}, scale=\scl]
        \begin{scope} % 蓝竖线填充
            \clip (0,0) -- ({\r*cos(\angStart)},{\r*sin(\angStart)}) arc (\angStart:\angEnd:\r) -- cycle;
            \foreach \x in {-2,-1.8,...,2}{\draw[blue,thin] (\x,\dy) -- (\x,-\dy);}
        \end{scope}
        \draw[thick] (0,0) -- ({\r*cos(\angStart)},{\r*sin(\angStart)}) arc (\angStart:\angEnd:\r) -- cycle;
    \end{scope}
    % --- 分母: A_i ---
    \begin{scope}[shift={(0,-\vgap)}, scale=\scl]
        % 红横线 (外环)
        \begin{scope}
            \clip ({\R*cos(\angStart)},{\R*sin(\angStart)}) arc (\angStart:\angEnd:\R) -- ({\r*cos(\angEnd)},{\r*sin(\angEnd)}) arc (\angEnd:\angStart:\r) -- cycle;
            \foreach \y in {-2,-1.8,...,2}{\draw[red,thin] (\dx,\y) -- (-\dx,\y);}
        \end{scope}
        % 蓝竖线 (交集)
        \begin{scope}
            \clip (0,0) -- ({\r*cos(\angStart)},{\r*sin(\angStart)}) arc (\angStart:\angEnd:\r) -- cycle;
            \foreach \x in {-2,-1.8,...,2}{\draw[blue,thin] (\x,\dy) -- (\x,-\dy);}
        \end{scope}
        % 边界
        \draw[thick] (0,0) -- ({\R*cos(\angStart)},{\R*sin(\angStart)}) arc (\angStart:\angEnd:\R) -- cycle;
        \draw[thick] (0,0) -- ({\r*cos(\angStart)},{\r*sin(\angStart)}) arc (\angStart:\angEnd:\r) -- cycle;
    \end{scope}
    % 分数线
    \draw[thick] (-1.2, 0) -- (1.2, 0);
\end{scope}
 
\end{tikzpicture}
\end{document}

推导

贝叶斯定理的推导基于条件概率的定义。对于任意事件

以及

将第二个式子代入第一个式子的分子,即可得到贝叶斯定理的基本形式:

通常,分母 的值是未知的,但可以利用全概率公式将其展开。如果 是样本空间的一个划分,则:

代入后得到贝叶斯定理的完全形式:

Warning

贝叶斯定理不要求各事件相互独立。如果事件A和B相互独立,则,定理将失去其“更新”意义。

示例

1. 医学诊断

这是一个经典例子,能清晰地展示贝叶斯定理如何“颠覆”我们的直觉。

假设有一种罕见疾病,在总人口中的发病率(先验概率)为 0.1%。现在有一种检测方法,其准确率如下:

  • 如果一个人真的有病,检测结果为阳性的概率是 99%(灵敏度)。
  • 如果一个人其实没病,但检测结果仍为阳性的概率是 2%(假阳性率)。

现在,小明去检测,结果为阳性。请问小明真的患有这种疾病的概率是多少?

定义事件:

  • : 小明患有该疾病。
  • : 小明没有该疾病。
  • : 检测结果为阳性。

已知的信息:

  • (真阳性率)
  • (假阳性率)

想求的是: ,即在检测结果为阳性的条件下,小明真的有病的概率。

应用贝叶斯定理:

首先,用全概率公式计算分母 ,即一个随机的人检测结果为阳性的总概率:

现在,可以计算后验概率

结论:
即使小明的检测结果为阳性,他真正患病的概率也只有约 4.72%。这个结果与直觉中“检测很准,阳性了肯定有病”的想法大相径庭,也完美地展示了贝叶斯定理在结合先验概率(极低的发病率)和证据(阳性检测结果)后,是如何得出一个更真实的后验判断的。

2. 开车戴表

这是一个极端的例子, 统计了10个人开车,戴表和是否有钱的信息

序号开豪车带名表有钱人
1111
2111
3111
4111
5111
6111
7111
8010
9010
10000

计算 ,即在已知某人同时开豪车和带名表的情况下,这个人是有钱人的概率。

首先,可以从数据中统计出相关事件的频次:

  1. 开豪车且带名表的人数 ():观察数据中“开豪车”和“带名表”两列同时为 1 的情况。
  2. 开豪车且带名表且是有钱人的人数 ():观察数据中“开豪车”、“带名表”和“有钱人”三列同时为 1 的情况。

从表中统计:

  • 开豪车且带名表 ():一共 7 人(序号 1 到 7)。
  • 开豪车且带名表且是有钱人 ():也是 7 人(序号 1 到 7)。

现在,可以计算条件概率

由于看到这两个事件的人数完全一致,因此:

这意味着在开豪车且带名表的个体中,他们是有钱人的概率是 100%。