日本オペレーションズ・リサーチ学会
2021年 秋季研究発表会

1-D-6

確率的潜在意味解析における初期値決定方法の提案
05001400
05000907
01405390

中央大学大学院
東海大学
中央大学* 寺澤 眞之介
大竹 恒平
生田目 崇

TERASAWA Shinnosuke
OTAKE Kohei
NAMATAME Takashi

研究目的の観点から同時に，近い要素同士を同じ潜在クラスとしてソフトクラスタリングする．そこで，要素間の距
確率的潜在意味解析 (pLSA) は次元圧縮手法の一つ
離を確率として，P (x | z)，P (y | z) の初期値を設定すであり，行列に対して，行と列に共通な潜在クラスによる．本研究では，各要素の座標を算出する手法としてり表現され，ソフトクラスタリングとしても利用される．pLSA は，高次元データに対応できるだけでなく， コレスポンデンス分析，近い要素をまとめる手法として k-means 法，各クラスタの重心座標と各要素の座標行と列の要素を同時にクラスタリングできるという特の類似度としてベクトルの内積，初期値として確率に徴を持つため，文書データや ID-POS データなどではする手法として softmax 関数を用いる．初期値作成のトピックモデルとして利用される [1]．しかし，pLSA流れを以下に示す．の解は，求解手法の EM アルゴリズムの初期値に依存
1. 共起行列に対してコレスポンデンス分析を実施し，するため，解が安定しないことも知られている [2]．そ
正準相関係数，行の得点，列の得点を算出する．ここで本研究では，より効率的に最適な解を求めるための際の次元数を，pLSA の潜在クラス数と揃える．の初期値設定方法を提案する．
2. 各要素の行の得点，列の得点に対して，正準相関係
2. 提案手法数を掛け合わせ，各要素の座標を算出する．
2.1. pLSA の概要
3. 行の要素，列の要素ごとに座標に対して k-means 法
pLSA は，行の要素 x と列の要素 y の背後には，共でクラスタリングをする．この時のクラスタ数も通する特徴となる潜在的な意味クラス z があると想定
pLSA の潜在クラス数と揃える．
し，この潜在クラス z を確率的に計算する．x と y の4. 各クラスタの重心座標を算出し，各要素と各クラス共起確率 P (x, y) を潜在クラス z を使って表現し，確タの重心との内積を算出する．
率変数 P (x | z)，P (y | z)，P (z) を最終的な結果とし5. 算出した内積に対して，softmax 関数を用いて各クて出力する．ここで共起確率 P (x, y) は (1) 式のようにラスタにおける各要素の合計が 1 になるようにする．
モデル化することができ，同時出現頻度を N (x, y) と6. 算出した値の行方向を P (x | z) の初期値，列方向すると，対数尤度関数 L は (2) 式のようになる．
を P (y | z) の初期値とし，EM アルゴリズムを実行∑する．
P (x | z) P (y | z) P (z)(1)
P (x, y) =1.

2.3.

z

L=

∑∑x

N (x, y) log P (x, y)(2)y

この対数尤度関数 L を最大にするような P (x | z)，P (y | z)，P (z) を最尤推定する．最尤推定には EM ア
ルゴリズムが用いられ，(3) 式を用いて z 以外の変数を固定して P (z | x, y) を計算する E ステップと， (4)〜(6) 式を用いて P (x | z)，P (y | z)，P (z) を算出する
M ステップを，解が収束するまで繰り返す．

P (x, y, z)
P (x, y)P (x | z) P (y | z) P (z)=∑z P (x | z) P (y | z) P (z)∑y N (x, y) P (z | x, y)
P (x | z) = ∑ ∑xy N (x, y) P (z | x, y)∑N(x, y) P (z | x, y)x
P (y | z) = ∑ ∑xy N (x, y) P (z | x, y)∑ ∑xy N (x, y) P (z | x, y)
P (z) = ∑ ∑ ∑xyz N (x, y) P (z | x, y)

P (z | x, y) =2.2.

クラスタ番号の統一方法

初期値の違いによる pLSA の安定性を評価するためには，各結果のクラスタ番号を一致させる必要がある．
そこで，1 回目の結果のクラスタ番号を固定し，2 回目以降のクラスタ番号の割当てを最適化問題を利用して行う．このとき，n 回目の結果において P (x, y | z) =P (x | z) P (y | z) が成り立つ．1 回目の結果のクラスタ
番号を固定しているため，1 回目の結果の潜在クラス iと，n = l 回目の結果の潜在クラス j の近接度 siml を(7) 式のように定義する．
∑∑siml (i, j) ={P (x, y | z = i, n = 1)
x(3)
(4)
(5)
(6)

提案する初期値設定方法

本研究では，pLSA でより効率的に安定した解を得るための初期値設定方法を提案する．pLSA は行と列y◦P (x, y | z = j, n = l)}(7)l 回目ですべての i, j に対して，m × m の行列に並べたものを 1 回目の結果と l 回目の結果から求められる近接度 SIMl とする．さらに，割当問題の変数として，バイナリ変数 t(i,j) を用いて (8) 式のような V を作成する．ここで，t(i,j) = 1 となるとき，1 回目の結果の潜在クラス i と l 回目の結果の潜在クラス j が同じクラスである．
 1 ··· 0 ··· 0 t(1,1) . . . t(1,j) · · · t(1,m)..
..
..
.. ..
 ... . . . ...
.
.
.
.
. 

· · · t(i,j) · · · t(i,m) 
V =
(8)
 0. · · · 1. ·.· · 0. t(i,1)..
