機械学習スタートアップシリーズ – ベイズ推論による機械学習入門 読書メモ

機械学習技術 人工知能技術 デジタルトランスフォーメーション技術 確率的生成モデル ベイズ推論による機械学習 スモールデータ 本ブログのナビ
サマリー

ベイズ推定は、確率論的な視点からデータの解釈やモデルの学習を行う統計的な手法の一つとなる。ベイズ推定を用いた機械学習では、事前知識や経験をモデルに組み込み、データを通じてその知識を更新していくことが特徴で、データが少ない場合やモデルに不確実性がある場合に特に有効であり、過学習を抑制し、統計的な推定の不確実性を考慮することができるものとなる。ここではこのベイズ推定に関して、機械学習プロフェッショナルシリーズ「ベイズ推論による機械学習入門」をベースに述べる。

ベイズ推定を行う具体的な手順は(1)事前知識や経験を確率分布として表現したモデルの事前分布の設定、(2)データがモデルに従って生成される確率(データの尤度)の設定、(3)データを観測した後のモデルの事後分布のベイズの定理による計算、(4)事後分布を用いたパラメータや予測値の推定、(5)推定結果を評価したモデルの修正や改善となる。

機械学習スタートアップシリーズ – ベイズ推論による機械学習入門 読書メモ

最短経路で平易に理解できる、今までにない入門書!ベイズ主義機械学習(ベイズ学習)の基本原理にのっとり、「モデルの構築→推論の導出」という一貫した手順でアルゴリズムの作り方を解説。どこまでも分かりやすい!」

第1章 機械学習とベイズ学習

1.1 機械学習とは

機械学習の定義1
機械学習とは、人工知能における研究課題の一つ
人間が自然に行なっている学習能力と同様の機能を コンピューターで実現しようとする技術・手法
機械学習の定義2
機械学習とは、データに潜む規則や構造を抽出することにより
未知の現象に対する予測やそれに基づく判断を行うための計算技術の総称

1.2 機械学習の代表的なタスク

1.2.1 回帰 (regression)

あるM次元の入力x∈ℝMから 連続値の出力y∈ℝを予測するための関数y=f(x)を データから求めるタスク
線型回帰(linear regression)の式
Wを学習
ε:ノイズ
1次元(M=1)3次元(M=3)の回帰モデル
1次元
3次元
多項式回帰(polynominal regression)
多項式などを使ったデータの変換

1.2.2 分類 (classification)

出力yを(連続値ではなく)有限個のシンボルに限定したモデル
2クラスの分類
出力値をyn ∈ {0, 1}
Ynが1を取る確率を𝝁n ∈ (0, 1)
M次元の入力値xn およびパラメータwから 𝝁nを表現すると
関数fの例:シグモイド関数(sigmoid function)
シグモイド関数の形
シグモイド関数を使うことで 実数値WTxnがどんな値になっても 𝝁nを(0,1)に収めることができる
観測値がyn=0となるかyn=1となるかは𝝁nの値によって確率的に決まる
ロジスティック回帰(logistic regression) による2クラス分類
シグモイド関数を用いた2クラスの分類モデル
複数クラスの分類
複数クラスに関しても容易に拡張可能
シグモイド関数の代わりにa∈ℝKを入力とする 「ソフトマックス関数(softmax function)」を使って、 K個のクラスに分類可能
最適化アルゴリズムを利用した多クラス ロジスティック回帰アルゴリズムの学習法

1.2.3 クラスタリング (clustering)

与えられたN個のデータを何かしらの基準に従ってK個の集合に分けるタスク
例:200個の2次元データをK=3とした ガウス金剛モデルを使ったクラスタリング
複数の異なる傾向を持つデータをモデリングするために使う

1.2.4 次元削減 (Linear dimensionality reduction)

行列で表されるデータY∈ℝDxNを、 行列W∈ℝMxDおよび行列X∈ℝMxNを使って近似するタスク
行列分解のイメージ
Irisデータ(4次元)を次元削減により2次元、3次元に写像した例

1.2.5 その他の代表的なタスク

与えられた信号の系列を統計モデルに基づき分離するタスク
ECサイトの商品のレコメンデーション
一般的なログデータの欠損値の補間
自然言語処理
シミュレーション(仮想データの生成)
ある学習されたモデルの一部のパラメータを人手で操作することにより、その操作に対するシステムの挙動を探るタスク
画像から学習されたモデルから人工的に新しい画像を生成

1.3 機械学習の2つのアプローチ

1.3.1 ツールボックスとしての機械学習

既存の様々な予測アルゴリズムに対してデータを与え、 その中から何らかの基準に従ってよいアルゴリズムを選ぶ
入力データと出力データ(正解ラベル)のペアを 訓練データとして予測のための関数を学習する
最も単純な予測アルゴリズム
最近接法(nearest neighbor)
単純に過去のデータに最も近い入力データを検索し、 そのデータに対応するラベル(出力値)を予測結果とする
その他の予測アルゴリズム
サポートベクターマシン (support vector machine)
ブースティング(boosting)
ランダムフォレスト (random forest)
多くの場合は上図のような特徴量抽出 (feature extraction)と呼ばれるプロセスを 前段階に置くことで個々のタスクに対する性能向上を目指す
多項式関数やフーリエ変換などの固定の変換が用いられる
次元削減なども用いられる
ツールボックスアプローチの特徴
利点
高度な数学の知識がなくても多少のプログラミング技術があれば機械学習システムを構築可能
比較的簡単なチューニングによって所望の結果が得られることがある
欠点
異なる構築構想を持った多くのアルゴリズムの動作原理を理解する必要がある
精度や適用できる領域が限られる

1.3.2 モデリングとしての機械学習

データに関するモデル(仮説)を事前に構築し、 モデルの含むパラメータや構造をデータから学習することで、 何かしらの有益な予測や判断を行う
代表的なモデルや応用例
自然言語におけるトピックモデル (topic model)
文書が複数の潜在的な(観測することのできない)トピック あるいはテーマを持っていると仮定
トピックに応じて文書中の潜在的な単語が出現しているというモデル
ニュース記事やウェブ記事が対象
時系列モデル(time seriesmodel) あるいは状態空間モデル(state-spacemodel)
隠れマルコフモデル (hidden Markov model HMM)
データの離散的な変化をモデル化する
線形動的システム (linear dynamic system)
状態の連続的な変化のモデリング
カルマンフィルタ (Kalman filter)
動的線形システムによって導かれる推論アルゴリズム
「つながり」のデータを技術するためのモデル
確率的ブロックモデル (stochastic block model)
ソーシャルネットワークかのつながりのデータからコミュニティを発見
それらに基づいて新しい友達を推薦する
深層学習(deep learning)モデル
人間の脳における階層的な情報処理を部分的にモデル化
音声認識や画像処理のタスクで高精度を示している
解きたい課題や解析したい状態に応じて数理的にモデルを拡張したり組み合わせたりする「デザイン」が必要
確率モデリングとベイズ推論によるアプローチ
アルゴリズムの開発プロセスが「モデル構築x推論計算」として明確に切り分けられるのが特徴
ツールボックスのアプローチに比べて精度と城南性に優れている
データの欠損補間や、他のモデルや種類の異なるデータを同号できる
システムの不確実性をうまく表現できる
特性がよく知られている各種の確率分布(ガウス分布や多項分布等)をブロックのように組み合わせることができる
欠点
ある程度の数学的知識が必要
計算時間やメモリコストがかかる

1.4 確率の基本計算

1.4.1 確率分布

各要素が連続値であるような M次元ベクトルx=(X1,…,xM)T ∈ ℝMに関する関数p(x)
p(x)を確率密度関数(probability density function)と呼ぶ条件
例:M=1次元のガウス分布 (Gaussian distribution) あるいは正規分布(normal distribution) に対する確率分布
各要素が離散値であるような M次元ベクトルx=(X1,…,xM)T ∈ ℝMに関する関数p(x)
p(x)を確率質量関数 (probability mass function)と呼ぶ条件
例:コインを投げる思考を表現することで知られる ベルヌーイ分布(Bernoulli distribution)

1.4.2 確率分布の推論

ある2つの変数xとyに対する確率分布p(x,y)
一方の変数を積分により除去する操作:
結果として得られる確率分布: 周辺分布(marginal distribution)

同時分布p(x,y)において、 yに対して特定の値が決められた時の xの確率分布
ベイズの定理の前提
ベイズの定理
原因xから結果yが得られる確率p(y|x)から、 結果yが得られた時の原因xの確率p(x|y)を逆算するような手続き

同時分布の独立性
Yが条件として与えられようがいまいがxの確率分布は変わらない

1.4.3 赤玉白玉問題

前提条件
袋を選ぶ確率
aを選ぶ確率p(x=a)=1/2
bを選ぶ確率p(x=b)=1/2
玉が出る確率
取り出された玉が赤である確率y=r
取り出された弾が白である確率y=w
袋aが選ばれたことがわかると 条件付き確率としては
p(y=r|x=a)=2/3
p(y=w|x=a)=1/3
袋bが選ばれたことがわかると 条件付き確率としては
p(y=r|x=b)=1/4
p(y=w|x=b)=3/4
選ばれた袋がaで、 かつ赤玉が出る確率
p(x=a,y=r)=p(y=r|x=a)p(x=a) =2/3×1/2 =1/3
選ばれた袋がbで、 かつ赤玉が出る確率
p(x=b,y=r)=p(y=r|x=b)p(x=b) =1/4×1/2 =1/8
選ばれた袋にかかわらず、 取り出された玉が赤玉である確率

xのとりうるすべての値に対して和をとる
p(y=r)=1/3+1/8=11/24
取り出された玉が赤であることがわかった場合、 選ばれた袋がaである確率は?
p(x=a|y=r)
p(x=a|y=r)=p(x=a,y=r)/p(y=r)
1/3*24/11=8/11
取り出された玉が赤であることがわかった場合、 選ばれた袋がbである確率は?
1-8/11=3/11

1.4.4 観測データが複数ある場合

どちらかの袋を選ぶ
参加者は玉を取り出したら、 元に戻す(復元抽出)
3人の参加者がくじ引きをして出た結果
{y1, y2, y3} = {r, r, w}
選ばれた袋xがaかbかどちらか?
p(x|y1=r, y2=r, y3=w)
p(x=a|y1=r, y2=r, y3=w)=256/337
p(x=b|y1=r, y2=r, y3=w)=81/337
{y1,y2,y3,y4,y5,y6,y7,y8}={r,r,w,w,r,r,w,r}のとき
p(x=a|y1,…y8)=0.9221
50回の試行で赤玉が29個、白玉が21個観測された時
p(x=a|y1,…,y50)=0.9999

1.4.5 逐次推論 (sequential inference)

複数の独立なデータに関して成り立つ重要な性質
1個の観測値y1が得られたとする
事後分布はベイズの定理を使った後分母を無視することで上式となる
データy1を観測したことにより事後分布p(x|y1)に更新されることを意味する
さらにデータが2個[y1,y2]得られた場合
事後分布は上式となる
2行目を見るとp(x|y1)がある種の事前分布であると考えると
データy1を観測した後に、データy2をさらに観測して事後分布を更新したものと見れる
一般的な形として、観測値Y=[y1,…,yN]の それぞれが独立である場合は上式と書ける
N番目のデータを受け取った後の事後分布は N-1個のデータを使って学習された事後分布を用いて上式と表せる
以前に得られた事後分布を 次の推論のための事前分布として 使うような学習方法が実現できる

1.4.6 パラメータが未知である場合

課題提起
くじの主催者が1/2の確率で袋を選ぶかどうかは信頼できない
赤玉、白玉の比率も2/3,1/4と事前に正確には知ることができない
そもそも袋は2種類なのか?
赤玉、白玉以外の玉は出ないのか?
玉が取り出される比率のパラメータが未知で、 いくつか玉を取り出すことでそのパラメータに関する推測を行う
赤玉と白玉が複数個入った1つの袋があり、 そこから球を取り出して色を確認し袋に戻す試行を N回繰り返す
前提条件
赤玉と白玉の未知の比率𝛉∈(0,1)に関して確率分布p(𝛉)を考える
確率的な推論だけを用いてデータから𝛉に関する知見を得る
観測データをY={y1,…yN}とする
確率分布
p(yn|θ)は,各データ点ynがθの値で決定される確率分布によって生じている
p(θ)はパラメータに関する事前分布であり,θがとりうる値に対する何らかの事前知識を反映するもの
θ=2/3やθ=1/4というような固定値を与えることも立派な事前知識
𝛉のとりそうな値をデータYを観測することで推論する
データYの観測を通して事前の知識p(θ)が新たに更新されたもの

1.5 グラフィカルモデル (Graphical model)

はじめに
確率モデル上に存在する複数の変数の関係性をノードと矢印を使って表現する記法
さまざまな確率モデルを視覚的に表現できる
モデル上の変数間の独立性の判定などは手計算を使うよりもグラフ上で考察したほうが便利
DAG(directedacyclicgraph)と呼ばれるループ構造をもたない有向グラフ(矢印付きのグラフ)による表現を説明

1.5.1 有向グラフ

赤玉白玉問題のグラフィカルモデル
p(x,y)=p(x|y)p(y)
複雑なグラフィカルモデル

変数がN個ある場合
グラフィカルモデルはマルチタスク学習(multi-task learning)を考えるのに便利なツール
マルチタスク学習とは, 複数の関連するタスクを同時に解くことによって, 個々のタスクの予測精度を向上させようというアイデア

1.5.2 ノードの条件付け

head-to-tailモデル
p(x,y,z)=p(x)p(y|x)p(z|y)
yだけが観測された時
p(x,z|y)=p(x,y,z)/p(y) =p(x)p(y|x)p(z|y)/p(y) =p(x|y)p(z|y)
条件付き独立性(conditionalindependence)
Yの値が観測値として与えられていれば, xとzは互いの値の出方に関しては無関係になる
tail-to-tailモデル
p(x,y,z)=p(x|y)p(z|y)p(y)
Yだけが観測された時
p(x,z|y)=p(x,y,z)/p(y) =p(x|y)p(z|y)p(y)/p(y) =p(x|y)p(z|y)
head-to-headモデル
上述の2つの例と違って2つの独立な確率分布に分解することが出ない
ノードyが観測されることによって依存関係を持ってしまう
p(x,z|y)=p(x,y,z)/p(y) =p(y|x,z)p(x)p(z)/p(y)

