贝叶斯非负张量CP分解的推理算法与加速策略
立即解锁
发布时间: 2025-10-02 00:31:03 阅读量: 27 订阅数: 16 AIGC 

# 贝叶斯非负张量CP分解的推理算法与加速策略
## 1. 引言
在张量分解领域,贝叶斯非负张量CP分解是一种重要的方法。它通过引入概率模型,能够更好地处理数据中的不确定性。本文将详细介绍贝叶斯非负张量CP分解的推理算法,包括其原理、推导过程以及相关的加速策略。
## 2. 推理算法基础
### 2.1 未知参数集合
未知参数集合$Θ$包含因子矩阵$\{\boldsymbol{\Xi}^{(n)}\}_{n = 1}^{N}$、噪声功率$\beta^{-1}$和精度参数$\{\gamma_{l}\}_{l = 1}^{L}$。
### 2.2 最优变分概率密度函数
在平均场假设$Q(Θ)=\prod_{k = 1}^{K}Q(Θ_{k})$下,最优变分概率密度函数通过求解以下问题得到:
\[
\min_{Q(Θ_{k})}\int Q(Θ_{k})\left(-\mathbb{E}_{\prod_{j\neq k}Q(Θ_{j})}\left[\ln p(Θ,Y)\right]+\ln Q(Θ_{k})\right)dΘ_{k}
\]
其解为:
\[
Q^{*}(Θ_{k})=\frac{\exp\left(\mathbb{E}_{\prod_{j\neq k}Q(Θ_{j})}\left[\ln p(Θ,Y)\right]\right)}{\int\exp\left(\mathbb{E}_{\prod_{j\neq k}Q(Θ_{j})}\left[\ln p(Θ,Y)\right]\right)dΘ_{k}}
\]
### 2.3 狄拉克δ函数限制
由于未知参数$\boldsymbol{\Xi}^{(k)}$的矩难以计算,将变分概率密度函数$Q(\boldsymbol{\Xi}^{(k)})$限制为狄拉克δ函数$Q(\boldsymbol{\Xi}^{(k)})=\delta(\boldsymbol{\Xi}^{(k)}-\hat{\boldsymbol{\Xi}}^{(k)})$,其中$\hat{\boldsymbol{\Xi}}^{(k)}$是参数$\boldsymbol{\Xi}^{(k)}$的点估计。最优点估计$\hat{\boldsymbol{\Xi}}^{(k)*}$通过以下公式得到:
\[
\hat{\boldsymbol{\Xi}}^{(k)*}=\arg\max\mathbb{E}_{\prod_{Θ_{j}\neq\boldsymbol{\Xi}^{(k)}}Q(Θ_{j})}\left[\ln p(Θ,Y)\right]
\]
### 2.4 联合概率密度函数的对数
- **高斯似然函数**:若采用高斯似然函数,$\ln p^{\dagger}(Θ,Y)$的表达式为:
\[
\begin{align*}
\ln p^{\dagger}(Θ,Y)&=\sum_{n = 1}^{N}\ln\left[U(\boldsymbol{\Xi}^{(n)}\geq0_{J_{n}\times L})\right]+\frac{\sum_{n = 1}^{N}J_{n}}{2}\ln\beta-\frac{\beta}{2}\left\lVert Y-\left\langle\boldsymbol{\Xi}^{(1)},\boldsymbol{\Xi}^{(2)},\cdots,\boldsymbol{\Xi}^{(N)}\right\rangle\right\rVert_{F}^{2}\\
&+\sum_{n = 1}^{N}\frac{J_{n}}{2}\sum_{l = 1}^{L}\ln\gamma_{l}-\sum_{n = 1}^{N}\frac{1}{2}\text{Tr}\left(\boldsymbol{\Xi}^{(n)}\boldsymbol{\Gamma}\boldsymbol{\Xi}^{(n)T}\right)+\sum_{l = 1}^{L}\left((10^{-6}-1)\ln\gamma_{l}-10^{-6}\gamma_{l}\right)\\
&+(10^{-6}-1)\ln\beta - 10^{-6}\beta+\text{const}
\end{align*}
\]
其中$\boldsymbol{\Gamma}=\text{diag}\{\gamma_{1},\gamma_{2},\cdots,\gamma_{L}\}$。
- **截断高斯似然函数**:若使用截断高斯似然函数,$\ln p^{\sharp}(Θ,Y)$的形式为:
\[
\ln p^{\sharp}(Θ,Y)=\ln p^{\dagger}(Θ,Y)-\ln\left[\{\boldsymbol{\Xi}^{(n)}\}_{n = 1}^{N},\beta\right]+\text{const}
\]
其中
\[
\left[\{\boldsymbol{\Xi}^{(n)}\}_{n = 1}^{N},\beta\right]=\int_{0}^{\infty}\left(\frac{\beta}{2\pi}\right)^{\frac{\sum_{n}J_{n}}{2}}\exp\left(-\frac{\beta}{2}\left\lVert Y - \left\langle\boldsymbol{\Xi}^{(1)},\boldsymbol{\Xi}^{(2)},\cdots,\boldsymbol{\Xi}^{(N)}\right\rangle\right\rVert_{F}^{2}\right)dY
\]
在大多数贝叶斯非负矩阵/张量分解应用中,由于低秩矩阵/张量模型的置信度较高,即噪声功率$1/\beta$相对信号张量$\left\langle\boldsymbol{\Xi}^{(1)},\boldsymbol{\Xi}^{(2)},\cdots,\boldsymbol{\Xi}^{(N)}\right\rangle$的平均元素较小,$\ln\left[\{\boldsymbol{\Xi}^{(n)}\}_{n = 1}^{N},\beta\right]\approx\ln1 = 0$,因此$\ln p^{\sharp}(Θ,Y)$可以用$\ln p^{\dagger}(Θ,Y)$很好地近似。
## 3. 变分概率密度函数的推导
### 3.1 精度参数$\gamma_{l}$的变分概率密度函数
将$\ln p^{\dagger}(Θ,Y)$代入$Q(\gamma_{l})$的求解公式,可得$Q(\gamma_{l})=\text{gamma}(\gamma_{l}|c_{l},d_{l})$,其中
\[
c_{l}=\sum_{n = 1}^{N}\frac{J_{n}}{2}+\epsilon
\]
\[
d_{l}=\sum_{n = 1}^{N}\frac{1}{2}\mathbb{E}_{Q(\boldsymbol{\Xi}^{(n)})}\left[\boldsymbol{\Xi}^{(n)T}_{:,l}\boldsymbol{\Xi}^{(n)}_{:,l}\right]+\epsilon
\]
### 3.2 噪声功率参数$\beta$的变分概率密度函数
同理,$Q(\beta)=\text{gamma}(\beta|e,f)$,其中
\[
e=\frac{\sum_{n = 1}^{N}J_{n}}{2}+\epsilon
\]
\[
f=\frac{1}{2}\mathbb{E}_{\prod_{Θ_{j}\neq\beta}Q(Θ_{j})}\left[\left\lVert Y - \left\langle\boldsymbol{\Xi}^{(1)},\boldsymbol{\Xi}^{(2)},\cdots,\boldsymbol{\Xi}^{(N)}\right\rangle\right\rVert_{F}^{2}\right]+\epsilon
\]
### 3.3 因子矩阵$\hat{\boldsymbol{\Xi}}^{(k)}$的点估计
通过求解以下问题得到$\hat{\boldsymbol{\Xi}}^{(k)}$的点估计:
\[
\max\mathbb{E}_{\prod_{Θ_{j}\neq\boldsymbol{\Xi}^{(k)}}Q(Θ_{j})}\left[\ln\left(U(\boldsymbol{\Xi}^{(k)}\geq0_{J_{k}\times L})\right)-\frac{\beta}{2}\left\lVert Y - \left\langle\boldsymbol{\Xi}^{(1)},\boldsymbol{\Xi}^{(2)},\cdots,\boldsymbol{\Xi}^{(N)}\right\rangle\right\rVert_{F}^{2}-\frac{1}{2}\text{Tr}\left(\boldsymbol{\Xi}^{(k)}\boldsymbol{\Gamma}\boldsymbol{\Xi}^{(k)T}\right)\right]
\]
该问题等价于:
\[
\begin{align*}
\min&f(\boldsymbol{\Xi}^{(k)})\\
\text{s.t.}&\boldsymbol{\Xi}^{(k)}\geq0_{J_{k}\times L}
\end{align*}
\]
其中
\[
f(\boldsymbol{\Xi}^{(k)})=\frac{1}{2}\text{Tr}\left(\boldsymbol{\Xi}^{(k)}\mathbb{E}_{\prod_{Θ_{j}\neq\boldsymbol{\Xi}^{(k)}}Q(Θ_{j})}\left[\beta\mathbf{B}^{(k)}\mathbf{B}^{(k)T}+\boldsymbol{\Gamma}\right]\boldsymbol{\Xi}^{(k)T}-2\beta\boldsymbol{\Xi}^{(k)}\mathbb{E}_{\prod_{Θ_{j}\neq\boldsymbol{\Xi}^{(k)}}Q(Θ_{j})}\left[\mathbf{B}^{(k)}\right]Y^{(k)T}\right)
\]
这里$\mathbf{B}^{(k)}=\left(\bigodot_{n = 1,n\neq k}^{N}\boldsymbol{\Xi}^{(n)}\right)^{T}$,$\bigodot$表示多重Khatri - Rao积。
问题$(6.25)$是一个带有非负约束的二次规划(QP)问题,其Hessian矩阵
\[
\mathbf{H}^{(k)}=\mathbb{E}_{\prod_{Θ_{j}\neq\boldsymbol{\Xi}^{(k)}}Q(Θ_{j})}\left[\beta\mathbf{B}^{(k)}\mathbf{B}^{(k)T}+\boldsymbol{\Gamma}\right]
\]
是正定的,因此该问题是凸问题。可以采用一阶方法,如简单的梯度投影方法来求解。
梯度投影方法的更新方程为:
\[
\boldsymbol{\Xi}^{(k,t + 1)}=\left[\boldsymbol{\Xi}^{(k,t)}-\alpha_{t}\nabla f(\boldsymbol{\Xi}^{(k,t)})\right]_{+}
\]
其中梯度$\nabla f(\boldsymbol{\Xi}^{(k,t)})$的计算为:
\[
\nabla f(\boldsymbol{\Xi}^{(k,t)})=\boldsymbol{\Xi}^{(k,t)}\mathbb{E}_{\prod_{Θ_{j}\neq\boldsymbol{\Xi}^{(k)}}Q(Θ_{j})}\left[\beta\mathbf{B}^{(k)}\mathbf{B}^{(k)T}+\boldsymbol{\Gamma}\right]-Y^{(k)}\mathbb{E}_{\prod_{Θ_{j}\neq\boldsymbol{\Xi}^{(k)}}Q(Θ_{j})}\left[\beta\mathbf{B}^{(k)T}\right]
\]
$\alpha_{t}$为步长,采用递减规则。
## 4. 推理算法总结
### 4.1 期望的计算
- $\mathbb{E}_{Q(\boldsymbol{\Xi}^{(n)})}[\boldsymbol{\Xi}^{(n)}]=\hat{\boldsymbol{\Xi}}^{(n)}$
- $\mathbb{E}_{Q(\gamma_{l})}[\gamma_{l}]=\frac{c_{l}}{d_{l}}$
- $\mathbb{E}_{Q(\beta)}[\beta]=\frac{e}{f}$
### 4.2 复杂期望的计算
在更新$\hat{\boldsymbol
0
0
复制全文