..
.. ..
 .
.. . . ..
.
.
.
.
.
0 · · · 0 · · · 1 t(m,1) · · · t(m,j) · · · t(m,m)

V の k 行目を Vk とすると割当問題を以下に示す．
m∑( T)
max
VV =Vk × Vk ◦ SIMl(9)
k=1

s.t.

m∑
i=1
m
∑

t(i,j) + 1 = 2,j = 1, . . . , m(10)t(i,j) = 1

i = 1, . . . , m(11)ti,j ∈ {0, 1}

i, j = 1, . . . , m

(12)

j=1

これを各結果について行う．

2.4.

pLSA の性能評価・比較

pLSA の性能を以下の 2 つの観点から評価する．
(i) EM アルゴリズムが収束するまでの反復回数(ii) P (x | z) , P (y | z) の確率が上位の要素の共通度(i) の観点では，pLSA は EM アルゴリズムを利用して最尤推定を行っているため，解が収束するまで反復を繰り返す．そこで反復回数を測定して，これを収束速度とみなす．
(ii) の共通度として Jaccard 係数すなわち，2 つの集合に含まれる要素の和集合に対する共通の要素の割合を用いる．

3. 評価実験
3.1. データ概要
評価実験として，あるスーパーマーケットの ID-POS
データを利用する．対象データの概要を以下に示す.
・分析対象期間 2015 年 1 月 1 日〜2015 年 12 月 31 日
・会員数 134,058
・商品カテゴリ数 26(ex. “野菜”，“果物”，...)
・年間売上件数 62,975,264 件

3.2.

実験の流れ

実験結果

2 通りの初期値における各回の EM アルゴリズムの反復回数を表 1 に示す．
表 1: 2 通りの初期値における反復回数の比較 [回]
試行回
12
3
45

乱数
414
974
327254410

提案手法
163687222
216
167

P (x|z)1
P (x|z)2
P (x|z)3P (x|z)4
P (x|z) 平均
P (y|z)1
P (y|z)2
P (y|z)3
P (y|z)4
P (y|z) 平均

試行回
67
8
910
平均

乱数
424
220
295
347
479
414.4

提案手法
312273
191
160
164
255.5

乱数 (A)
0.21550.21110.13020.16620.18070.50950.31980.31070.29440.3586

本研究の方法 (B)
0.78140.35480.53690.59350.5666
0.68810.51490.58520.72060.6272

差分 (B − A)
0.56600.14370.40670.42730.38590.1786
0.19510.27450.42630.2686

表 2 より，2 通りの初期値における Jaccard 係数の差がすべて正であり，提案した初期値で実行した pLSAの解のほうが高いことが分かる．これらの結果から，本研究で作成した初期値で pLSA を実行すると，乱数で発生させた初期値で pLSA を実行した場合と比べて反復回数が削減でき，最終的な解も安定すると言える．

4.

本研究では，行を「会員番号」，列を「商品カテゴリ」，要素を「購入数」とした共起行列を作成し，この共起行列を基に，提案手法の初期値を作成する．また，以下の 2 通りで設定した初期値を用い，pLSA を 10 回実行する．なお，潜在クラス数は 4 とした．
1. 実行する毎に初期値を全て乱数で発生させる．
2. 提案手法で作成した初期値を利用して，初期値を一部固定し，他の初期値を乱数で発生させる．
これらの結果を基に提案手法の性能の評価・比較を行う．

3.3.

表 1 から，乱数で初期値を発生させた際の反復回数と，提案手法の反復回数を比較すると，提案手法の方が乱数での初期値設定時より，4 割程度削減できていることが分かる．
次に，2 通りの初期値における P (x | z) , P (y | z) の各クラスタの Jaccard 係数と，初期値を乱数で発生させた際の Jaccard 係数から作成した初期値を利用した際のJaccard 係数を引いた値を表 2 に示す．本研究では 10回の結果に対して Jaccard 係数を用いるため，積集合を 1〜10 回目のすべての組合せ 45 通りの共通要素数の合計，和集合を 1〜10 回目のすべての組合せ 45 通りで出現する要素とする．これを各クラスタについて行い，それらの平均を Jaccard 係数とする．2 通りの初期値で実行した pLSA の結果に対して Jaccard 係数を算出して比較する．また，上位の要素数を P (x | z) , P (y | z)のそれぞれについて，100 個と 5 個とする．
表 2: 2 通りの初期値における Jaccard 係数の比較

まとめと今後の課題

本研究では，pLSA に内在する初期値依存性の問題に対して，既存手法よりも効率的に初期値を設定する手法を提案した．さらに，提案した方法で作成した初期値と，従来の乱数で発生させた初期値で pLSA の性能を評価・比較を行った．比較の結果，提案手法で作成した初期値による pLSA の解の方が性能が優れていることが示された．しかし，本研究では初期値作成の段階で k-means 法を利用していることから，pLSA の解が k-means 法で利用する初期値に依存する可能性があるため，初期値作成の際に距離が近い要素をまとめる手法を検討する必要がある．

参考文献[1] 内山俊郎：“情報理論的クラスタリングを用いた確率的潜在意味解析の性能向上”，電子情報通信学会
論文誌 D, Vol. J100-D, No. 3, pp.419–426 (2017)[2] 野守耕爾，神津友武：“三位一体アプローチによるテキストデータモデリング法の開発-宿泊施設の口コミデータを用いた評価推論モデルの構築-”，人工知能学会全国大会論文集 (第 28 回)，JSAI2014，
1L2OS17a1 (2014)