1.5.3 マルコフブランケット (Markov blanket)

マルコフブランケット
xの共同親(co-parent)の関係:cとd
サンプリングアルゴリズムを考える際に有効

1.6 ベイズ学習のアプローチ

1.6.1 モデルの構築と推論

1 モデルの構築
観測データDと観測されていない未知の変数Xに関して、 同時分布p(D,X)を構築する
2 推論の導出
事後分布p(X|D)=p(D,X)/p(D)を 解析的または近似的に求める
分母の項p(D):モデルエビデンス (model evidence)
周辺尤度 (marginal likehood)

1.6.2 各タスクにおけるベイズ推論

線型回帰と分類
モデル
X={x1,…,xN}:入力値(観測値)
Y={y1,…,yN}:出力値(観測値)
W:未知のベクトル(各点xnからynを予測するための)

予測分布
入力xnが与えられた条件付き分布p(yn|xn,W)を直接モデル化する
クラスタリング
モデル
S=[s1,…,sN]:クラスタの割り当て方(未観測のデータ:隠れ変数(hidden variable))
X:観測データ
𝚯={θ1,…,θk}:それぞれのクラスタごとの中心位置

線形次元削減
モデル
Wが行列になっている以外はクラスタリングのモデルと同様

1.6.3 複雑な事後分布に対する近似

解析的な事後分布を得ることはできない
ある確率モデルp(D,X)に対して事後分布p(X|D)を得たいとき 比較的シンプルなモデルでは,
事後分布はガウス分布やベルヌーイ分布のように 特性のよく知られた単純な確率分布に帰着できる
解析的に計算できない未知の確率分布p(X|)を「知る」ための手段として, サンプリング(sampling)と呼ばれる手法がある
これは,計算機を使ってこの分布からサンプルX(i)~p(X|)を大量に得ることによって 事後分布p(X|)の平均値や散らばり具合などを調べたり, あるいは単純に得られたサンプル点を可視化するなどして 分布の傾向を探ろうとするもの
ベイズ推論の分野でのサンプリング手法
ギブスサンプリング(Gibbssampling)
ハミルトニアンモンテカルロ (HamiltonianMonteCarlo)
逐次モンテカルロ(sequentialMonteCarlo)
もう1つのアプローチは,計算のしやすい簡単な式を使って 周辺化計算を近似的に実行する方法
事後分布p(X|)の計算に伴う困難な積分を, 解析計算が可能な簡単な関数を部分的に使うことによって近似的に実現したり,
事後分布自体を直接p(X|)≈q(X)のように, より手ごろに扱える近似確率分布q(X)を提案することによって表現する手法
具体的な手法
ラプラス近似(Laplaceapproximation)
変分推論(variationalinference)
期待値伝播(expectationpropagation)

1.6.4 不確実性に基づく意思決定

確率推論はあくまで対象となる現象の不確実性(uncertainty)を定量的に表す手段として使われる
推論の結果自体が何かしらの意思決定(decisionmaking)を行っているわけではなく, 両者をしっかり別のプロセスとして区別する必要がある

明日の天気の確率が得られた時p(y=晴れ)=0.8, p(y=雨)=0.2の確率となった時
損失関数(loss function)を考える
LA(y=晴れ、x=傘なし)=0, LA(y=雨、x=傘なし)=100, LA(y=晴れ、x=傘あり)=10, LA(y=晴れ、x=傘あり)=15
期待値を計算
傘なし
傘あり
傘ありが期待損失が少ない
なるべく多くの情報や知見を使うことによって正しく不確実性p(y)を見積もり, さらに状況に合わせた損失関数L(y,x)を考えることによって, より論理的に行動xを決定することができる
強化学習(reinforcementlearning)と呼ばれる機械学習の分野において 不確実性の表現は非常に重要な役割をもつ
ベイズ最適化(Bayesianoptimization)と呼ばれる手法も 不確実性をうまく取り扱ったベイズ学習の応用の1つ

1.6.5 ベイズ学習の利点と欠点

利点
1.さまざまな問題が一貫性をもって解ける
2.対象の不確実性を定量的に取り扱うことができる
予測ができないモデルは「予測できません」と示せる
期待値が計算できる
3.利用可能な知識を自然に取り入れることができる
事前分布の設定により前提条件を明らかにできる
複数のモデルを組み合わせれる
次元削減+クラスタリング
ベルヌーイ分布+ガウス分布
ベルヌーイ分布+カテゴリ分布
隠れマルコフモデル
深層学習モデル
4.過剰適合しにくい
最尤法(maximum likelihood estimation)や誤差関数最大化に基づく最適化アルゴリズムでは過剰適合(overfitting)する
データ数に対してパラメータ数が多い場合に起きる
ベイズ学習では過剰適合は起きないためデータ数が少ない場合や、データの種類のかず(次元数)が多い場合に威力を発揮する
欠点
1.数理的な知識を要する
2.計算コストがかかる

第2章 基本的な確率分布

2.1 期待値 (expectation)

2.1.1 期待値の定義

ベクトルとした時、確率分布p(x)に対して、 ある関数f(x)の期待値<f(x)>p(x)は上式のように計算される
xは積分により除去されるので、xの関数ではなくなる
期待値は線型性が成り立つ

2.1.2 基本的な期待値

ある確率分布p(x)に対するx自身の期待値

ベクトルxを掛け合わせた期待値
分散(variance)
分散の変形
2種類状の異なる変数に対する期待値
x,yが独立の場合の期待値(別々に計算できる)
x,yが独立でない場合、 条件付き分布を使って内側から順番に期待値を計算する
条件付き期待値(conditional expectation)
積分計算によりxは除去されてyの関数になる

2.1.3 エントロピー (Entropy)

確率分布p(x)に対する期待値をエントロピー(entropy)と呼ぶ
エントロピーは確率分布の「乱雑さ」を表す指標となる
例1
p(x=1)=1/3, p(x=0)=2/3のような離散分布
エントロピーの計算
例2
分布q(x=1)=q(x=0)=1/2
エントロピーの計算
例1よりエントロピーが大きい
確率分布から生じる変数の「予測のしにくさ」を表す

2.1.4 KLダイバージェンス Kullback-Leibler divergence)

2つの確率分布p(x)とq(x)に対する期待値を KLダイバージェンス(Kullback-Leibler divergence)と呼ぶ
2つの確率分布の距離を表す
一般的な距離の公理は満たしていないことに注意

2.1.5 サンプリングによる期待値の近似計算

ある確率分布p(x)とf(x)に対して、 期待値計算が解析的にできない場合、 p(x)からサンプルを得て上式のように 近似値を得ることができる

p(x=1)=1/3, p(x=0)=2/3のような離散分布
X=1となる事象が3回、x=0となる事象が7回観測される
エントロピーの近似的な計算は上式となる
例:エントロピーのサンプルによる近似
サンプルを増やせば増やすほど近似解は厳密解に近づく

2.2 離散確率分布

2.2.1 ベルヌーイ分布 (Bernoulli distribution)

最も単純な離散の確率分布
2値をとる変数x∈[0,1]を生成するための確率分布(上式)
1個のパラメータ𝛍∈(0,1)によって分布の性質が決まる
コインの表裏やくじ引きの当たり外れのように、 同時には怒らない2つの減少を表現するために使われる

𝛍が0.5の時のサンプル{1,0,0,1,1,0,1,0,0,1,0,0,1,1,1,0,1,0,1,1,}
𝛍が0.9の時のサンプル{1,0,1,1,1,1,1,1,0,1,1,1,1,0,1,1,1,1,1,1,1}
期待値
<x>=𝛍
<x2>=𝛍
エントロピー

グラフ
KLダイバージェンス

2.2.2 二項分布 (Binomial distribution)

ベルヌーイの試行をM回繰り返す
ここで
ある特定の、表がM回中m回出るような事象の確率はμm(1-μ)M-mだが
同じく回数がmになるような事象が全部でMCm通り存在するので上式のような式になる
ベルヌーイ分布をM回掛け算したものとは異なることに注意
パラメータM,mを固定した時の分布
二項分布の期待値

2.2.3 カテゴリ分布 (Categorical distribution)

ベルヌーイ分布をK次元に拡張したもの
上式で定義されるs上の確率分布を カテゴリカル分布(categorical distribution)と呼ぶ
SをK次元ベクトルとして表現
サイコロならば、5の出目はs=(0,0,0,0,1,0)T
π=(π1,…,πk)Tは分布を決めるK次元のパラメータ πk∈{0,1}かつ∑k=1Kπk=1を満たす
K=6として𝛑K=1/6とすれば、一様な6面のサイコロの出目
K=2とすればベルヌーイ分布
期待値計算(ベルヌーイと同様)
エントロピーの計算

2.2.4 多項分布 (Multinomial distribution)

ベルヌーイ分布、二項分布、カテゴリカル分布は全て多項分布(multinomial distribution)の特殊な場合
カテゴリ分布における試行をM回繰り返した後のk番目の事象に関する出現回数mkの分布を考える

Mはk次元ベクトル
mkがk番目の事象が出た回数
パラメータπとmを変えた時の分布例
期待値
各種離散分布の関係

2.2.5 ポアソン分布

非負の整数xを生成するための確率分布
対数表示
とりうる値の上限が与えられている二項分布と異なり、 どんなに大きな値になっても値に関しても確率は完全にはゼロにならない
異なるパラメータの時の分布
期待値

2.3 連続確率分布

2.3.1 ベータ分布 (Beta distribution)

𝛍∈(0,1)となるような変数を生成してくれる確率分布
CB(alb):正規化を保証する係数
Γ(・):ガンマ関数(gamma function)
パラメータを変えた時のベータ分布
ベータ関数の対数表現
期待値
Ψ(・):ディガンマ関数(digamma function)
エントロピー
ベルヌーイ分布、二項分布の共役事前分布

2.3.2 ディリクレ分布 (Dirichlet distribution)

ベータ分布を多次元に拡張したもの
正規化項
ディリクレ分布
ディリクレ分布の対数表現
期待値
エントロピー
2つの異なるディリクレ分布のKLダイバージェンス
カテゴリ分布および多項分布の共役事前分布

2.3.3 ガンマ分布 (Gamma distribution)

正の実数𝝺∈ℝ+を生成してくれる確率分布
正規化項
ガンマ分布
ガンマ関数の対数表現
期待値
エントロピー
2つのガンマ分布間のKLダイバージェンス
ガンマ分布は,ポアソン分布のパラメータλに対する共役事前分布であり, さらに次に紹介する1次元ガウス分布の精度パラメータ(分散の逆数)に対する 共役事前分布にもなっている

2.3.4 1次元ガウス分 (Gaussian distribution)

確率密度
一次元ガウス分布
ガウス分布の対数表現
期待値
エントロピー
2つの異なるガウス分布間のKLダイバージェンス

2.3.5 多次元ガウス分布 (Multivariate Gaussian distribution)

1次元ガウス分布をより一般的なD次元に拡張したもの
多次元ガウス分布
多次元ガウス分布の対数表示
異なる次元間の相関を行列Σの非対角成分で表現する
次元間が独立した過程の場合のΣ
独立した場合の対数表示
期待値
エントロピー
式の変形
Dについて
KLダイバージェンス
式の変形

2.3.6 ウィシャート分布 (Wishart distribution)

DxDの正定値行列Aを生成してくれる確率分布
多次元ガウス分布の共分散行列の逆行列である精度行列 (precision matrix)を生成するための確率分布として使われる

𝛎:自由度(degree of freedom)パラメータ
ウィシャート分布の対数表現
ウィシャート分布の正規化項の対数表現
ウィシャート分布からのサンプル
ウィシャート分布はガンマ分布を行列に拡張(正の実数から正定値行列)した確率分布
期待値
エントロピー
ウィシャート行列は多次元ガウス分布の精度行列(共分散行列の逆数)に対する共役事前分布になる

第3章 ベイズ推論による学習と予測

3.1 学習と予測

はじめに
確率推論を用いたパラメータの学習と未観測の値の予測に関して説明

3.1.1 パラメータの事後分布

前提条件
訓練データ集合をDとした時の同時分布は上式となる
θ:モデルに含まれる未知のパラメータ
パラメータに関する事前の不確実性は、 事前分布p(θ)を設定することでモデルに反映される
特定のパラメータθからどのようにして データDが発生するのか記述しているのがp(D|θ)の項の役割
Θの関数としてみた場合
データDを観測した後のパラメータの不確実性を ベイズの定理を用いて表と上式になる
条件付き分布p(𝛳|D)を計算することが、ベイズ学習での「学習」に当たる
事後確率p(𝛳|D)はp(𝛳)と比べて、 尤度関数p(D|θ)を通すことで、 より観測データDに関する特徴を持つ

3.1.2 予測分布

観測されたパラメータの分布を使って、 未観測のデータx*に対しての何らかの知見を得たい
上式の予測分布(predictive distribution)を 計算することで実現
p(𝛳|D)で表現される様々な𝛳の重みについて モデルp(x*|𝛳)を平均化するイメージ
上式を意味するグラフィカルモデル
データDも未知の値x*もパラメータθによって発生過程が支配される
Dとx*の間には直接的な依存関係は仮定していない
対応する同時分布は上式となる
データDだけが手元にあるとすれば、 残りの変数の事後分布は上式となる
Θを積分除去することで上式の予測分布が得られる
データDを全く観測していなくても計算可能
データを観測する前の同時分布からパラメータを積分表示し、x*の周辺分布を求める
事前知識p(θ)だけを頼りにした非常に大雑把な予測
予測のまとめ
上式を使って表されるモデルを使ってx*を予測するために
はじめに上式を使ってパラメータの事後分布を学習する
一度データD自体は捨てる
得られた事後分布から上式を用いて積分計算をして、 x*に関する予測分布を求める
データDの情報を全て事後分布p(θ|D)に閉じ込める
データDに合わせて予測モデルの表現能力を柔軟に変える確率モデル
ベイジアンノンパラメトリクス (Bayesian nonparametric)
パラメータが与えられた元で条件付き独立であるとの仮定
例:データ間に時系列的な依存関係を仮定した場合

3.1.3 共役事前分布 (Conjugate prior)

