贝叶斯泊松分解变分推断笔记

贝叶斯泊松分解

一般形式

因为可以对观测数据进行灵活的符合实际的建模(不同的概率分布假设),贝叶斯概率分解模型已经成为了最常见的矩阵/张量分解方法。其中,贝叶斯泊松分解模型一方面可以对计数值(count data)进行有效的建模,另一方面得益于其非负的分解结构,可以用于替代传统的非负矩阵分解模型(NMF),因而被广泛应用于推荐系统、因子分析和聚类分析中。常见的贝叶斯泊松矩阵分解模型如下,其中观测值$x_{ij}$服从泊松分布,而其分解得到的因子矩阵的值则服从共轭的Gamma分布:

其中Gamma分布的概率密度函数如下所示,$\alpha\in\mathbb{R}{+}$为shape参数,$\beta\in\mathbb{R}{+}$为scale参数,$\Gamma(n+1)=n!$为gamma函数:

Binary形式

变分推断

变分更新公式

上述模型的联合概率分布函数为

其对数形式展开如下

与此同时,对后验概率分布的变分近似分布进行分解,得到

根据变分贝叶斯推断笔记中的公式(3),我们可以对各个因子的最优化形式进行推导。首先,对于因子$q{\boldsymbol{z}{ij}}(\boldsymbol{z}_{ij})$,有

辅助变量$\boldsymbol{z}_{ij}$的后验为多项式分布,其参数为

因此$z_{ijk}$的更新公式为

进一步地,对于因子$q{u{ik}}(u_{ik})$,有

由共轭性,$q{u{ik}}(u_{ik})$仍然是Gamma分布,其参数为

因此$u_{ik}$的更新公式为

最后,因子$q{v{jk}}(v{jk})$的计算与因子$q{u{ik}}(u{ik})$类似。

变分下界计算

变分下界的计算公式如下:

其中$H(q(\Theta))=-\mathbb{E}{q}[\text{ln}q(\Theta)]$,因此我们可以计算变分下界,其中$\sum{i}\sum{j}\sum{k}\mathbb{E}\left[\text{ln}\Gamma(z_{ijk}+1)\right]$项可以在计算过程中消去

参考

  1. Prem Gopalan, Jake M. Hofman, David M. Blei. “Scalable recommendation with hierarchical poisson factorization”. In UAI, 2015.
文章作者: yxnchen
文章链接: http://yxnchen.github.io/research/贝叶斯泊松分解变分推断笔记/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 YXN's Blog