Processing math: 100%
贝叶斯泊松分解变分推断笔记

贝叶斯泊松分解

一般形式

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

xij=Kk=1zijk,zijkPois(uikvjk),uikGamma(a(u),b(u)a(u)),vjkGamma(a(v),b(v)a(v)).

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

Gamma(x;α,β)=exp((α1)lnxxβlnΓ(α)αlnβ)

Binary形式

变分推断

变分更新公式

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

p(X,Z,U,V)=p(XZ)p(ZU,V)p(U)p(V)

其对数形式展开如下

lnp(X,Z,U,V)=ijk(uikvjk+zijkln(uikvjk)lnΓ(zijk+1))+ij((a(u)1)lnuika(u)b(u)uiklnΓ(a(u))a(u)lnb(u)a(u))+ij((a(v)1)lnvjka(v)b(v)vjklnΓ(a(v))a(v)lnb(v)a(v))

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

q(Z,U,V)=q(Z)q(U)q(V)=i,jqzij(zij)i,kquik(uik)j,kqvjk(vjk)

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

lnqzij(zij)=E(Θzij)[lnp(X,Z,U,V)]+const=E(Θzij)[k(lnΓ(zijk+1)+zijk(lnuik+lnvjk))]+const=k(lnΓ(zijk+1)+zijk(E[lnuik]+E[lnvjk]))+const=k(lnΓ(zijk+1)+zijklneE[lnuik]+E[lnvjk])+const

辅助变量zij的后验为多项式分布,其参数为

ϕijk=eE[lnuik]+E[lnvjk]keE[lnuik]+E[lnvjk]

因此zijk的更新公式为

E[zijk]=xijϕijk

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

lnquik(uik)=E(Θuik)[lnp(X,Z,U,V)]+const=E(Θuik)[(a(u)+jzijk1)lnuik(a(u)b(u)+kvjk)uik]+const=(a(u)+jE[zijk]1)lnuik(a(u)b(u)+kE[vjk])uik+const

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

α(u)ik=a(u)+jE[zijk],β(u)ik=(a(u)b(u)+kE[vjk])1,

因此uik的更新公式为

E[uik]=α(u)ikβ(u)ikE[lnuik]=ψ(α(u)ik)+lnβ(u)ik

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

变分下界计算

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

L(q)=Eq[lnp(X,Θ)]+H(q(Θ))

其中$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]$项可以在计算过程中消去

L(q)=ijkE[uik]E[vjk]+ikE[lnuik](a(u)1+jE[zijk])+jkE[lnvjk](a(v)1+iE[zijk])+ik(a(u)b(u)E[uik]lnΓ(a(u))a(u)lnb(u)a(u))+jk(a(v)b(v)E[vjk]lnΓ(a(v))a(v)lnb(v)a(v))+ij(lnΓ(xij+1)kE[zijk]lnϕijk)+ik((α(u)ik1)ψ(α(u)ik)+lnβ(u)ik+α(u)ik+lnΓ(α(u)ik))+jk((α(v)jk1)ψ(α(v)jk)+lnβ(v)jk+α(v)jk+lnΓ(α(v)jk))

参考

  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