事後分布や予測分布を効率的に計算するための方法として、共役事前分布を使うアイデアがある
事前分布p(𝛳)と事後分布(𝛳|D)が 同じ種類の確率分布を持つように設定された事前分布
どのような事前分布が共役になりうるか?

尤度関数がポアソン分布によって記述されている場合、
事前分布として共役事前分布であるガンマ分布を設定すれば、 事後分布もガンマ分布になる
尤度関数、協約事前分布、予測分布の関係
ガウス分布のようなパラメータを2つ持つような分布は、 どのパラメータを学習させた以下により、共役事前分布が異なる
データセットを小分けにした逐次学習のフレームワークを構築する際に 共役性が重要な役割を果たす
はじめのデータセットD1を観測した後の事後分布
さらに新規のデータセットを観測した後の事後分布
共役事前分布を使うとp(θ),p(θ|D1)およびp(θ|D1,D2)が全て同じ形式になる
解析的な事後分布の計算ができない近似手法を使った場合にも、 計算効率が高くなる

3.1.4 共役でない事前分布の説明

例:ガウシアン分布の平均パラメータに対して 共役でないガンマ分布を仮定した場合、 事後分布はガンマ分布にならない
アプローチの方法
MCMC(Markov chain Monte Carlo)
変分推論(variational inference)
事後分布p(θ|D)を変分パラメータ(variational parameter)ηを使った 何かしらの分布q(θ;𝜂)で近似的に表現できると仮定
上式のような最小化を試みる
勾配法(gradient method)で解く
課題
最適化のための計算コストがかかる
近似解がどれほどうまく事後分布を近似できているかは把握できない
ガウス分布を尤度関数とし、 平均パラメータの事前分布に共役でない ガンマ分布を使って事後分布を近似した例
真の事後分布は観世には再現できないが、 KLダイバージェンスの基準による大まかな近似は得られる

3.2 離散確率分布の学習と予測

はじめに
各種の離散確率分布を例に、 パラメータの事後分布や予測分布を解析的に計算する方法を解説

3.2.1 ベルヌーイ分布の学習と予測

2値をとる値x∈{0,1}上の確率分布であるベルヌーイ分布(上式)を考える
コイントスや赤玉白玉を取り出す試行など、 2値をとる離散の事象を表現するために用いられる分布
パラメータμは一方の事象がどれだけ出やすいかをコントロールしているパラメータ
𝛍の分布を訓練データから推論する方法を考える
ベイズ学習では不確実性を持つ値は全て確率変数として取り扱う
ベルヌーイ分布のパラメータの用件μ∈(0,1)を 満たすような値を生成してくれる確率分布(ベータ分布)
aやbは事前分布p(μ)をコントロールするためのパラメータ
事前分布p(𝛍) = Beta(𝛍|a,b)
a, bは事前分布p(𝛍)をコントロールするためのパラメータ
a,b:パラメータのためのパラメータ(超パラメータ(hyperparameter)
N個のデータ点X={x1,…,xn}を観測した後の事後分布
この式のままでは、p(μ|X)がどのような形になるかはわからない
p(μ|X)の分布形状を明らかにするにはμに関わる項のみに注目すれば十分
分母のp(x)は3行目で省略する
上式の対数をとって計算する
一行目でN個の掛け算の部分が対数をとることでN個の和に変換される
2行目ではp(xn|μ)とp(μ)の展開をするために、具体的な確率分布の定義を代入する
μに無関係な項は全てconstに吸収させる
最後の行はμに関する2つの項 lnμ, ln(1-μ)に関して整理する
ベータ分布の対数表現で表される
ベルヌーイ分布とベータ分布を使ったパラメータの学習モデルでは、 事後分布は解析的に計算でき、事前分布と同じ形式を持つ
ベータ分布は今まで何回コインの表と裏が出たかを記憶しておく役目を持つ
メモ:経験ベイズ法
ベイズ学習では、単純に確率計算の式を使ってパラメータμに関する事後分布を求めるだけ
事後分布がベータ分布であることと、 そのパラメータaおよびbの具体的な値を確率論的に出しているだけ
aやbなどの超パラメータ自体を観測データに合わせて直接調整する
モデル選択の手法
ベイズ学習の仕組みでは、 事前分布の超パラメータは問題に関するドメイン知識 (パラメータのとりうる値の大まかなスケール感など)を、 反映した上で固定値として設定されるもの
いくつかのベータ事前分布に対して、 真のパラメータをμtruth=0.25とした ベルヌーイ分布から発生したデータ系列X={x1,…,xN}を 学習させて事後分布を求めた結果
N=0の場合は観測データが存在しないので、事前分布そのまま
どんな事前分布を設定してもNが増えていくと同じ形になっていく
解釈
証拠となるデータが少ないときは、 それぞれの予測者は地震の持つ信念(事前分布)に大きく影響を受ける
データの数が増えると、それぞれの意見は次第に一致を見る
未観測の値x*∈{0,1}に対する予測分布の計算を行う
簡単のために事前分布p(μ)を使った 大雑把な予測計算をまず計算する
パラメータμの周辺化をすると上式になる
最終的に予測分布の定義式は上式となる
ベータ分布の定義式より
x*=1としたとき
x*=0としたとき
上式の2つをまとめた予測分布
まだ何もデータを使って学習していない事前分布p(μ)を使った結果
例:a-1,b=1と設定して次に出る値の期待値は0.5になる
N個のデータXを観測した後の事後分布p(μ|X)も事前分布と同じベータ分布になる

3.2.2 カテゴリ分布の学習と予測

一般的なK個をとるカテゴリ分布に対するパラメータの学習を考える
カテゴリ分布の確率質量関数は上式となる
K次元の変数を生成できるディリクレ分布(上式)
実際に上式のモデルを使って事後分布を計算し、 ディリクレ分布がカテゴリ分布に対する 共役事前分布であることを計算で確認する
カテゴリ分布に従うとしたN個の離散値データS={s1,…,sN}が手元にあるとする
ベイズの定理を用いてπの事後分布を上式で表す
事後分布p(π|S)の正体は?
上式の式の対数
事後分布もディリクレ分布として上式で表される
予測分布の計算は?
パラメータπを周辺化することで予測分布が計算できる
ディリクレ分布の正規化項を使うと予測分布は上式のように表せる
ガンマ分布だらけの式になる
あるk’に対してs*,k’=1となる場合だけを特別に考えると上式となる
カテゴリ分布でまとめ直すと上式となる
同様に確からしいとは?

出目が同様に確からしいサイコロ
「無限大の信念を持ってサイコロの出目の確率が1/6である」という事前分布を仮定
カテゴリ分布の事前分布に対して、 ak=1010のような巨大な値を 各面k=1,…,6に仮定しているイメージ
実際の系ではここまで強い信念を持って議論を進められる問題は多くない
観測データの生成仮定に関して 当てはまりそうな知見に基づいて、 ざっくりでも良いのでパラメータの不確実性やモデルの構造を 事前に明記するのがベイズ学習のアプローチ

3.2.3 ポアソン分布の学習と予測

もう一つの離散分布に関するベイズ推論の例として、 ポアソン分布を使った事前分布と事後分布の計算を見る
ポソン分布は上式のような形でパラメータとしてλを持っている
上式のようなパラメータの不確かさを表現するためには、 正の実数値を生成してくれるような確率分布が必要になる
λの事前分布として上式のガンマ分布が使える
超パラメータaおよびbはあらかじめ固定されているとする
ガンマ分布はポアソン分布の共役事前分布になる
ポアソン分布に従ってイネと仮定した N個の非負の離散値X={x1,…,xN}を観測したとき、 事後分布は上式のように計算される
対数計算を行うことでλに関する関数形式を調べる
Lnλとλに注目して式を整理すれば、 事後分布はガンマ関数になる
予測分布を求める
未観測のデータx*に関する予測分布は上式となる
ポアソン分布やガンマ分布の 定義式を代入して上式に整理する
ガンマ分布の定義式より積分の部分の式を上式のように解析的に求める
最終的に求めたい予測式は上式となる
この確率分布はパラメータr∈ℝ+およびp∈{0,1}を持つ 負の二項分布(negative binomial distribution)となる
ただしパラメータrおよびpは上式となる
この分布の基本的な期待値は上式となる

3.3 1次元ガウス分布の学習と予測

3.3.1 平均が未知の場合

ガウス分布に従うと仮定しているN個のデータを用いて、 ガウス分布の平均値μ∈ℝのみを学習する場合
前提条件
精度パラメータλ(σ2の逆数)は固定であるとする
学習したい平均パラメータμのみに事前分布を設定する
ある観測値x∈ℝに対して、上式のようなガウス分布を考える
観測データに対するガウス分布
μに対して、 上式のようなガウス事前分布が 共役事前分布であることが知られている
m∈ℝおよびλμ∈ℝ+は固定された超パラメータ
平均パラメータに関するガウス分布
ガウス分布に従うと仮定しているN個の1次元連続値データX={x1,…,xN}を関したとする
ベイズの定理により事後分布は上式となる
この時点ではまだ事後分布p(μ|X)が どのような確率分布になるかわからない
対数を計算して、μに関する関数形式を調べる
μに関する(上に凸の)2次関数が出てくる
分布のパラメータ(平均、精度)明らかにする
結論から逆残する
事後分布が上式のような形式のガウス分布で書けるとする
対数をとり、μの2次と1次の項に関して整理する
2つの式をくらべて係数を求めると上式になる
事後分布は事前分布と同じガウス分布となる
事後分布の精度λ’は事前分布の精度λに対してNλだけ加えたものになる
事後分布の平均m’は、事前分布による知識mと観測データの和∑m=1Nxnの重み付き和のようになる
事前分布p(μ)を利用した未観測データx*に対する予測分布を見る
上式のような周辺分布を計算する
対数を使った計算を行う
求めたい予測分布p(x*)と事前分布p(μ)の間には 上式のような関係が成り立つ
対数をとってp(x*)に関して求めてみると、上式のようになる
ln p(μ)はx*とは無関係なので定数const.に入れる
Pμ|x*)はx*が与えられたときのμの条件付き分布となる
対数計算すると
予測分布は上式となる
予測分布の平均パラメータは事前分布の平均mそのもの
精度は上式のように逆数をとって分散として解釈する
予測分布の不確かさは、 観測分布と事前分布のそれぞれの不確かさを足し合わせたものになる
N個のデータを観測した後の予測分布p(x*|X)を求めたい場合は
λの分布も学習したい場合は、 ガンマ事前分布p(λ)をモデルに追加する必要がある

3.3.2 精度が未知の場合

1次元ガウス分布の平均μは何らかの理由ですでに知っているという前提で、 精度λののみをデータから学習するモデルを考える
前提条件
観測モデルは上式とする
λに関して上式のようなガンマ事前分布を与える
ガウス分布の精度パラメータに対する共役事前分布になることが知られている
ベイズの定理を使うことにより、λの事後分布は上式のように求められる
対数計算を行う、λに関する関数形を調べる
λとlnλにかかる係数部分に注目すると、 上式のようなガンマ分布になることがわかる
予測分布p(x*)を計算する
上式のような積分計算となる
対数のみを使って簡易的に計算する
ベイズの定理ょ使ってx*とλに関して上式のような関係が成り立つ
対数をとってp(λ)の項を無視するとp(x*)は上式となる
さらに計算すると上式となる
最終的に上式となる
スチューデントのt分布(Student’s tdistribution)(上式) と呼ばれる分布に対数をとったものになる
1次のスチューデントのt分布をプロットした例
スチューデントのt分布の対数をとって、 確率変数xに関わらない項をconst.とした式
2式を比較すると予測分布は上式で表される

3.3.3 平均・精度が未知の場合

平均と精度がともに未知であるケースを考える
前提条件
観測モデルを上式とする
M,β,aおよびbを固定パラメータとしたガウス・ガンマ分布(Gauss-gamma distributtion)(上式)を事前分布として仮定すると、同じ形の事後分布が得られる
平均パラメータμの精度が固定ではなく、βλに置き換わっている
事後分布における4つのパラメータm,β,aおよびbを求めることが目標となる
1次元ガウスモデル分布の学習モデル
平均未知のグラフィカルモデル
精度未知のグラフィカルモデル
平均精度未知のグラフィカルモデル
平均パラメータは精度パラメータに依存する
実際の事後分布の計算
まず平均値μにのみ注目する
事後分布のp(μ|λ,X)の部分は上式となる
残りのp(λ|X)を求める
同時分布を条件付き分布の積により上式と表す
続き
対数をとってλに関する関数形式を求めると上式となる
ガンマ分布の定義式を使ってまとめると上式となる
事前分布を使った予測分布の計算
上式のようにガウス分布と平均と精度の2つの変数を積分除去する必要がある
途中をちょっと端折って、予測分布の式上記となる (スチューデントのt分布を利用する)

3.4 多次元ガウス分布の学習と予測

はじめに
D次元の多次元ガウス分布を使ったパラメータの学習および新規データに対する予測を考える
多次元ガウス分布は応用上非常に重要
共分散行列Σにより、データの次元間にまたがるような相関を捉えることができるのが特徴
導出の流れは一次元ガウス分布と同様

3.4.1 平均が未知の場合

D次元の確率変数x∈ℝDの平均パラメータのみが未知で、精度行列Λ∈ℝは与えられているとして議論を行う
前提条件
観測条件は上記となる
精度行列Λは正定値行列として事前に設定する必要がある
ガウス分布の平均パラメータに対しては、 ガウス分布を事前分布として使って上式のように推論計算を設定する
固定された超パラメータm∈ℝDおよびΛμ∈ℝDxDを導入
N個のデータXを観測した後の事後分布は上式のようになる
対数をとりμに関して整理すると上式となる
D次元ベクトルμに関する上に凸の2時間数となる
μの事後分布はガウス分布であることがわかる
結果の事後分布を上式のようにおいて 事後分布のパラメータを計算する
対数をとってμについて整理すると上式となる
2つの式を比較して定数を求めると上式となる
観測されていないデータ点x*∈ℝDに 関する予測分布p(x*)を求める
ベイズの定理を使い、予測分布を対数の形で書く
式の変形
ここで
最終的なガウス分布は上式となる
パラメータは上式となる

3.4.2 精度が未知の場合

