Chapter 28

確率的行列分解(PMF: Probabilistic Matrix Factorization)

確率的行列分解

行列A \in \mathbb{R} ^ {m \times n}が与えられたとき、これを行列U \in \mathbb{R} ^ {m \times p}, V \in \mathbb{R} ^ {n \times p}の積によって近似する。すなわち、

A \approx U V ^ \mathrm{T}

の状況を考える。Aに欠損値がなければ、この問題は特異値分解によって解くことができる(Eckart & Young の定理)が、ひとつでも欠損値があれば、通常の特異値分解では解くことができない[1]

欠損値を扱うために、行列分解を確率モデルで捉え直したのが確率的行列分解(Probabilistic Matrix Factorization)である。ここではリンク先の論文に載っている方法のうちで、もっとも基本的な(4)式の目的関数を導出するモデルについて説明する。

まず、

\begin{aligned} p(u _ {ir}) = \mathcal{N}(u _ {ir} | 0, \lambda _ U ^ 2) \\ p(v _ {jr}) = \mathcal{N}(v _ {jr} | 0, \sigma _ V ^ 2) \end{aligned}
p(a _ {ij} | U, V, \lambda) = \mathcal{N}(a _ {ij} | {\textstyle \sum _ {r=1} ^ p u _ {ir} v _ {jr}}, \lambda ^ {-1})
F(U, V) = \| A - U V ^ \mathrm{T} \| _ F ^ 2 + \lambda _ U \| U \| _ F ^ 2 + \lambda _ V \| V \| _ F ^ 2
\begin{aligned} \frac{\partial}{\partial U} F(U, V) &= - 2 ((A - U V ^ \mathrm{T}) \odot M) V + 2 \lambda _ U U \\ \frac{\partial}{\partial V} F(U, V) &= - 2 ((A - U V ^ \mathrm{T}) \odot M) ^ \mathrm{T} U + 2 \lambda _ V V \end{aligned}
脚注
  1. 私の修士論文では、これを解いた。 ↩︎