研究内容

応用数学・学習理論

確率行列分解の理論的推定精度について

背景と目的

確率行列分解とは,確率行列を2つの確率行列の積に分解する手法です.確率行列とは各列の和が1で各要素は0以上1以下であるような行列です.Adamsにより2016/9に発表された大変新しい機械学習手法であり,トピックモデルの推定への応用が提案されています.非負値行列分解の制約の一つとして理解でき,確率行列であるような条件を満たしながら行列分解を行う繰り返し計算とされています.しかし,これは逆に言えば最尤推測でもベイズ推測でもない:統計的推測ではないために,得られた結果の適切さを測ることはできません.確率行列分解の数学的な構造,とりわけ推定精度は明らかにされていません.推定精度の理論値が判明していれば,数値実験が成功しているかどうかの基準が得られます.逆に,もし理論値がなければ数値計算により得られた結果の正しさは一切保証されません.

一般のベイズ推定において,事後確率が正規分布で近似できてもできなくても,汎化誤差(の平均値)という形で推定精度の理論値を解明する(代数幾何学の特異点解消定理による)方法が確立されています.また,事後確率が正規分布で近似できないような場合,最尤推定や事後確率最大化推定よりもベイズ推定の方が汎化誤差を小さくできることも知られています.これら2点から,私たちはベイズ推定のフレームワークで確率行列分解の汎化誤差の理論値について研究しています.非負値行列分解のバリアントであるため,一部結果は流用できるものの,確率制約すなわち各列の要素和が1であるという制約が,問題を非常に難しくします.

主結果と考察

(非負値行列分解と定式化は同様です)平均誤差函数の零点集合に対し代数幾何学における特異点解消を行うことで汎化誤差の平均値の理論値を得ます.これは学習理論のゼータ関数の最大極を計算することと同様です.ゼータ関数の最大極の絶対値は実対数閾値と呼ばれる代数幾何学における双有理不変量です.極の位数も実対数閾値の多重度と呼ばれる双有理不変量です.そしてこの実対数閾値こそが,汎化誤差の平均値の学習データ数に対する漸近挙動を司ります.

上述した方法を用いて,汎化誤差の平均値の理論上界を導出しました.詳細は"Asymptotic Bayesian Generalization Error in a General Stochastic Matrix Factorization for Markov Chain and Bayesian Network"をご覧下さい.研究業績もご覧下さい.実対数閾値は負の対数周辺尤度(自由エネルギー)の漸近挙動もまた司っています.従って実対数閾値の解明は推定精度向上のためのモデル選択だけでなく真のモデルを選ぶ確率を最大化するモデル選択にも応用することができます.詳細な考察及び理論的な応用は上述の論文をご覧下さい.

数値実験

simplex上にパラメータを取るためBayes事後分布の実現が難しいという問題があります.そこでハミルトニアンモンテカルロ法という効率的な手法を使うことで計算できないか試みました.その結果,厳密な理論値がわかっている範囲で数値計算も似通った値を示したため,確率行列分解にもハミルトニアンモンテカルロ法は有効であることがわかりました.なおこの時はStanというBayes統計モデリング言語を用いました.StanではNo U-Turn Sampling(NUTS)と呼ばれるハミルトニアンモンテカルロ法が実装されています.理論値との比較から,わずかながら小さい数値計算結果が得られたこともありましたが,これは実対数閾値の多重度が2以上であり,1/nlognオーダーなどの高次項が影響を及ぼしていることが原因と考えています.実験結果は2018年3月のニューロコンピューティング研究会で発表しました.発表スライドはこちらです.