平均パラメータが吉として与えられており、 精度行列のみをデータから学習したい場合を考える
前提条件
観測モデルを上式とする
正定値行列である精度行列を生成するための確率分布は、 上式のようなウィシャート事前分布となる
W∈ℝDxDは正定値行列
γはγ >D-1を満たす実数値として事前に与える
ウィシャート分布が 多次元ガウス分布の精度行列に対する 共役事前分布であることを確認する
ベイズの定理を用いれば、データX=[x1,…,xN]を 観測した後の事後分布は上式の対数で表すことができる
具体的に、ガウス分布とウィシャート分布の対数に従って計算を進め、 Λに関する項のみを取り出すと上式になる
式を整理するために途中でトレースTr(・)に関する計算を行った
得られた確率分布は上式のようにパラメータをおいたウィシャート分布となる
予測分布の計算を行う
未観測のベクトルx*に関する予測分布p(x*)は ベイズの定理から上式のようになる
ここでp(Λ|x*)は事後分布の計算結果を流用して上式となる
この結果を代入すると、x*の多項式やトレースの部分は打ち消しあって上式となる
上式で示されるx∈ℝD上の 多次元版スチューデントのt分布(Student’s t distribution)になる
μs∈ℝD、正定値行列Λs∈ℝDxDおよびγs∈ℝはこの分布のパラメータ
この式の対数をとってxに関わる項のみで描き表せば上式となる
最終的に得られる予測分布は上式となる

3.4.3 平均・精度が未知の場合

平均・精度を学習したい場合について考える
前提条件
観測モデルを上式とする
多次元の場合は、 事前分布としてガウス・ウィシャート分布(Gaussian-Wishart distribution)を (上式)使うと事後分布も同じとなる
データXを観測した後の事後分布を求める
ベイズの定理を使って上式に表せる
ΜとΛの事後分布は条件付き分布によって上式のように分解できる
よってまずμの事後分布を求めて、その後でΛの事後分布を求める
p(μ|Λ,x)に関しては、精度行列をβΛとおくことにより上式となる
p(Λ|x)は、Λのみに着目して対数で整理すると上式となる
よって式を整理すると上式となる
ウィシャート分布の定義式と比較して、上式のように表せる
事前分布p(μ,𝜦)を使った予測分布の計算を行う
新しいデータx*∈ℝDに関する予測分布は上式となる
この式を対数計算を使って算出する
ベイズの定理により、予測分布p(x*)に対して上式のような式が成り立つ
2つ目の項は ガウス・ウィシャート事後分布の計算結果を穂使うと 上式となる
x*に関わる項のみで整理すると上式となる
スチューデントのt分布の対数表現と一致する
スチューデントのt分布の定義と対応させると上式となる

3.5 線形回帰の例

はじめに
共役事前分布を使った解析計算の例として、 線形回帰(libear regression)のモデルをガウス分布を使って構築し、 係数パラメータの学習および未観測データの予測を行う

3.5.1 モデルの構築

線形回帰モデルでは、 上式としてモデル化される
出力値yn∈ℝM、
入力値xn∈ℝM、
パラメータw∈ℝM、
ノイズ成分εn∈ℝ
平均ゼロのガウス分布(上式)に従う仮定
λ∈ℝ+は1次元ガウス分布の既知のパラメータ
ノイズの成分のガウス分布をモデルに入れ 上式のように確率分布を定式化する
パラメータwを観測データから学習したいので、 上式のような事前分布を設定する
m∈ℝMは平均パラメータ
正定値行列Λ∈ℝMxMは精度行列パラメータ
mや𝝠は超パラメータで事前に固定されている

m=4としてデータサンプルを入手する
入力ベクトルは(1,x,x2,x3)Tのような3次の多項式を仮定
Mをゼロベクトルとして𝝠=IMというように 具体的に値を設定すればwの値をサンプリングできる
いくつかサンプルされたwの値について 3次間数をプロットした結果
観測値ynに対する精度パラメータをプロットした結果
モデルを確認するために、 体的なパラメータをプロットすることは重要

3.5.2 事後分布と予測分布の計算

前節で構築した線形回帰モデルを使って、 データを観測した後の事後分布と予測分布を求める
事後分布はベイズモデルを使うことで上式で表される
上式について対数をとりwについて整理すると常識になる
Wの事後分布はガウス分布として書ける
新規入力値x*が与えられたときの 出力値y*の予測分布p(y*|x*,Y,X)を求める
新規の入力データベクトルx*と未知の出力値y*に関して、 ベイズの定理により上式が表される
これに対数をとり、求めたいlnp(y*|x*)に関して表すと上式となる
右辺の2つ目の項は上式となる
y*に関して整理すると上式となる
一次元のガウス分布としてまとめると上式となる

3.5.3 モデルの比較

導出した予測分布を使って、 正弦波を元にして作られたN=10個のデータ点を 次数の異なる多項式により学習させた結果
M=1やM=2ではモデルが単純すぎてうまく正弦波の特徴を捉えていない
M=4の時はうまく捉えている
M=10(訓練データとパラメータ数が同じ)では、実戦で表される平均が安定しなくなる
複数のモデルの余所を比較する
モデルの比較の方法は?
ベイズ推定では、周辺尤度(marginal likelihood)あるいはモデルエビデンス(model evidence)と呼ばれる値p(D)を複数のモデル間で比較することでモデル選択する
あるモデルに対するp(D)の値が、データDを生成する尤もらしさを表している
線形回帰モデルでは上式の分母にあたるp(Y|X)の値を比べれ場良い
変形すると上式となる
対数をとった周辺尤度は上式となる
訓練データ数をN=10として、 パラメータの次元Mに応じたlnp(X|Y)をプロットした結果
M=4の時が表現能力が最も良い
この結果はデータ数Nニヨッテ大きく変わる
モデルの表現能力と訓練データ数の関係性を示す例
前提条件
2次間数に正弦波を加えた真の関数を仮定
そこからノイズ成分の加わった観測データが生成されるような状況
異なる訓練データ数に対して1次関数回帰、 2次関数回帰、最近接法(nearest neighbor)で 曲線を学習する
観測データが増えるとフィッティングが異なってくる
訓練データとテストデータを分けて予測値の誤差を評価した結果
訓練データを増やしても精度が上がらなくなる
阿川ない場合は、より複雑なモデルを構築することで柔軟性を上げることが効果的
データの数が十分でない場合はなるべく表現能力を制限したモデルを使うことが適切になる場合が多い
最尤推定とMAP推定
ベイズ推定以外の学習方法について紹介
最尤推定(maximum likelihood estimation)
観測データXに対する尤度関数p(X|θ)を パラメータθの値に関して最大化することで 最も当てはまりの良い観測モデルを探索する方法
最尤推定では事前分布p(θ)は導入しない
過剰適合を起こす
Θを拡がりをもった分布ではなく点として探索を行う
最尤推定を使って混合モデルを学習することもある
MAP推定(maximum a posterior estimation)
一般的にはパラメータの事前分布p(θ)を導入して 事後分布をθに関して最大化する
最尤推定のようなエラーは起きないが、 MAP推定も事後分布を「点」として扱うため、 パラメータの不確実性が全く取り扱えない
上記の2つの推定法は変分推定アルゴリズムの極めて特殊な例であると解釈できる
最尤推定は事前分布p(θ)に定数を仮定、 事後分布p(θ|X)に関しては無限に尖った近似分布q(θ)を仮定したもの
MAP推定は事前分布はベイズ推論と同じく あらかじめ設計されたp(θ)を導入する、 事後分布は最尤推定と同様に無限の尖った近似分布q(θ)を仮定する

第4章 混合モデル(mixture model) と近似推論

4.1 混合モデルと事後分布の推論

はじめに
複雑なモデルの例として混合モデルを説明する
さらに効率的な推論を行うための近似推論手法を説明
ギブスサンプリング
変分推論
崩壊型ギブスサンプリング
具体的な実現例として
一次元ポアソン混合モデル
多次元ガウス混合モデル

4.1.1 混合モデルを使う理由

(現実の世界でよくある例) 複数個のデータクラスタ(cluster)が背後に存在している
単一の二次元ガウス分布では 構造を無視して全体を覆うような分布になり、 データの特徴を表現できない
混合モデルを使うことで、 それぞれのクラスごとにデータを表現する確率分布を割り当てられる
クラスタによって所属するデータに偏りがあっても 「混合比率パラメータ」という値を使って柔軟に対応できる
混合モデルは線形回帰などの他の確率モデルと簡単に組み合わせることができる
例えば2つのトレンドを持つような多峰性のデータ
単純な多項式回帰を使ってもうまく特徴を捉えられない
図の中には最尤推定を使って 多項式を無理やりにデータにフィッティングした 結果を示す
次元がM=4では2つのトレンドの平均をとるシンプルな推定
M=30では非常に複雑な関数になる
データの背後に2つの回帰関数(異常値や外れ値と正常値を分ける等)を入れたうまく特徴を捉えられる
異常値の対応にも利用できる

4.1.2 混合モデルのデータ生成過程

データを表現するためのモデルを作るには
DNNとは違う点?

図のようなクラスタ構造を持つデータ
N個のデータX={x1,…,xN}が 生成される過程を次のように記述する
クラスタ数Kは既知とする
①それぞれのクラスタの混合比率π=(π1,..,πk)Tが事前分布p(π)から生成される (ただしπk∈(0,1)かつ∑k=1Kπk=1)
②それぞれのクラスタk=1,…,Kに対する観測モデルのパラメータθk (平均値や分散など)が事前分布から生成される
③n=1,…,Nに関して、xnに対応するクラスタの割り当てsnが比率πによって選ばれる
④n=1,…,Nに関して、snによって選択されたk番目の確率分布p(xn|θk)からデータxnが生成される
データの生成過程に関する仮説を元に 構築したモデル
データを生成するための確率的なシミュレータ
SN:隠れ変数(hidden variable) または潜在変数(latent variable)
Snは手元にあるxnと違って直接観察することができず、 xnを発生される各吊り分布を潜在的に決めている確率変数である
具体的にアルゴリズムを構築するための 数式を定義する
ステップ④
最終的に取り出される点xnに対する確率分布を定義する
全てガウス分布を設定する
観測モデルのパラメータを θk={μk, Σk}とする
混合モデルではK個の異なる観測モデルをスイッチする仕組み
取り扱う分布はガウス分布以外でも良い
ステップ③
K個の観測モデルを各データ点に割り当てるための手段
snに対して1 of K表現を用いるのが便利
Snはk次元のベクトルであり、 あるkに対してsn,k=1が成り立つ時、 k番目のクラスタが指定されたことを意味する
Snをサンプルするための分布としては、 πをパラメータとしたカテゴリ分布を選ぶ
どのkが選ばれやすいかは、この分布を支配する混合比率(mixing proportion)パラメータπが示す割合により決定される
ステップ③とステップ④を組み合わせると、 xnを生成するための確率分布は上式になる
観測モデルのパラメータをΘ={θ1,…,θk}としてまとめて書く
確率分布がK回掛け算されているが、 snはK個ある要素のうち一つしか値1を取らないので、 snによってKこのうちの一つだけが常に選択される
他の分布は0乗で消えてしまう
ステップ②
ステップ④で定義した観測モデルのパラメータθkに関する事前分布p(θk)を定義する
p(xn|θk)に対して共役性が成り立つような事前分布を設定するのが一般的

p(xn|θk)がポアソン分布としてモデル化されている場合には、そのパラメータの今日やくじぜんぶんぷであるガンマ分布を用いるのが後々便利
ステップ①
混合比率πに関して、十分な量のデータを観測するまで未知である場合が多い
何かしらの事前分布を持たせてデータから学習させたほうが良い
πはカテゴリ分布のパラメータなので、 共役事前分布であるK次元のディリクレ分布を選ぶ
各要素が性の実数値であるようなK次元ベクトルαはディリクレ分布の超パラメータ
ステップ①〜④を使ったN個のデータに関する同時分布
グラフィカルモデル
𝛩:観測モデルのパラメータ{𝛉1,…,𝛉K}
𝛑:混合比率
p(𝛑)=Dir(𝛑|𝛂)

4.1.3 混合モデルの事後分布

混合モデルの推論問題は、
式で書くと求めたい条件付き分布は上式となる
解析的に計算するのは困難
データXが所属するクラスタSの推定を行うには上式を計算すれば良い
事後分布は確率変数S,π,Θが複座に絡み合った形状をしている為 正規化項p(X)の計算が困難
P(X)の計算を真面目にやろうとすると上式のような周辺化が必要
一行目のパラメータはΘ、 πに関しては共役事前分布を使うことにより 解析的に積分除去可能となる
二行目はSのとりうる全ての組み合わせに関してp(X,S)を評価する必要がある

4.2 確率分布の近似手法

はじめに
近似推論(approximate inference)を行うアルゴリズムは これまで非常に多くのものが提案されている
比較的シンプルで 広く利用されているもの
ギブスサンプリング
平均場近似による変分推論
ベイズ学習では データを表現するモデルと 対応する近似推論手法の組み合わせで 全体として一つのアルゴリズムが構成される
扱うモデルやデータのサイズ、 要求される計算コストやアプリケーションによって 最適な近似推論手法の選び方が異なってくる
複数の手法を武器として持つことは より良い性能を追求する上で非常に役に立つ

4.2.1 ギブスサンプリング (Gibbs sampling)

ある確率分布p(z1, z2, z3)に関して 何かしらの知見(各種期待値計算など)を得たいとした時、 この分布からZ1, Z2, Z3の実現値を 複数サンプルする手段が考えられる
p(z1,z2,z3)が3次元ガウス分布などのよく知られた分布の場合、 各次元の変数を同時にサンプルすることは容易
分布がもっと複雑な形状を持つ場合は、 全ての変数を同時にサンプルすることは困難
上記の課題にアプローチするために開発された手法
MCMC(Markov chain Monte Carlo)の手法の1つ
ギブスサンプリング (Gibbs sampling)
上式のようにi個目の各変数をサンプリングする
ある確率変数をサンプリングするために、 すでにサンプルされた値で分布を条件付し、 よりしサンプルしやすい簡単な確率分布を得る
サンプル数が十分に多い場合は、 真の事後分布からサンプルされたものとみなせる (と理論で証明されている)
I=0の初期値を設定する必要がある
何かしらのランダムな値をあらかじめ与える
例:ガウス分布に対するギブスサンプリング
1次元ガウス分布からのサンプルは容易だが、 2次元ガウス分布からのサンプルは困難
点線は各サンプルが抽出された順番を示す
サンプル数が増えると真の2次元ガウス分布から直接出されたものとみなせる
赤い楕円q(x)はサンプルから得られた平均と分散により求められたガウス分布
ギブスサンプリングの課題
複雑な事後分布の推論に対して、 どれだけの数のサンプリングが必要か明確でない

