高斯过程分类(Gaussian Process Classification)的期望传播(EP)算法原理与计算过程
字数 3854 2025-11-07 12:32:50

高斯过程分类(Gaussian Process Classification)的期望传播(EP)算法原理与计算过程

题目描述
高斯过程分类(GPC)是一种基于高斯过程(GP)的非参数概率模型,用于解决二分类或多分类问题。与高斯过程回归(GPR)不同,GPC的输出需通过sigmoid函数(如logistic函数)映射到概率空间,导致后验分布非高斯,无法直接解析求解。期望传播(Expectation Propagation, EP)算法通过局部近似,将非高斯的似然项替换为高斯形式,从而逼近真实后验分布。本题将详细讲解EP算法在GPC中的原理与计算步骤。

解题过程

  1. 问题定义

    • 输入数据:\(X = \{\mathbf{x}_i\}_{i=1}^n\),标签 \(\mathbf{y} = \{y_i\}_{i=1}^n\)(二分类中 \(y_i \in \{-1, +1\}\))。
    • 隐变量:为每个样本引入隐函数值 \(f_i = f(\mathbf{x}_i)\),服从零均值高斯过程先验 \(\mathbf{f} \sim \mathcal{N}(\mathbf{0}, K)\),其中 \(K\) 是核矩阵(如RBF核),\(K_{ij} = k(\mathbf{x}_i, \mathbf{x}_j)\)
    • 似然函数:使用sigmoid函数(如 \(\sigma(z) = 1/(1+e^{-z})\))将 \(f_i\) 映射到标签概率,即 \(p(y_i | f_i) = \sigma(y_i f_i)\)
    • 目标:求隐变量后验 \(p(\mathbf{f} | X, \mathbf{y}) \propto p(\mathbf{f}) \prod_{i=1}^n p(y_i | f_i)\)。由于似然项非高斯,后验无法直接计算。
  2. EP算法的核心思想

    • 用高斯形式的"局部近似项" \(\tilde{t}_i(f_i) = \tilde{Z}_i \mathcal{N}(f_i | \tilde{\mu}_i, \tilde{\sigma}_i^2)\) 替换每个非高斯的似然项 \(t_i(f_i) = p(y_i | f_i)\),使得整体后验近似为高斯分布 \(q(\mathbf{f})\)
    • 通过迭代优化每个 \(\tilde{t}_i\) 的参数 \((\tilde{Z}_i, \tilde{\mu}_i, \tilde{\sigma}_i^2)\),使近似后验 \(q(\mathbf{f})\) 逼近真实后验。
  3. EP算法的步骤
    步骤1:初始化近似项

    • 为每个样本初始化 \(\tilde{t}_i(f_i)\),通常设 \(\tilde{\mu}_i = 0\)\(\tilde{\sigma}_i^2 = \infty\)(即初始近似项对后验无约束)。
    • 初始近似后验 \(q(\mathbf{f}) \propto p(\mathbf{f}) \prod_i \tilde{t}_i(f_i)\) 即为先验 \(\mathcal{N}(\mathbf{0}, K)\)

    步骤2:循环更新每个近似项
    对于每个样本 \(i\)(顺序或随机):

    • 移出当前近似项:计算剔除 \(\tilde{t}_i\) 后的"削除后验"(cavity distribution):

\[ q_{\backslash i}(\mathbf{f}) \propto \frac{q(\mathbf{f})}{\tilde{t}_i(f_i)} \implies q_{\backslash i}(f_i) = \mathcal{N}(f_i | \mu_{\backslash i}, \sigma_{\backslash i}^2), \]

 其中均值和方差通过高斯条件分布公式计算(若 $ q(\mathbf{f}) = \mathcal{N}(\mathbf{f} | \mu, \Sigma) $,则 $ \mu_{\backslash i} = \mu_i - \Sigma_{ii} \tilde{\sigma}_i^{-2} (\mu_i - \tilde{\mu}_i) $,$ \sigma_{\backslash i}^2 = \Sigma_{ii} - \Sigma_{ii}^2 (\Sigma_{ii} + \tilde{\sigma}_i^2)^{-1} $)。  
  • 计算新后验:将真实似然项 \(t_i(f_i) = p(y_i | f_i)\) 与削除后验结合,得非高斯分布:

\[ \hat{p}(f_i) \propto q_{\backslash i}(f_i) \cdot t_i(f_i). \]

  • 矩匹配:找到高斯分布 \(\mathcal{N}(f_i | \hat{\mu}_i, \hat{\sigma}_i^2)\),使其与 \(\hat{p}(f_i)\) 的一阶矩(均值)和二阶矩(方差)匹配。需计算:

\[ \hat{Z}_i = \mathbb{E}_{q_{\backslash i}}[t_i(f_i)], \quad \hat{\mu}_i = \mathbb{E}_{q_{\backslash i}}[f_i t_i(f_i)] / \hat{Z}_i, \quad \hat{\sigma}_i^2 = \mathbb{E}_{q_{\backslash i}}[f_i^2 t_i(f_i)] / \hat{Z}_i - \hat{\mu}_i^2. \]

 这些期望涉及一维积分,可用数值方法(如高斯-埃尔米特求积)计算。  
  • 更新近似项:根据矩匹配结果,反推新近似项参数:

\[ \tilde{\sigma}_i^2 = \left( \hat{\sigma}_i^{-2} - \sigma_{\backslash i}^{-2} \right)^{-1}, \quad \tilde{\mu}_i = \tilde{\sigma}_i^2 \left( \hat{\sigma}_i^{-2} \hat{\mu}_i - \sigma_{\backslash i}^{-2} \mu_{\backslash i} \right), \quad \tilde{Z}_i = \hat{Z}_i \cdot \sqrt{2\pi (\sigma_{\backslash i}^2 + \tilde{\sigma}_i^2)} \exp\left( \frac{(\mu_{\backslash i} - \tilde{\mu}_i)^2}{2(\sigma_{\backslash i}^2 + \tilde{\sigma}_i^2)} \right). \]

  • 更新全局后验:将新 \(\tilde{t}_i(f_i)\) 代入,更新 \(q(\mathbf{f})\) 的均值和协方差:

\[ \Sigma = \left( K^{-1} + \tilde{\Sigma}^{-1} \right)^{-1}, \quad \mu = \Sigma \tilde{\Sigma}^{-1} \tilde{\mu}, \]

 其中 $ \tilde{\Sigma} = \text{diag}(\tilde{\sigma}_1^2, \dots, \tilde{\sigma}_n^2) $,$ \tilde{\mu} = [\tilde{\mu}_1, \dots, \tilde{\mu}_n]^\top $。

步骤3:收敛判断

  • 重复步骤2直至所有 \(\tilde{t}_i\) 的参数变化小于阈值,或近似后验 \(q(\mathbf{f})\) 稳定。
  1. 预测新样本
    • 对新点 \(\mathbf{x}_*\),计算隐函数后验 \(q(f_*) = \mathcal{N}(f_* | \mu_*, \sigma_*^2)\),其中:

\[ \mu_* = \mathbf{k}_*^\top (K + \tilde{\Sigma})^{-1} \tilde{\mu}, \quad \sigma_*^2 = k(\mathbf{x}_*, \mathbf{x}_*) - \mathbf{k}_*^\top (K + \tilde{\Sigma})^{-1} \mathbf{k}_*. \]

  • 通过sigmoid函数积分得预测概率:\(p(y_* = +1 | \mathbf{x}_*) \approx \int \sigma(f_*) q(f_*) df_*\),可数值计算。

关键点

  • EP通过局部高斯近似处理非高斯似然,比拉普拉斯近似更精确。
  • 需迭代更新所有样本的近似项,每次更新依赖全局后验的矩匹配。
  • 适用于二分类问题,多分类问题需结合softmax函数和多元EP扩展。