全体を探索しきれていない
変数をサンプリングする他の方法
ブロッキングギブスサンプリング (blocking Gibbs sampling)
Z2とz3を同時にサンプリングするため、 より真の値に近いサンプルが得られることが期待できる
p(z2,z3|z1)をサンプリングできることが条件
発展形
崩壊型ギブスサンプリング (Collapsed Gibbs sampling)
パラメーターを周辺化して、モデルから除去する
周辺化されたp(z1,z2)に対してギブスサンプリングを行う

4.2.2 変分推論 (Variational inference)

変分推定(variational inference) または変分近似(variational approximation)
変分推論は 最適化問題を解くことにより 未知の確率分布の近似的な表現を得る
ギブスサンプリングは 未知の確率分布から 逐次的に実現値をサンプリングするのに対して
ある複雑な確率分布p(z1, z2, z3)を より簡単な近似q(z1, z2, z3)で表現する
複雑な確率分布p(z1,z2,z3)を より簡単な近似q(z1,z2,z3)で表現する
KLダイバージェンスの最小化問題(上式)
KLダイバージェンスは2つの確率分布の差異
距離が小さいほど2つの確率分布は「似ている」
制約なしで解くとそのまま答えになってしまうと、 解がそのままqopt(z1,z2,z3)=p(z1,z2,z3)になる
近似分布qの表現能力を限定し、 その限定された分布の中で真の事後分布pに最も近い分布を 最適化によって探す
典型的な使い方
平均場近似(mean-field approximation) に基づく変分推論
近似分布qの各確率変数に独立の仮定(上式)を置く
p(z1,z2,z3)の各変数z1,z2,z3の間の複雑な依存関係を無視する
各分解された近似分布q(z1),q(z2),q(z3)を KLダイバージェンスが小さくなるように一つ一つ修正していく
例:すでにq(z2)とq(z3)が与えられているとする
最適なq(z1)は上式の最適化問題を解けば良い
q(z2)及びq(z3)を固定した時の上式のKLダイバージェンスを求め
q(z1)を決定するための形式を求める
対数計算と期待値の計算で求められる
KLダイバージェンスの定義式より期待値の形で表す
対数によって各項をバラバラに展開する
Z1に無関係な項は全て定数constに吸収させる
<lnp(z1,z2,z3)>2,3に対して指数expを取った後、 対数lnをとることにより、一つのinでまとめる
q(z2)及びq(z3)が与えられたとすると、 前式の最小値は上式になる
混合モデルのような共役事前分布をうまく使った確率モデルでは、 右辺の計算結果を事前分布と同じ分布の形式に帰着できる
同様な議論をq(z2)やq(z3)でも行って最適化する
平均場近似による変分推論のアルゴリズム
固定値MZITERを設定する方法が最も簡単
計算時間の上限を定める
ELBO(evidence lowerbound)などの評価値を繰り返しごとに監視て、 変化が一定値εより小さくなった場合に終了させる
ELBOは付録A.4で解説
より現実的な想定
観測データDが与えられた一般的な確率分布 p(D,z1,…,zM)の事後分布に対する近似公式
未観測変数の集合からあるi番目の変数ziを除いた集合をZ\i遠く
条件付き分布の定義から同時分布の期待値としてかくことができる
他の近似分布q(Z\i)が固定された元での近似分布q(zi)は上式となる
2次元ガウス分布に対して変分推定を適用した例
青い楕円が推定したい真の2次元ガウス分布
赤い楕円が変分推定による近似分布
課題
分解を仮定した変数間の相関が取られられないので、 強い相関ほ持つような分布には良い近似は与えられない
KL[|q(x)||p(x)|]の例
KLダイバージェンスを減少させる方向に最適化している
変分推論の方がギブスサンプリングよりも高速
大規模な確立モデルに対して収束性能を発揮する
ブロッキングギブスサンプリングのように、 完全分解ではない場合は上式のようにまとめて計算できる場合もある
構造化変分推論 (structured variational inference)
平均場近似による変分推論のアルゴリズム
2次元ガウス分布に対する変分推論例
変分推論の方がギブスよりも高速
大規模な確率モデルに関しては優れた収束性能を持つ
「構造化変分推論」のアプローチもある

4.3 ポアソン混合モデルにおける推論

はじめに
1次元データに対するポアソン混合モデル(Poisson mixture model)を導入して、 実際に事後分布を推論するためのアルゴリズムを導く
ポアソン混合モデルは ガウス混合モデルに比べると 各種の近似的手法(ギブスサンプリング、変分推論、崩壊型ギブスサンプリング) が比較的簡単に導ける
ポアソン分布の非負性を利用した発展的なモデル

4.3.1 ポアソン混合モデル

ポアソン分布は、 上図のようにヒストグラムのような 多峰性の離散非負データを学習する際に利用
あるクラスタkに対する観測モデルとして 上式のようなポアソン分布を採用する
混合分布における条件付き分布p(xn|sn, 𝛌)は上式となる
K個あるポアソン分布のうち1つだけが、snによって指定される
ポアソン分布のパラメータ𝛌={𝛌1,…,𝛌K}に対する 事前分布を上式と設定する
共役事前分布であるガンマ分布を利用
a,bは事前に固定値を与えられた超パラメータ
単純のためにクラスタ間で共通としているが
Akやbkのように添字を設定して、 それぞれのクラスタごとに事前に値を与えても良い
残りの潜在変数Sや混合比率パラメータπに関する確率分布を与えて、 ポアソン混合モデルのモデル化は完了


超パラメータに実際にデータを入れてみて視覚的に確認する

4.3.2 ギブスサンプリング

ギブスサンプリングを使って、 ポアソン混合モデルの事後分布から パラメータ𝛌,𝛑と潜在変数Sをサンプリングするアルゴリズムを導出する
Xが観測された後の条件つき分布は上式となる
混合分布では、潜在変数とパラメータを分けてサンプルすることで十分に簡単な確率分布が得られる
アルゴリズム算出の戦略
はじめに、S={s1,…,sN}をサンプリングするための条件付き分布を算出する
データXの他に、λやπがあたかも観測されたかのように扱うのがポイント
注目している確率変数Sのみに注目して計算を進める
一行目は、条件付き分布の定義から、 事後分布が同時分布に比例する形に変形
二行目、三行目は 混合モデルの定義式(上式)に従って 分布を条件付き分布の積によって表し、 Sに関係のない項は式から除外する
結果としてp(S|X,λ,π)は各s1,…,sNの独立した分布になる
全てを同時にサンプリングする必要がない
Snをサンプルするための確率分布を計算する
対数をとって計算を進める
また
結論として
簡易表現のため新たなパラメータηnを用意すると上式となる
各snに対して各ηn,kを計算することにより、 カテゴリ分布からsnがサンプルできる
パラメータをサンプルするための条件付き分布を求める
はじめにλの分布から計算する。対数をとることによって上式となる
λに関しては上式のようにそれぞれの独立したK個のγ分布からサンプルすれば良い
πの分布に関しては上式となる
πは上式のディリクレ分布からサンプルできる
最終的なギブスサンプリングアルゴリズム

4.3.3 変分推論

ポアソン混合分布に対する変分推論アルゴリズムを導出する
変分推論の更新式を得るためには、 事後分布に対する分解近似の仮定をおく必要がある
潜在分布とパラメータを分けることにより、 事後分布を近似する
変分ベイズEMアルゴリズム (variational Bayesian expectation maximization algorithm)
変分推論の公式を当てはめる
モデル全体の定義式(上式)に従って同時分布を分解し、 Sに無関係な項は全てconst.に吸収
近似分布q(S)の対数はN個の和で表現されている
それぞれの期待値の和は上式
及び
Snの近似分布は上式のようなカテゴリカル分布になる
この更新式を完成させるためには、λやπに対する期待値計算が必要になる
パラメターに関する近似式を求める
上式のような変分推論の公式を適用する
Λとπに関する項が独立に分離される
λに関する項のみを取り出して計算する
Λの近似事後分布はさらにK個の独立な分布に分けられる
K番目の近似分布は、上式のようなガンマ分布になる
πに関する項のみを取り出して計算すると上式となる
上式のようなディリクレ分布となる
必要な期待値は上式になる
最終的な変分推論アルゴリすむ
ギブスサンプリングの各サンプリングステップと非常に似ている
変分推論の更新式における期待値計算の部分を単純にサンプル値に置き換えることでギブスサンプリングを導ける

4.3.4 崩壊型ギブスサンプリング

ポアソン混合モデル対する崩壊型ギブスサンプリングのアルゴリズムを導出する
崩壊型ギブスサンプリングでは、 まず同時分布からパラメータを周辺化除去する(上式)
周辺化した後のモデル(右)と 周辺化前のモデル(左)の比較
周辺化されたモデルでは各s1,..,sNは互いに依存関係を持つ
上記のような事後分布から同時にs1,…,sNをサンプルするためには、 SのとりうるKN個の組み合わせを全て評価してから正規化する必要がある
解析的アプローチは不可能で、ギブスサンプリングのアプローチが必要
ひとたびパラメータを周辺化してしまえば、 あとはSをp(S|X)からサンプリングできれば良い
あるサンプルしたい変数sn以外の全ての潜在変数の集合を S\n={s1,…,sn-1,sn+1,…,sN}とする
条件付き分布p(sn|X,S\n)が十分簡単な確率分布として得られれば良い
アプローチ
条件付き分布の定義を用いて同時分布のかたちで表現すると上式となる
同時分布を単純に条件付き分布の積で表すと上式になる
p(X\n|snS\n)をグラフ表現で考えると
X\nとsnは条件付き独立
Snと無関係な部分を除去する
最終的には上式となる
出来上がった式は次の2つの式に分解される

まず上部の式は
前式は上式のようなsnの予測分布であると解釈できる
右辺の項p(π|S\n)は N-1個のサンプルS\nをあたかも 観測データかのように扱った場合の 「πの事後分布」を表す
ベイズの定理を適用すると上式となる
カテゴリ分布とディリクレ分布を用いたパラメータの学習と同じ
K次元ベクトルα\nをパラメータとしたディリクレ分布(上式)になる
πの事後分布の式(上式)を用いて
最終的に上式となる
下部の式は
上部の式と同様に上式を計算したものとなる
右側の項のある種の事後分布のようなものを ベイズ定理を用いて計算する
ポアソン分布とガンマ分布を用いたベイズ推論になる
事前分布と同様にガンマ分布となる
前式を用いてパラメータλを積分除去し、 xnに対するある種の予測分布を計算する
負の二項分布になる
崩壊型ギブスサンプリングは、各nバナ目のサンプルごとにサンプリングを行うので
あるi番目のサンプルを得た直後に、 j番目のサンプルを得た時の事後分布の計算は上式となる
α\j,kはsiをサンプルする際に使った量
これに実際にサンプルされたsi,kを加えて、過去にサンプルされたあるいsj,kの分を取り除く
新しいsjをサンプルするために必要なα\j,kが得られる
同様に他のパラメターも上式で表される
ポアソン混合モデルのための崩壊型ギブスサンプリングアルゴリズム

4.3.5 簡易実験

導いた3つの近似手法のトイデータへの適用
ヒストグラムで表される簡単な2峰性データを、 K=2としたポアソン混合モデルに基づいた変分推論で クラスタリングした結果
平均値の異なる2つのポアソン分布を組み合わせてデータを表現している
2つのクラスタの中間のデータは所属が曖昧となるため、 結果としてクラスタ所属の期待値<sn>がソフトな値を持つ
クラスタ数をK=8に増やして近似手法の性能を計算時間で比べた結果
縦軸をELBO
各データセットで実験を10回ずつ行い、得られたELBOの平均値を結果とする
変分推論が初期段階では高速な収束性能が得られる
ギブスサンプリングに基づく手法の方が最終的な結果は良くなる
崩壊型ギブスサンプリングは初期も最終的なものも良い
ギブスサンプリングから初めて、変分法や崩壊型に進むのが良い

4.4 ガウス混合モデルにおける推論

はじめに
観測モデルとして精度行列が道である多次元のガウス分布を考える
事後分布の近似推論アルゴリズムとしてはギブスサンプリング、変分推論、崩壊型ギブスサンプリングを行う
共役事前分布としては多次元ガウス分布に対するガウス・G分布を用いる

4.4.1 ガウス混合モデル

ガウス混合モデル(Gaussian mixturemodel)では、 各クラスタkにおけるデータxn∈ℝDの観測モデルとしてガウス分布を用いる
パラメータをθk={μk,Λk}とすれば上式と表せる
μk∈ℝD, Λk∈ℝDxD
潜在変数を含めた条件付き分布は上式となる
この観測モデルのパラメータに対応する事前分布を、 ガウス・ウィシャート分布を用いて上式とする
m∈ℝD,β∈ℝ+,W∈ℝDxD,γ>D-1
クラスタをまたがって共通のものと仮定
mk∈ℝDのように添字をつければ、クラスタごとにも別々の謡をつけれる

4.4.2 ギブスサンプリング

ガウス混合モデルに対するギブスサンプリングアルゴリズムの導出
関心のある事後分布は上式となる
上式のようにパラメータと潜在変数を分けてサンプリングする
Sをサンプリングするための条件付き分布を求める
パラメータμ、Λ、πはすでにサンプルされているとする
Sに関係する項のみに注目して整理すると上式となる
事後分布を同時分布に比例する形で書き直し、 混合モデルの同時分布を当てはめた
対数表現すると常識になる
lnp(sn|π)はすでに与えられているので、2つをまとめて上式となる
Snは上式のようなカテゴリ分布からサンプルすれば良いことがわかる
潜在変数Sガ全てサンプルとして与えられているとし、 残りのパラメータに関する条件付き分布を求める
同時分布に比例する形で式を書き直し、 さらに混合分布の式に従って条件付き分布の積に分解する
μとΛは分解できない
観測分布のパラメータμ及びΛの分布と、 混合比率を表すπの分布は別々の項に分解できる
μの計算
μとΛの(同時)条件付き分布は
独立なK個の分布に分解される
計算の続き
Μkは多次元ガウス分布に従ってサンプルすれば良いことがわかる
Λの計算
p(Λk|X,S)を求める、条件付き分布の関係性から上式となる
前述のμkの結果を使うことで上式となる
Λkはウィシャート分布からサンプリングできる
πをサンプルする条件付き分布
ポアソン混合モデルのギブスサンプリングで求めた式がそのまま使える
ガウス混合モデルの事後分布に対する ギブスサンプリングのアルゴリズム

4.4.3 変分推論

ガウス混合モデルに対する変分推論でも、 上式のように潜在変数とパラメータを分けて近侍する
はじめに、q(S)に関して変分推論の公式を当てはめる
近似分布q(S)はN個の行に分解される
あるsnにのみ注目して計算すると
及び
Snは上式のカテゴリ分布となる
q(μ,Λ)やq(π)はガウス・ウィシャート分布とディリクレ分布になる
パラメータに関する近似分布
観測変数の分布に対するパラメータμ及びΛに関わる項と、 潜在変数の分布にたいすめパラメータπに関わる項の2つに分けられる
はじめに、μ、Λに関係する項のみを取り出す
K個別々に近似事後分布を計算すれば良い
μkに関して整理すると
Μkの近似分布はΛkの条件がついた上式で表される
次に、Λkを求める。条件付き分布の関係性から上式となる
求めたq(μk|Λk)を代入すると、上式のようなΛkの式になる
よって、ウィシャート分布として上式となる
πをサンプルする条件付き分布
ポアソン混合モデルで求めた式がそのまま使える
更新式に必要な期待値は上式となる
最終的なガウス混合モデルでの変分推論アルゴリズム

4.4.4 崩壊型ギブスサンプリング

ガウス混合モデルに対する崩壊型ギブスサンプリングのアルゴリズムの導出
ガウス混合モデルから全てのパラメータμ、Λ及びπを周辺除去したモデルを考える
ポアソン混合モデルにおける崩壊型ギブスサンプリングと同様に、 S\nがすでにサンプリングされたものと仮定してsnを 新たにサンプルするための手続きを計算する
Snに関する事後分布は上式のように2つの項に分解される
p(s|S\n)に関してはポアソン混合モデルで得られた式を再度使う(上式)
尤度の項だけ異なっているのでそこだけ計算し直す
さらに
次のようなガウス・ウィシャート分布が事後分布として得られる
ただし
周辺化の式はスチューデントのt分布による表現で上式で表される
ガウス・ウィシャートの式
最終的なガウス混合モデルのための崩壊型ギブスサンプリングアルゴリズム

4.4.5 簡易実験

N=200個の2次元の観測データを K=3としたガウス混合モデルとして 変分推論でクラスタリングした結果
多次元ガウス混合モデルでは、 クラスタリングだけではなくKクラスの分類も行える
グラフィカルモデル
各データ点のクラスの割り当てがSとして すでにラベル付けされているような状況を想定
新規入力x*のS*を予測する
ガウス混合モデルによるクラス予測例(K=3)
右図の右端の領域で赤のデータ点が存在しないので垢と判定される
ビッグデータとベイズ学習
データがたくさんあれば最尤推定だけで良いのでは?
ベイズ推定もNを大きくすると最尤推定に近づく
データ数Nが十分に大きいケースはそもそも解析する必要がない
細かい分析をしようとすればするほどデータ数は足りなくなる
ベイズ学習では多様な情報を統合できる
最尤推定だと著しい過剰適合を起こす
ベイズ学習はデータ数Nの大きさよりは、 利用可能なデータの次元数(種類数)Dの増加に関して強みを発揮する

第5章 応用モデルの構築と推論

5.1 線形次元削 (linear dimensionality reduction)

はじめに
多次元のデータを低次元の空間に写像
データ量の削減や特徴パターンの抽出、 データの要約・可視化を行う技術
観測データの次元数Dよりも遥かに小さい次元数Mの空間で データの主要な傾向を十分表現できる
関連する技術
確率的主成分分析 (probabilistic principal component analysis)
因子分析 (factor analysis)
確率的行列分解 (probabilistic matrix factorization)
具体例
画像データの圧縮や欠損値の補間処理

5.1.1 モデル

観測されたデータY={y1,…,yN}を 低次元の潜在変数X={x1,…,xn}で表現する
ynに関して確率分布を定義(上式)
Yn ∈ ℝDとxn ∈ ℝMとの間には線形的な関係を仮定
𝝈2y ∈ ℝ+は全ての次元で共通の分散パラメータ
平均WTxn + 𝝁で表現できないynとの間のズレを許容する役割
今回は固定値と仮定する
データから学習したい場合は ガンマ事前分布やウィシャート事前分布を使うことで 推論することも可能
W、μ、Xに関して上式のような分布を仮定
行列パラメータW ∈ ℝMxD
Wd ∈ ℝMは行列Wのd番目の列ベクトル
バイパスパラメータ𝝁 ∈ℝD
共分散行列ΣW及び𝚺μは固定された超パラメータ
Wや𝝁はデータ全体に対して影響を与えるパラメータ
xnは各データ点ynに対する潜在変数
全てのパラメータをまとめた全体の同時分布は上式となる
グラフィカルモデル

5.1.2 変分推論

観測データが与えられた後の事後分布
分母の計算に必要な重積分が解析的に解けない
変分推論を使って、真の事後分布を分解された形で近似
変分推論の公式(上式)を用いて
上記の3つの式が解ければ良い
μの近似事後分布を求める
𝝁に関して整理する
事前分布をμに関して整理すると
μに関する2乗の項を足し合わせると上式となる
最終的にμに関するガウス分布としてまとめられる
Wの近似事後分布を求める
Wに関する近似式を計算
D個の独立な項に分解して書き下せる
Wの事前分布の項は上式となる
D個の項の和で表せる
Wの事後分布として上式で表される
潜在変数Xの近似事後分布を求める
単純なN個の和なので、 あるn番目の潜在変数xnに関して 分布の形式を求めれれば十分 期待値の項は上式となる
Xnの事前分布の項は、 xnに関する項の身注目すれば上式となる
これらの結果を足し合わせると上式となる
従ってXの近似事後分布は上式となる
計算に必要な期待値は上式となる
ギブスサンプリングをしたい場合は、 単純に上記の期待値をサンプルされた値に置き換えれば良い

5.1.3 データの非可逆圧縮

線形次元圧縮アルゴリズムを使った Oliveti faceデータセットでの顔画像の圧縮例
モデル式
M=32でデータサイズを3%まで圧縮
ノイズを減らしたスムージングにも使える
M=4でデータサイズを0.4%まで圧縮
ほぼ同じようになる

5.1.4 欠損値の補間

線形次元削減を使った欠損値補間
データを取得・保存するためのセンサーや通信、 サーバーなどの一時的な不都合によりデータの一部が欠損
複数のセンサーを統合して何かしらの処理をしたい時、 いくつかのセンサーが故障したり、コストの面で搭載されていない場合
ユーザーのアンケートやプロファイル情報なとのデータの未記入部の補間
欠損値の補間は機械学習を使ったシステムにとって一般的なタスク
前処理として、 近くの値を使ったり、 平均値を使ってから後段で処理すると、 補間したデータと本物の区別がつかなくなる
前処理的な保管をするよりも、 データに対して仮定している構造(モデル)に基づいて 欠損値を保管する方が一環的
ベイズ学習での欠損値の補間
欠損値を条件付けされていない未観測の変数として扱う
あるn番目のデータynの部分的な要素が欠損しているとする
Yn,Ď ∈ ℝĎをデータが欠損している部分、 yn,\Ď ∈ ℝD-Ďを観測されている部分
Y\nをデータ全体の集合Yからynのみを取り除いた部分集合とすると
理想としては観測されている変数以外全てを周辺化した分布p(yn,\Ď,Y\n)を求める必要がある
解決手段
上式のように事後分布を分解して近似する
変分推論のループで更新
変分推論の定理を使ってq(yn,Ď)を更新する
WĎは行列Wから最初のĎ個までの列を取ったもの
μĎはμのはじめのĎ個の要素のみを取り出したベクトル
欠損値の近似は上式のようなガウス分布になる
確率変数の期待値<xn>,<W>,<μ>を用いて欠損値yn,Ďの平均を表現するような分布になる
計算式は上式になる
欠損値を前式で求められる推定値で補完しながら、 同時にパラメータや潜在変数を学習していくイメージ
これまでに導出した欠損値補完版の線形次元削減を使って 顔画像の掛けたピクセルを補完した例
50%の確率で一様に欠損したデータ
大まかに正解の画像が復元できている

5.2 非負値行列因子分解 (Nonnegative matrix factorization NMF)

はじめに
データを低次元部分空間に写像する手法する手法
観測データとその他の未観測変数全てに非負性を仮定する
適用先
負の値を持たないあらゆるデータに適用可能
画像データの圧縮や補間にも適用できる
音声データを高速フーリエ変換して周波数帯で扱う場合には、 こちらを使った方が良い表現が得られることが多い
推薦アルゴリズムや自然言語処理にも使われる
様々な確率モデルによる表現が提案されている

5.2.1 モデル

非負値行列因子分解では、 各要素が非負値を持つ行列Xを、 WとHに近似分解する
非負性を持つ行列X ∈ ℕDXN
正の値を持つ2つの行列W ∈ ℝ+DxMとH ∈ ℝ+MxN
Xの要素ごとに書くと上式となる
新たな補助変数Sを上式として定義
潜在変数Sを導入することで、 効率的な変分推論や ギブスサンプリングのアルゴリズムが導き出される
補助的な潜在変数をモデルに導入することで、 更新式が効率的に導けることがしばしばある
補助変数Sはポアソン分布に従って発生するようにモデル化
観測データは デルタ分布(delta distribution)を用いて 上式のように表現する
デルタ関数は上式のような離散値にたいする確率分布
生成的な観点では上式で得られた値が そのままXd,nの値として扱われると解釈できる
WやHの事前分布は、 ポアソン分布の共役事前分布であるガンマ分布を設定
Aw∈ℝ+,bw∈ℝ*,aH∈ℝ+,bH∈ℝ+はガンマ分布の超パラメータ
上記の確率変数の関係性をまとめて、 同時分布として書き出すと上式となる
グラフィカルモデル
音声データに対して変分推論を用いて行列分解を行なった例
中央の図はオルガンの演奏データのスペクトログラムX
横軸は時間、縦軸は周波数、色はエネルギーの強さを示す
左の2列のグラフはM=2としたときのW:,1,W:2の推定結果
それぞれがオルガンの高周波のパターン及び低周波のパターンを表示
上図の2列のグラフはHの推定結果
Wのパターンの時系列での使われ方を表す
まず、はじめの0.6秒あたりで低音部を表すパターンが使われる
途中の3.3秒あたりから高音部をふらわすパターンが使われ始める
非負値因子分解はスペクトログラムを低次元空間に写像して特徴的なパターンを抽出するのに使われる
欠損値補完のアイデアを使ってデータ中の高周波領域の復元などにも使われる

5.2.2 変分推論

構築されたモデルから、観測されていないW,HおよびSの事後分布を推論するためのアルゴリズムを導出する
変分推論を用いて、事後分布が変数の種類ごとに分解できると仮定(上式)
変分推論の公式を使って前式で表されるモデルの同時分布をあとはめて、 近似分布の更新式を書くと上式になる
続き
はじめにWの近似事後分布を求める
Wdmに無関係な香を無視すると上式となる
ガンマ事前分布の対数項は上式となる
これらを整理すると上式となる
最終的にWdmの近似事後分布はaWとbWを導入して、 ガンマ分布として常識になる
次にHの近似事後分布を求める
WとHはモデルの定義より対象になっているので、 Wの算出と同じ過程で導出できる
最後に、潜在変数Sに関する更新式を求める
Sに関して整理すると
近似分布q(S)は上式のような 試行数をXd,nとしたM項分布として表現できる
各近似分布の更新で必要となる期待値は上式となる

5.3 隠れマルコフモデル (Hidden Markov model HMM)

はじめに
時系列データに対するモデリング
適用先
伝統的な音声信号や文字列データ
塩基配列や金融取引データ
これまでのモデルでは
パラメータθが与えられた後の 各データX={x1,…,xN}の分布に対しての 独立性が成り立つ場合の確率分布
現実世界では、時間的に独立でない場合が多い

データ数N=500の非負整数値の系列データ
HMMでの推論結果
データの前半と後半で異なる傾向を示す
ポアソン混合モデル(PMM)の推論結果
観測データの代償としてしか取り扱えないため、 細かなスイッチングの多い推論結果になる

5.3.1 モデル

隠れマルコフモデルは、 クラスタ数Kの混合モデルの潜在変数に時間依存を加えて実現する
PMMでは 潜在変数S={s1,…,sN}の発生過程に 上式のような独立性を仮定した
HMMモデルでは 隣り合った潜在変数sn,sn-1の間に 依存性を持たせる(上式)
隠れマルコフ過程の潜在変数S
A:KxKのサイズの状態間の繊維を支配するパラメータ
π:隠れマルコフモデルでは先頭の状態s1を決めるだけ (混合モデルではデータ全体の潜在比率を支配するパラータメーターだったが)
一つ隣の状態にのみ依存する
m次マルコフ連鎖への拡張もある
状態系列Sを支配する 初期確率パラメータπと 遷移確率行列に関する詳細な説明
状態数をKと固定する
パラメータをπとしたカテゴリ分布によって初期状態s1は決定される
πの事前分布としては カテゴリ分布の共役事前分布であるディリクレ分布し8上式)を導入
遷移確率行列Aは一次マルコフ連鎖モデルではKxKの行列として表現され 状態iから状態jに遷移する確率値を要素Aj,iにより表現する