高斯过程分类(Gaussian Process Classification)的期望传播(EP)算法原理与计算过程 题目描述 高斯过程分类(GPC)是一种基于高斯过程(GP)的非参数概率模型,用于解决二分类或多分类问题。与高斯过程回归(GPR)不同,GPC的输出需通过sigmoid函数(如logistic函数)映射到概率空间,导致后验分布非高斯,无法直接解析求解。期望传播(Expectation Propagation, EP)算法通过局部近似,将非高斯的似然项替换为高斯形式,从而逼近真实后验分布。本题将详细讲解EP算法在GPC中的原理与计算步骤。 解题过程 问题定义 输入数据:\( X = \{\mathbf{x} i\} {i=1}^n \),标签 \( \mathbf{y} = \{y_ i\}_ {i=1}^n \)(二分类中 \( y_ i \in \{-1, +1\} \))。 隐变量:为每个样本引入隐函数值 \( f_ i = f(\mathbf{x} i) \),服从零均值高斯过程先验 \( \mathbf{f} \sim \mathcal{N}(\mathbf{0}, K) \),其中 \( K \) 是核矩阵(如RBF核),\( K {ij} = k(\mathbf{x}_ i, \mathbf{x}_ j) \)。 似然函数:使用sigmoid函数(如 \( \sigma(z) = 1/(1+e^{-z}) \))将 \( f_ i \) 映射到标签概率,即 \( p(y_ i | f_ i) = \sigma(y_ i f_ i) \)。 目标:求隐变量后验 \( p(\mathbf{f} | X, \mathbf{y}) \propto p(\mathbf{f}) \prod_ {i=1}^n p(y_ i | f_ i) \)。由于似然项非高斯,后验无法直接计算。 EP算法的核心思想 用高斯形式的"局部近似项" \( \tilde{t}_ i(f_ i) = \tilde{Z}_ i \mathcal{N}(f_ i | \tilde{\mu}_ i, \tilde{\sigma}_ i^2) \) 替换每个非高斯的似然项 \( t_ i(f_ i) = p(y_ i | f_ i) \),使得整体后验近似为高斯分布 \( q(\mathbf{f}) \)。 通过迭代优化每个 \( \tilde{t}_ i \) 的参数 \( (\tilde{Z}_ i, \tilde{\mu}_ i, \tilde{\sigma}_ i^2) \),使近似后验 \( q(\mathbf{f}) \) 逼近真实后验。 EP算法的步骤 步骤1:初始化近似项 为每个样本初始化 \( \tilde{t}_ i(f_ i) \),通常设 \( \tilde{\mu}_ i = 0 \),\( \tilde{\sigma}_ i^2 = \infty \)(即初始近似项对后验无约束)。 初始近似后验 \( q(\mathbf{f}) \propto p(\mathbf{f}) \prod_ i \tilde{t}_ i(f_ i) \) 即为先验 \( \mathcal{N}(\mathbf{0}, K) \)。 步骤2:循环更新每个近似项 对于每个样本 \( i \)(顺序或随机): 移出当前近似项 :计算剔除 \( \tilde{t} i \) 后的"削除后验"(cavity distribution): \[ q {\backslash i}(\mathbf{f}) \propto \frac{q(\mathbf{f})}{\tilde{t} i(f_ i)} \implies q {\backslash i}(f_ i) = \mathcal{N}(f_ i | \mu_ {\backslash i}, \sigma_ {\backslash i}^2), \] 其中均值和方差通过高斯条件分布公式计算(若 \( q(\mathbf{f}) = \mathcal{N}(\mathbf{f} | \mu, \Sigma) \),则 \( \mu_ {\backslash i} = \mu_ i - \Sigma_ {ii} \tilde{\sigma} i^{-2} (\mu_ i - \tilde{\mu} i) \),\( \sigma {\backslash i}^2 = \Sigma {ii} - \Sigma_ {ii}^2 (\Sigma_ {ii} + \tilde{\sigma}_ i^2)^{-1} \))。 计算新后验 :将真实似然项 \( t_ i(f_ i) = p(y_ i | f_ i) \) 与削除后验结合,得非高斯分布: \[ \hat{p}(f_ i) \propto q_ {\backslash i}(f_ i) \cdot t_ i(f_ i). \] 矩匹配 :找到高斯分布 \( \mathcal{N}(f_ i | \hat{\mu} i, \hat{\sigma} i^2) \),使其与 \( \hat{p}(f_ i) \) 的一阶矩(均值)和二阶矩(方差)匹配。需计算: \[ \hat{Z} i = \mathbb{E} {q {\backslash i}}[ t_ i(f_ i)], \quad \hat{\mu} i = \mathbb{E} {q {\backslash i}}[ f_ i t_ i(f_ i)] / \hat{Z} i, \quad \hat{\sigma} i^2 = \mathbb{E} {q {\backslash i}}[ f_ i^2 t_ i(f_ i)] / \hat{Z}_ i - \hat{\mu}_ i^2. \] 这些期望涉及一维积分,可用数值方法(如高斯-埃尔米特求积)计算。 更新近似项 :根据矩匹配结果,反推新近似项参数: \[ \tilde{\sigma}_ i^2 = \left( \hat{\sigma} i^{-2} - \sigma {\backslash i}^{-2} \right)^{-1}, \quad \tilde{\mu}_ i = \tilde{\sigma}_ i^2 \left( \hat{\sigma} i^{-2} \hat{\mu} i - \sigma {\backslash i}^{-2} \mu {\backslash i} \right), \quad \tilde{Z}_ i = \hat{Z} i \cdot \sqrt{2\pi (\sigma {\backslash i}^2 + \tilde{\sigma} i^2)} \exp\left( \frac{(\mu {\backslash i} - \tilde{\mu} i)^2}{2(\sigma {\backslash i}^2 + \tilde{\sigma}_ i^2)} \right). \] 更新全局后验 :将新 \( \tilde{t}_ i(f_ i) \) 代入,更新 \( q(\mathbf{f}) \) 的均值和协方差: \[ \Sigma = \left( K^{-1} + \tilde{\Sigma}^{-1} \right)^{-1}, \quad \mu = \Sigma \tilde{\Sigma}^{-1} \tilde{\mu}, \] 其中 \( \tilde{\Sigma} = \text{diag}(\tilde{\sigma}_ 1^2, \dots, \tilde{\sigma}_ n^2) \),\( \tilde{\mu} = [ \tilde{\mu}_ 1, \dots, \tilde{\mu}_ n ]^\top \)。 步骤3:收敛判断 重复步骤2直至所有 \( \tilde{t}_ i \) 的参数变化小于阈值,或近似后验 \( q(\mathbf{f}) \) 稳定。 预测新样本 对新点 \( \mathbf{x} * \),计算隐函数后验 \( q(f ) = \mathcal{N}(f_ | \mu_ , \sigma_ ^2) \),其中: \[ \mu_* = \mathbf{k} * ^\top (K + \tilde{\Sigma})^{-1} \tilde{\mu}, \quad \sigma ^2 = k(\mathbf{x}_ , \mathbf{x} * ) - \mathbf{k} ^\top (K + \tilde{\Sigma})^{-1} \mathbf{k}_ . \] 通过sigmoid函数积分得预测概率:\( p(y_* = +1 | \mathbf{x} * ) \approx \int \sigma(f ) q(f_ ) df_* \),可数值计算。 关键点 EP通过局部高斯近似处理非高斯似然,比拉普拉斯近似更精确。 需迭代更新所有样本的近似项,每次更新依赖全局后验的矩匹配。 适用于二分类问题,多分类问题需结合softmax函数和多元EP扩展。