Aを3×3の行列で上式のように設定する
A2,3=0.4
あるn-1番目の状態がsn-1,3=1であった場合、次のn番目の状態がsn,2=1となる確率は0.4
K=3個のいずれかに必ず遷移する必要があるので、遷移行列の任意の列の総和は必ず1になる必要がある
A1,2=0のように、状態の繊維に関して強い制約を加えることもよく行われる
状態遷移図(state transition diagram)
遷移確率行列Aを使ってsn-1からsnへ遷移する確率を 具体的に式にすると上式となる
一つ前の変数sn-1が次の行き先を決める確率A:,jを選択する
Aの各列は単にカテゴリ行列なので、 対応する事前分布はK次元のディリクレ分布(上式)が使える
K次元ベクトルβ:,jは遷移確率行列のための超パラメータ
この値をそれぞれの要素βj,iごとに決めることによって 行列Aに関して様々な遷移構造を次元に仮定できる
与えられた潜在変数snに従って 観測値を生成する分布が切り替わるようにモデル化する
データX={x1,…,xN}に対する観測モデルをp(X|S,Θ)とおく
同時分布は上式になる
グラフィカルモデルは上図になる
S1から順番に状態系列が生成され、 それぞれの状態から観測値xnが生成される
隠れマルコフモデルにおける 観測データXに対する分布は 自由に選ぶことができる

ポアソン分布
非負
ガウス分布
カテゴリ分布
DNAやRNAなどの塩基配列を解析する際には、塩基の種類をカテゴリ分布を使って表す
観測データxnを1次元の非負の整数として扱いたいので、 観測モデルとしてパラメータをΘ=λ={λ1,…,λk)としたポアソン分布と仮定する
各パラメータλkの共役事前分布として、ガンマ事前分布を導入する
a,bは事前固定値を与えられた超パラメータ

5.3.2 完全分解変分推論

ポアソン観測モデルによる隠れマルコフモデルに対して、 変分推論による事後分布のアルゴリズムを求める
隠れマルコフモデルはシンプルに 混合モデルの潜在変数に関わる部分に時間依存を入れただけ
混合モデルと同じ発想でパラメータと潜在変数に分解して近似推論する
時系列の取り扱いをシンプルにするため、 時間方向もバラバラに分解して推論する
q(S)に関して時系列方向の分解を仮定した近似
変分推論の公式を適用して式を変形(上式)
はじめにパラメータの近似分布から計算
観測モデルに関するパラメータλはその他のパラメータπ,Aと独立に計算できる
λに関する項のみ取り出せば上式となる
4章のポアソン混合モデルの変分推論における パラメータλの近似自己分布と全く同じ流れで計算できる
πとAについて?
πとAをさらに分けて計算する
まずπより計算する
カテゴリ分布とディリクレ分布の定義式を使って 対数計算すると上式となる
近似事後分布は上式のようなディリクレ分布になる
先頭の状態s1の期待値を事前分布の超パラメータに足しただけ
Aに関する近似事後分布を計算する
Aに関わる項で整理すると上式となる
結果として近似事後分布は K個の独立なディリクレ分布(上式)として表せる
遷移行列パラメータに関する分布が、 状態iから状態jへの遷移の期待値を全状態にわたって カウントすることにより計算されることを意味する
期待値<sn-1,sn,j>と表しているが 分解の仮定では上式のように単純に分けて計算できる
状態系列Sの近似分布の計算
S1に関して整理すると
最終的にs1の事後分布は、 η1を近似分布のパラメータとすると、 上式のようなカテゴリ分布となる
それ以外のsは
ただし
n=Nでは
ただし
全ての更新式は上式となる

5.3.3 構造化変分推論

状態系列の推論では、時間方向の分解をする必要はない
混合モデルの場合と同様に、 パラメータと潜在変数の分解を仮定するだけ(上式)で 効率の良いアルゴリズムが導ける
構造化変分推論(structured variational inference)
変分推論の公式を当てはめるとq(S)に対する近似分布の計算式は上式となる
q(S)のパラメトリックな確率分布を求めるのではなく、 λやπ、Aなどのパラメータの近似計算に最低限必要な <sn,j>や<sn-1,sn,j>といった期待値を求める
上記の2つの周辺分布を求めることが目標となる
S\nはSからsnを取り除いた集合
S\[n-1,n]はSからsn-1及びsnを取り除いた集合
単純なやり方では計算困難
フォワードバックワードアルゴリズムでのアプローチ (forward backward algorithm)
グラフィカルモデル上の厳密推論アルゴリズム
上式の式から
q(S)に関する変分推論の式
q(S)に4つの項の積に分解
それぞれの期待値に指数を取ったものを上式とする
これらを用いると周辺分布q(sn)は次のように書ける
ここで
q(sn-1,sn)は上式となる
f(sn)は上式
b(sn)は上式
構造変分推論を使った場合の状態の期待値
ミニバッチに分割した推論
参考:いかにしてアルゴリズムを評価するか?
応用で一番気になる点
推薦したい値に対する予測性能
データ全体を学習用と検証用に分けて、検証データに対する予測度を最終的なアルゴリズムの定量評価として用いる
予測精度に関して
連続値の推定であれば二乗誤差
分類問題であれば正解率
タスクやドメイン知識をベースに立とうと思われる指標を提案する
計算コストに関して
計算コストや要求精度に応じて柔軟に手法を調整する
保守・援用の観点
環境の変化に合わせた更新

5.4 トピックモデル

はじめに
主に自然言語で書かれた文書を解析するための生成モデルの総称
最もシンプルな例
単語の羅列である文書に対して 潜在的なトピック(政治、スポーツ、音楽など)が 背後に存在していると考え、 そのトピックに基づいて文書中の各単語が生まれていると仮定
大量の文書データを使って学習されたトピックを利用することにより
ニュース記事の分類や推薦を行う
与えられた単語のクエリから意味的に関連の深い文書を検索する
自然言語処理だけではなく、画像や遺伝子データに適用される

5.4.1 モデル

LDAでは文書を単語の順序を無視した出現頻度のみのデータとして扱う
各文書中には複数の潜在トピック(latent topic)が存在していると仮定
メジャーリーグの記事では、スポーツや海外といったトピックが背後に存在する
実際はトピック名のラベルはつけない
各トピックは語彙(vocabulary)(単語の種類)に関する出現頻度の分布

スポーツというトピックであれば、 「試合」「得点」「野球」「サッカー」「勝敗」などの単語の出現頻度が高くなる
海外というトピックであれば、 「国際」「貿易」「首脳」「イギリス」「日米」などの単語がよく出る
前提条件
語彙の総数をVとしたとき、各単語はあらかじめv=1,…,Vとしてインデックス付けされる
Wd,n∈{0,1}は文書d中のn番目の単語を示す
ある文書dは、単語の集合wd={wd,1,…,wd,N]として表現できる
さらにそれらをD個まとめた集合 W=[W1,…,WD]を文集合8document collection)と呼ぶ
文集合WガLDAにおける観測データになる
トピックの総数をKと固定した時、 k番目のトピックΦk∈(0,1)Vは各単語の種類v=1,…,Vの出現確率を表す
Φk,V=0.01とした場合は、 トピックk(例:スポーツ)には 単語v(例:試合)が1%の割合で含まれている
各文書にはトピック比率(topic proportion) θd∈(0,1)Kと呼ばれる変数が対応づけられている
Zd,n∈{0,1}Kは 文書d中のn番目の単語に対するトピック割り当て(topic assignment)であり、 単語wd,nがK個のトピックのうちどれから生成されたかを示す潜在変数
これらの変数を生成するための
単語wd,nおよびトピック割り当てzd,nは 上式のようにカテゴリ分布で生成される
Φ={ϕ1,…,ϕk)
単語wd,nはトピック割り当てzd,nで指定されたk番目のトピックから生成される
Φkによって表される語彙の頻度分布に応じて、具体的な単語が生成される
潜在変数zd,nは、文書dが持っているトピック比率θdに従って生成される
Θd,kの値が大きいトピックkほど、文書d中でzd,n,k=1となる確率が高くなる
それぞれのカテゴリ分布のパラメータは 共役性から上記のようなディリクレ事前分布から生成されると仮定する
Αおよびβはそれぞれのディリクレ分布の超パラメータ
あらかじめ固定値が与えられている
グラフィカルモデル
各変数wd,n,zd,n,Φkおよびθdの対応する集合表現を それぞれW, Z, ΦおよびΘとすると、 全体の同時分布は大きくまとめられる
各分布は次のようになる1
各分布は次のようになる2
各分布は次のようになる3
各分布は次のようになる4
実際のデータでトピック分布Φおよび潜在変数Zを推定した結果
上図は抽出されたトピックごとの頻度単語がリストアップ
トピックごとに同じ単語がまたがって存在
ある文書dに対して、 各単語に対応する偏在変数の期待値<zd,n>が 特に高くなっているようなトピックに対して色をより当てた者
一つの文書が様々なトピックによってできている

5.4.2 変分推論

LDAによる推論の目標
文書集合(上式)が与えられたときの 残りの変数の事後分布を計算すること
この分布を解析的に得るには、文ぽに現れる周辺尤度p(W)を計算する必要がある
実現困難
変分推論により事後分布を近似的に求める
真の事後分布に対して上式のような潜在変数Zと その他の確率変数に関する分解を仮定すれば、 解析的な更新則が導出できる
この過程に基づいて変分推論の公式を適用すると上式になる
続き
それぞれの更新式の具体的な計算を行う
潜在変数Zの近似事後分布
要素zd,nごとに独立に計算をすれば十分
はじめの項を計算すると上式となる
2番目の項は上式となる
これらを足し合わせて∑=1の制約を考慮すれば zd,nの事後分布は上式のようなK次元のカテゴリ分布として表現できる
ただし
パラメータの近似事後分布
ΘとΦの近似分布はそれぞれ独立に計算できる
はじめにθdに関係する項のみを考えれば上式となる
Σ=1の制約を考慮すれば、上式のようなディリクレ分布が得られる
ただし
Φの近似事後分布を計算する
および
Φkに対する∑=1の制約を考えると上式のようなディリクレ分布となる
ただし
最終的な期待値計算は上式となる
各変分パラメータβk,v、αd,kおよびηd,n,kを初期化し、 それぞれの変数に対する分布の更新式を繰り返し適用していく

5.4.3 崩壊型ギブスサンプリング

LDAに対する崩壊型ギブスサンプリングを導く
混合モデルの場合は、 確率モデルからパラメータを周辺化した新たなモデルを考え、 潜在変数を一つ一つサンプリングしていく
LDAに対しても同様なアプローチを行う
LDAにおいて パラメータΘおよびΦを 周辺除去したグラフィカルモデル
周辺化除去の影響で該当する子ノード達は互いに依存関係を持つ
完全グラフをなしているノード間を すべて結ぶ代わりに、楕円の点線で囲む
上式のグラフィカルモデルに対応した潜在変数zを計算する
新たに表記としてZd\n、Z\dを導入
Z={zd,n、Zd,\n、Z\d}となる
周辺化されたモデルからzd,nの条件付き分布を調べると上式となる
同時分布を条件付き分布の積で細かく分解していく
Wd,nに関する項
これ以上簡単にならない
マルコフブランケットを考えると、wdnはWd,\nおよびW\dと完全グラフをなしているので条件から削除できない
Wd,nの項
上式のようにzd,nが条件から消えていく
Zd,nはwd,nが取り除かれた状態ではWd,\nの何のノードに対しても共同親の関係にならない
上式に関しては
ノードを削除しながらマルコフブランケットによって 独立性を確認すると上式のようになる
以上よりzd,nに関係のない項を考慮して zd,nの条件付き分布まとめると上式となる
それぞれの項を調べて、個々のzd,n,k=1となる場合の値を計算して正則化すると、 zd,nをサンプルするための離散分布(カテゴリ分布)が得られる

N番目の潜在変数zd,nのみを除いた ディリクレ事後分布p(θd|Zd,\n)により計算される予測分布となる
全てのk=1,…,Kの場合で計算して、Zd,nをサンプリングするためのK次元カテゴリ分布

5.4.4 LDAの応用と拡張

LDAの文書データに対する応用
トピック比率Θを使った文書のクラスタリングや分類、推薦
ある単語クエリが与えられたときにwが出現する確率の最も高い文書を検索する
LDAが有用なポイント
単語wがある文書から生成される確率は トピックΦとその比率Θを介して決められるので、
たとえwが一度も出現していないような文書でも意味の内容から検索の対象にできる
LDAのモデル拡張
単語間にマルコフ性を導入する
Bag of wordでは無視されていた単語間の関係(熟語など)を 考慮した推論を行うことができる
時系列順に並んでいる文書集合に対して、 トピックに時間的な依存性を持たせる
トピックの持つ単語の分布の変遷をモデル化する
中華料理店過程(Chinese restaurant process ;CRP)
トピック数Kをデータから自動推論する
トピック間の階層的な構造を推論する
単語の羅列だけを情報として取り扱うのではなく、 様々な追加データをモデルに組み込む
論文のメタデータ(著者情報など)をトピック比率と関連づける
複数の著者間の類似性を分析する
LDAの文書以外への応用
コンピュータービジョン
画像データとそれに付随するキャプションモデルを構築し
入力された画像に対して自動的にキャプションを付与する応用
Visual wordと呼ばれる画像中の部分的なパッチを使って
画像の構成を解析するアプローチ
生命情報学
遺伝情報のデータをLDAとほぼ同じモデルを使ってパターン解析する

5.5 テンソル分解

はじめに
主にアイテム(本や映画、レストランなど)の推薦システム (recommender system)で使われる
機械学習の分野では、テンソルは単純にRn,m,kのような多次元配列のことを示す場合が多い
2次元配列である行列の拡張版として扱われる
線形削減モデルと関連が深い

5.5.1 協調フィルタリング

協調フィルタリングと呼ばれる推薦技術の枠組みでは、 ユーザーのアイテムの購買記録や レコーディング(ユーザーの商品に対する評価値)データを利用し、 次にユーザーがどのようなアイテムに興味を持つかを予測する
2つの手法に分かれる
メモリベースの手法
異なるユーザーiとjの間の類似度Sim(i,j)を何らかの方法を使って計算する
モデルベースの手法
モデルベースのアプローチ
例:架空のユーザーとアイテムに 対応づけられたレーティングデータを考える
ユーザーnのアイテムmに対するレーティング値をRn,m∈ℝとし、 上式のような生成過程によって決定されているとする
U:,n∈ℝDおよびV:,n∈ℝDは それぞれユーザーnおよびアイテムmの特徴ベクトル
2zのベクトルの方向性がマッチして、 かつ各ベクトルの大きさが大きいほど、 レーティング結果Rnmが高くなる
ある程度の例外を許すためにノイズの項εn,mを加える
行列を使った表現
R∈ℝNxM
U∈ℝDxN
V∈ℝDxM
レーティング予測を行った結果
部分空間はD=2次元と設定
Item7の補間結果
User2とUser1が高いがUser3,User4およびUser5は低い
ユーザーごとの異なる好みを低次元空間で抽出
User5は全体的に低レーティング
3次元への拡張
レーティングや商品の購入がいつなされたのかに関するタイムスタンプを利用
アイテムの時間的なトレンドを掴む
テンソルによるレーティングの表現
レーティングのデータを3次元配列R∈ℝNxMxKで表現する
行列表現
新しく加わったSd,k∈ℝは、時刻kにおける特徴dの流行度
観測データRから潜在的なU、VおよびSを抽出する

5.5.2 モデル

時間方向のトレンドの遷移を考慮した協調フィルタリングのモデルを考える
時系列情報を付加したデータ表現のアイデアを、 一次元ガウス分布を用いると上式のように表現できる
Λ∈ℝ+はガウス分布の精度パラメータ
ユーザーの特徴ベクトルU:,n∈ℝDおよび アイテムの特徴ベクトルV:,m∈ℝDは 上式のような多次元ガウス分布に従うと仮定
μU∈ℝDおよびΛU∈ℝDxDは、ユーザーの特徴ベクトルに対する平均および精度パラメータ
S∈ℝDxKに関しては時間方向のトレンドを抽出したいので 上式のようなマルコフ性を仮定したガウス分布を考える
カテゴリ分布ではなくガウス分布を使うことで、 隣り合う変数同士の依存関係を持たせる
パラメータもデータから推論するために、 λに関してはガンマ事前分布を、 U,V,Sに関してはガウス・ウィシャート事前分布を設定する
全ての変数を含んだ同時分布は上式となる
時系列テンソル分解のグラフィカルモデル

5.5.3 変分推論

観測データRが与えられたあとの 残りの変数の事後分布を求めることが目標となる
全てのパラメータをΘ={λ、μU、μV、μS、ΛU、ΛV、ΛS} とまとめると、事後分布は上式となる
変分推論の枠組みにより、 事後分布を上式のように分解した形で近似する
Sに関しては時間依存があるため、 隠れマルコフモデルにおける完全分解変分推論での議論と同様に、 簡単化のための追加の深いを仮定している
平均場近似の公式(4.25)を使って、それぞれの近似事後分布は上式のようになる
続き
続き
U:,nに関する項
および
q(U:,n)は上式のようなD次元のガウス分布となる
ただし
演算⚪︎はアダマール積(Hadamard product)
同じサイズの行列やベクトルに対して 要素ごとに掛け算を行う演算を意味する
q(V:,n)に関しても同様にD次元ガウス分布となる
ただし
時間依存のあるSの近似分布
上式のようなD次元ガウス分布となる
ただし
ただし
ただし
パラメータの近似分布
q(λ)に関しては
lnq(λ)は上式となる
事後分布は事前分布と同じガンマ分布となる
ただし
期待値は上式となる
q(μU,ΛU)およびq(μV,ΛV)に関しては
ガウス・ウィシャート分布
ただし
ガウス・ウィシャート分布
ただし
ガウス・ウィシャート分布
ただし
期待値の計算
潜在変数の時系列を線形なガウス分布の連鎖により表現したモデル
隠れマルコフモデルの状態時系列の分布の連続値版
状態空間モデル(state-space model)
今回のような時系列の分解を仮定することなく、 “機械学習におけるメッセージパッシングの概要とアルゴリズム及び実装例“に述べているメッセージパッシングアルゴリズムによる直接近似q(S)から周辺分布を求める
メッセージパッシングは、カルマンフィルター(Kalman filter)およびカルマンスムーサ(Kalman smoother)の一例として知られる
文献1

5.5.4 欠損値の補間

実際の推薦システムでは、 全てのユーザーがアイテムに対して レーティングしているわけではないので
最も単純なやり方は、 線形時間方向で示した欠損値補完のアイデアをそのまま適用すること
欠損値のある箇所Rn,m,kについて上式とする
その他の変数と同様に近似分布を計算できる
このときレーティングの予測精度の期待値は<λ>=ã/ḃ
Ḃは、レーティング値とモデルによって表現される レーティング値の差の期待値の総和(上式)に依存する
値が大きいほどモデルがレーティングを説明していない
全ての評価値Rn,m,kに対して単一の精度λを仮定せずに、 λn,mとしてユーザーやアイテムごとに異なる予測精度の推論を行える
予測精度の情報をうまく使うと、 レーティングの予測平均が低くても、 不確実性の大きいアイテムを推薦できる
他の変数の近似分布に対して、 Rn,m,kが欠損値になっている場合は、 各期待値を上式として更新式を更新できる

5.6 ロジスティック回帰

はじめに
入力変数xから離散のラベルデータyを直接学習するモデル
線形回帰モデルによる連続値の予測では、 パラメータの事後分布や新規データに対する予測分布が厳密に計算できる
ロジスティック回帰では線形回帰の場合と異なり、 内部に非線形な変数変換が含まれるため、 上式のような解析ができない
変分推論の使い方として、 線形次元削減やLDAで用いた事後分布の部会による平均場近似のアプローチではなく、 ガウス分布による事後分布の近似と勾配情報を利用した最適化のアプローチを示す
ニューラルネットワークでも同様のアプローチができる

5.6.1 モデル

入力値xn∈ℝMをD個あるクラスの一つに分類するモデルを考える
多次元ベクトルynが 上式のカテゴリ分布に従って出力されると仮定する
行列W∈ℝMxDはこのモデルのパラメータ
Wの各要素wm,dに対して上式のガウス事前分布を仮定する
fは非線形関数で、 D次元のソフトマックス関数(softmax function)を仮定する
各次元dに関して上式のように定義されている
W:,d∈ℝMは、行列Wのd番目の列ベクトル
ソフトマックス関数SM(・)は、 D次元の各実数値の入力値を exp(・)によって非負値に変換し ∑d=1DSMd(WTxn)=1となるように正規化された値を返す
この変換により線形モデルWTxnを使ってカテゴリ分布のパラメータを表現できる

5.6.2 変分推論

ロジスティック回帰の目標は、
出力値と入力値の訓練データセット[X,Y]が与えられた場合の Wの事後分布を推論した上で 新規の入力データx*が与えられた時の出力値y*の予測を行うこと
事後分布はベイズの定理を使って上式となる
ロジスティック回帰モデルの事後分布の推論手法
ラプラス近似(Laplace approximation)
局所的な関数の近似を用いたもの
ハミルトニアンモンテカルロ(Hamiltonian Monte Carlo)といったサンプリング手法
ガウス分布による事後分布の近似手法
比較的シンプルな実装で、データサイズの増加に対してスケールしやすい
ガウス分布による事後分布の近似手法
近似事後分布として上式のような MxD個の一次元ガウス分布をあらかじめ仮定する
Μm,dおよびσm,dは近似分布の変分パラメータ
ηはそれら全ての変分パラメータをまとめた表記
変分推論の目標
この近似分布と真の事後分布のKLダイバージェンスを 変分パラメータに関して最小化する
KLダイバージェンスをηに関して偏微分することにより、 勾配法(gradient method)により最小化をおこなう
KLダイバージェンスの式を期待値の表記を使って展開すると上式になる
はじめの2つの項は単純にガウス分布に対数をとったものの期待値
ηの関数として表せる
最後の尤度関数の期待値の項は、 内部に非線形関数を含んでおり 解析的な期待値計算はできない
シンプルなモンテカルロ法は使えば期待値をWのサンプルを使って近似することは可能
再パラメータ化トリック(re-parameterization trick)と呼ばれる手法を使うことで、勾配の近似を求められる
一般にガウス分布によって得られるサンプル値 ὠ〜N(w|μ,σ2)は常識のような表現で表せる
決定的な関数とパラメータのないガウス分布を使って、 wのサンプルの表現を書き直して近似する
パラメータηの関数になるので、μ、σで偏微分可能となる
σ=ln(1+exp(ρ))と置き換えることで、 σが正である制約を考えることなく 実数値ρを最適化する問題になる
γ>0を勾配法における学習率(learning rate)とすると、 上式のような変分推論の更新式が得られる
勾配の具体的な計算
最終的な式

5.6.3 離散値の予測

近似の目的関数を 再パラメータ化トリックを使った勾配法によって 十分に最小化することにより、 パラメータの近似事後分布q(W;opt)が得られる
得られた近似関数を用いて新規入力x*の時のy*を予測分布を計算する
非線形SMが存在するために解析的な計算ができない
更なる近似でy*を求める必要がある
単純なモンテカルロ法によるy*の傾向の確認
サンプル数をLとすると、 近似事後分布からパラメータの実現値W(1),…,W(L)を 上式のようにして得られる

クラス数をD=2とすると、 これらのパラメータのサンプルを使って、 y*が0をとる確率と1を取る確率が同じ0.5になる境界線を図示できる
M=2として2次元平面上にデータ点と 複数の境界線の候補を10個ほどプロットしたもの
これらのサンプルを使ってy*の推定値を上式として
平面上のx*に対して評価したもの
赤が濃いほど、赤の確率が高くなる
青が濃いほど、青の確率が高くなる
L個の直線による境界線を複数統合することにより、直線でない確率を割り当てられる
データが少ない領域では、確率がよりソフト(0や1より0.5に近い)な値を取る傾向にある

5.7 ニューラルネットワーク

はじめに
ニューラルネットワークは線形回帰やロジスティック回帰と同様に、 入力xから予測値yを直接推定する確率モデル
ニューラルネットワークを使った連続値の回帰アルゴリズムを説明する
前述のモデルと違い、xからyを予測するための非線形関数をデータから学習できるのが特徴
一般的な、最尤推定やMAP推定によって得られるニューラルネットワークと比べて
誤差伝搬法(back propagation)と呼ばれる勾配評価の手法と組み合わせることで、 ロジスティック回帰の学習と同様な変分推論を適用できる

5.7.1 モデル

最も単純な2層のニューラルネットワークを用いる
入力値をxn∈ℝM、yn∈ℝDとし、 ガウス分布によってモデル化すると上式となる
Λyは固定の精度パラメータ
非線形関数は上式のように定義する
モデルのパラメータW(1)∈ℝMxK,W(2)∈ℝKxDに対して 上式のようなシンプルなガウス分布を仮定する
Tanh(・)は上式となる
図のような非線形変換を行う関数 (シグモイド関数を移動させただけ)
関数の入力W(1)TxnはK次元ベクトルになる
W(1)およびW(2)のサイズを決めるモデルパラメータKは、 ニューラルネットワークの分野では隠れユニットの個数として解釈される
Kの値を変えた場合の ニューラルネットワークモデルによる 個数のサンプルのプロット
全式を書き直すと上式となる
K=1の時は tanh関数をスケールするだけ
K>1の場合は、 異なる複数のtanh関数を足し合わせた、 表現力の豊かな関数によって ガウス分布の平均ベクトルf(W,xn)をモデル化する
K→無限大の時 ニューラルネットワークは滑らかな非線形関数となる
非線形変換にさらにソフトマックス関数を加え、 観測モデルとしてガンマ分布の代わりにカテゴリ分布を用いると
多クラス分類ニューラルネットワークの非線形変換の部分 Wk(2)Tanh(・)を恒等式に置き換えると
ニューラルネットワークの入力変数を線形関数にすれば オートエンコーダ(autoencoder)と呼ばれる非線形の次元削減手法を得る

5.7.2 変分推論

ニューラルネットワークモデルのパラメータ W={W(1),W(2)}の事後分布を推論する問題を考える
ロジスティック回帰と同様に、 対角ガウス分布を使った近似事後分布q(W;η)の利用を考える
ηは変分パラメータの集合
合計MK+KD個の全てのWの要素に対して、 1次元ガウス分布を仮定する
ガウス分布の際パラメータトリックを使って、関数g(W,η)を最小化する
ロジスティック回帰の近似とほぼ同じなので
新規の計算は、尤度関数におけるwに関する微分の評価のみ
合成関数の微分を使うと、それぞれの層におけるパラメータの微分は常識になる
ここで
実装上は、まず近似分布からサンプルされた重みとデータを使って上式を評価する
その後順番に上式から誤差でるたdを評価する
その結果を使って上式のδを計算する
誤差δがネットワークの出力がわから入力側に順番に伝わる
ニューラルネットワークには大量の訓練データを必要とする
データをひとつづつ逐次的に与えて勾配を計算する確率的勾配降下法(stochastic gradient descent)が四間使われる

5.7.3 連続値の予測

予測された近似事後分布q(W;ηopt)を使って新規データy*に対する予測を行う
解析的な予測分布p(y*|Y,x*,X)は直接求められないので、近似事後分布からのサンプルを得て可視化する
N=50の1次元入力データおよび主力データYに対して 変分推論を用いて近似事後分布を求めた後、 L=100個のサンプルされたWを使って予測関数をプロットしたもの
データの観測されていない領域では予測が不確かになる
データの存在しない領域に対する予測は
事前構造により大きく変わる
Wに対する事前分布の設定
Kの値
非線形関数fの選択
参考:ベイズ学習のこれから
機械学習のアルゴリズムの成り立ちを
ベイズ学習で行っていること
モデル化されたシステムの一部を固定
関心のない部分をまとめ上げる
様々な問題を任意の粒度・視点で解析できる
適用範囲の広さ
大規模かつ非線形性の高いモデルの効率的な学習が重要な課題
深層学習や最適化理論で培われた効率的な計算のノウハウ

付録A 計算に関する補足

A.1 基本的な行列計算

A.1.1 転置
A.1.2 逆行列
A.1.3 トレース
A.1.4 行列式
A.1.5 正定値行列

A.2 特殊な関数

A.2.1 ガンマ関数とディガンマ関数
A.2.2 シグモイド関数とソフトマックス関数

A.3 勾配法

A.3.1 関数の勾配
A.3.2 最急降下法
A.3.3 座標降下法

A.4 周辺尤度の下限

A.4.1 周辺尤度とELBO
A.4.2 ポアソン混合分布の例

参考文献

コメント

  1. […] 機械学習スタートアップシリーズ – ベイズ推論による機械学習入門 読書メモ […]

  2. […] 機械学習スタートアップシリーズ – ベイズ推論による機械学習入門 読書メモ […]

タイトルとURLをコピーしました