Slide 1

Slide 1 text

ガウス過程と機械学習 Chapter7:ガウス過程による教師なし学習 daiki http://chasen.org/~daiti-m/gpbook/

Slide 2

Slide 2 text

目次 7.1 ガウス過程潜在変数モデル ◼GPLVMの生成モデル ◼GPLVMの目的関数 ◼GPLVMの学習 7.2 ガウス過程潜在変数モデルの性質 2

Slide 3

Slide 3 text

本章の立ち位置 ガウス過程回帰モデル(4章まで) ◼教師あり学習 ➢入力𝑋と出力𝑌が既知 教師なし学習(本章) ◼観測𝑌だけがあり対応する入力Xは未知 ➢実世界のデータは多くの場合これ ◼ガウス過程回帰で教師なし学習を扱えるのか ➢観測𝑌から潜在変数𝑋を求めたい 3

Slide 4

Slide 4 text

7.1 ガウス過程潜在変数モデル(GPLVM) 教師なし学習 ◼𝒀 = 𝒚𝟏 , 𝒚𝟐 , … , 𝒚𝑵 𝑇 N個のデータ ➢𝒚𝒏 = 𝑦𝑛 1 , 𝑦𝑛 2 , … , 𝑦𝑛 𝐷 𝑇 n番目のD次元データ ➢観測値𝒀はN×D次元行列 (𝒀𝒏𝒅 = 𝑦𝑛 𝑑 はn番目のd次元目の値) ◼𝒀は各次元dごとに別の意味を持ち,近いy同士で近い値になっている と考える ➢𝑦(𝑑) = 𝑦1 𝑑 , 𝑦2 𝑑 , … , 𝑦 𝑁 𝑑 𝑇 d次元目のN個の入力データ ➢これがガウス過程回帰によって生成されていると仮定 4

Slide 5

Slide 5 text

7.1 ガウス過程潜在変数モデル(GPLVM) 各次元𝑑 = 1, … , 𝐷についてN個の未知の入力𝑿(= 𝑥1 , 𝑥2 , … , 𝑥𝑁 ) からガウス過程回帰によって生成 ◼𝒚(𝒅)の平均:0 (0になるように前処理), 誤差: ガウス分布 ቐ 𝑓(𝑑) ~ 𝒩(0, 𝑲𝑿 ) 𝑦𝑛 (𝑑) = 𝑓 𝑑 𝑥𝑛 + 𝜖, 𝜖~𝒩(0, 𝜎2) ◼𝑲𝑿 はXの各要素間のカーネル行列 ➢(𝑛, 𝑛′)要素: 𝑘(𝑛, 𝑛′) 3.3.3節よりまとめて(Appendix参照) 𝒚(𝒅)~ 𝒩 0, 𝑲𝑿 + 𝜎2𝑰 (7.3) ガウス過程 ガウスノイズ付加 5

Slide 6

Slide 6 text

7.1 ガウス過程潜在変数モデル(GPLVM) 𝑦𝑛 (𝑑)と𝑦 𝑛′ (𝑑)が近いと潜在的な𝑥𝑛 と𝑥𝑛′ は近いと考える ◼カーネルを使うときは𝑥𝑛 と𝑥𝑛′ はカーネル的な意味で近い ◼Ex.)▲(潜在的な入力x)が近いと対応するベクトル(〇, ×, △)も近い 〇, ×, △はそれぞれガウス過程に従う ▲: 潜在的な入力x 6

Slide 7

Slide 7 text

7.1 ガウス過程潜在変数モデル(GPLVM) 出力各次元が独立であることを仮定 ◼データ全体𝒀の確率は𝑦 1 , 𝑦 2 , … , 𝑦 𝐷 の積より式(7.3)から 𝑝 𝒀 𝑿 = Π𝑑=1 𝐷 𝑝 𝒚 𝒅 𝑿 = Π𝑑=1 𝐷 𝒩 𝒚 𝒅 0, 𝑲𝑿 + 𝜎2𝑰 (7.4) 各𝑥がK次元の標準ガウス分布に従うとする(事前分布の仮定) 𝑝(𝑿) = Π𝑛=1 𝐷 𝑝 𝑥𝑛 , 𝑝 𝑥𝑛 = 𝒩(0, 𝐼𝐾 ) ◼K: xの存在する潜在的空間の次元数 ➢D(入力データの次元)とは無関係に決定 XとYの同時確率分布は 𝑝 𝒀, 𝑿 = 𝑝 𝒀 𝑿 𝑝 𝑿 = Π𝑑=1 𝐷 𝒩 𝒚 𝒅 0, 𝑲𝑿 + 𝜎2𝑰 ⋅ Π𝑛=1 𝑁 𝒩(0, 𝐼𝐾 ) (7.6) ◼これを最大化する潜在的な入力Xを見つけることが目標 各次元ごとの確率の積 7

Slide 8

Slide 8 text

7.1 ガウス過程潜在変数モデル(GPLVM) ガウス過程潜在潜在変数モデル (Gaussian Processing Latent Variable Model, GPLVM) ◼Xの事前分布を考えずに式(7.3)から直接求めることも可能 ➢Xが極端な値になることを防ぐために事前分布をおく方が望ましい ➢p(X)を複雑な分布とする場合は7.3節で説明 人間のポーズをGPLVMで2次元空間に埋め込んだ例[15] 人の動作のトラッキング研究 で最初に適用された経緯から 棒人間がよく登場するらしい [15]Grochow, Keith, et al. "Style-based inverse kinematics." ACM SIGGRAPH 2004 Papers. 2004. 522-531. 8

Slide 9

Slide 9 text

7.1.1 GPLVMからの生成モデル GPLVMでデータYは一般に次のように生成されていると考える 1. For 𝑛 = 1, … , 𝑁, I. 潜在的な入力𝑥𝑛 ~𝒩(0, 𝐼𝐾 )を生成 2. 𝑋 = 𝑥1 , … , 𝑥𝑁 からカーネル行列𝐾𝑋 を計算 3. For 𝑑 = 1, … , 𝐷, I. 関数値𝑓(𝑑)~𝒩(0, 𝐾𝑋 )を生成 II. 観測モデル𝑝(𝑦|𝑓)に従って,観測値𝒚(𝒅)~𝑝 𝑦 𝑓 𝑑 を生成 ガウス分布による誤差を使う場合 3. For 𝑑 = 1, … , 𝐷, I. 観測値𝒚(𝒅)~𝒩(0, 𝑲𝑿 + 𝜎2𝑰)を生成 ◼通常の確率モデルと異なりステップ3でN個の観測値 𝒚(𝒅)=(𝑦1 𝑑 , 𝑦2 𝑑 , … , 𝑦𝑁 𝑑 )を一度に生成 ➢N個の観測値を独立にせず,すべての相関を潜在変数Xを通して表現可能 サンプリング ガウス過程に従う 9

Slide 10

Slide 10 text

7.1.2 GPLVMの目的関数 目的関数𝑝 𝒀, 𝑿 = 𝑝 𝒀 𝑿 𝑝 𝑿 = Π𝑑=1 𝐷 𝒩 𝒚 𝒅 0, 𝑲𝑿 + 𝜎2𝑰 ⋅ Π𝑛=1 𝑁 𝒩(0, 𝐼𝐾 )から𝑥を求める(簡単のため𝑲𝑿 + 𝜎2𝑰は𝑲𝑿 とする) 𝑲𝑿 −𝟏 = 𝚲とすると 10

Slide 11

Slide 11 text

7.1.2 GPLVMの目的関数 𝐴𝑛𝑘 𝐵𝑘𝑛 11

Slide 12

Slide 12 text

7.1.2 GPLVMの目的関数 以上の式変換より 式(7.15)の意味 ◼tr(𝐴𝑇𝐵)は行列の内積を表す ◼式(7.15)を最大化→内積を最小化 GPLVMは観測データの相関行列𝒀𝒀𝑇とグラム行列𝑲𝑿 を近づける = 𝒀𝒀𝑇と𝑲𝑿 の内積が小さくなるように𝐗 = (𝑥1 , 𝑥2 , … , 𝑥𝑁 )を最適化 12

Slide 13

Slide 13 text

7.1.3 GPLVMの学習 式(7.15)の対数をとると,観測データYの対数尤度は 𝐿 = log 𝑝 𝒀 𝑿 = − 𝑁𝐷 2 log 2𝜋 − D 2 log Kx − 1 2 tr(Kx −1YYT) ◼最大化するXを求めるために勾配法を用いる 𝜕 𝜕𝐾𝑋 log 𝐾𝑥 = 𝐾𝑋 −1 𝜕 𝜕𝐾𝑋 tr KX −1YYT = −KX −1YYTKX −1 より, 𝜕𝐿 𝜕𝐾𝑋 = 1 2 (𝐾𝑋 −1𝑌𝑌𝑇𝐾𝑋 −1 − 𝐷𝐾𝑋 −1) ここで連鎖則から 𝜕𝐿 𝜕𝑥 = 𝜕𝐿 𝜕𝐾𝑋 𝜕𝐾𝑋 𝜕𝑥 ◼各データ潜在変数に対する勾配を計算できる ➢𝜕𝐾𝑋 𝜕𝑥 は用いるカーネル関数によって異なる 13

Slide 14

Slide 14 text

7.1.3 GPLVMの学習 𝑥𝑛 のj次元目の要素𝑥𝑛𝑗 に対する微分 𝜕𝐿 𝜕𝑥𝑛𝑗 を考える ◼標準的なガウスカーネル 𝑘 𝑥𝑛 , 𝑥𝑛′ = 𝜏 exp − 𝑥𝑛−𝑥 𝑛′ 2 𝜎 + 𝜂𝛿 𝑛, 𝑛′ の場合 ◼𝑥𝑛𝑗 に関する微分は𝑘 𝑥𝑛 , 𝑥𝑛′ または𝑘 𝑥𝑛′ , 𝑥𝑛 の項だけ ◼𝜏 exp − 𝑥𝑛−𝑥 𝑛′ 2 𝜎 = 𝜏 exp − 𝑥𝑛−𝑥 𝑛′ 𝑇 𝑥𝑛−𝑥 𝑛′ 𝜎 = 𝜏 exp(− 𝑥𝑛 𝑇𝑥𝑛−2𝑥 𝑛′ 𝑇 𝑥𝑛+𝑥 𝑛′ 𝑇 𝑥 𝑛′ 𝜎 ) 微分の連鎖則より 𝜕𝑘(𝑥𝑛 , 𝑥𝑛′ ) 𝜕𝑥𝑛𝑗 = 𝜕 𝜕𝑥𝑛𝑗 (𝜏 exp(− 𝑥𝑛 𝑇𝑥𝑛 − 2𝑥 𝑛′ 𝑇 𝑥𝑛 + 𝑥 𝑛′ 𝑇 𝑥𝑛′ 𝜎 ) + 𝜂𝛿 𝑛, 𝑛′ ) = −2𝑘 𝑥𝑛 , 𝑥𝑛′ ⋅ (𝑥𝑛𝑗 − 𝑥𝑛′𝑗 )/𝜎 𝑥𝑛𝑗 と関係がない部分は0 𝜕𝑥𝑛 𝑇𝑥𝑛 𝜕𝑥𝑛𝑗 = 𝜕 𝜕𝑥𝑛𝑗 σ 𝑘=1 𝐾 𝑥𝑛𝑘 2 = 2𝑥𝑛𝑗 𝜕𝑥 𝑛′ 𝑇 𝑥𝑛 𝜕𝑥𝑛𝑗 = 𝜕 𝜕𝑥𝑛𝑗 σ 𝑘=1 𝐾 𝑥𝑛′𝑘 𝑥𝑛𝑘 = 𝑥𝑛′𝑗 14

Slide 15

Slide 15 text

7.1.3 GPLVMの学習 これを𝑛′ = 1, … , 𝑁について並べる 𝜕𝑘 𝑥𝑛 , 𝑥1 𝜕𝑥𝑛𝑗 , … , 𝜕𝑘 𝑥𝑛 , 𝑥𝑁 𝜕𝑥𝑛𝑗 = −2 ∗ 𝐾 𝑛, : ∗. 𝑋 𝑛, 𝑗 − 𝑋 : , 𝑗 𝑇 /𝜎 𝐾 𝑛, : : Kのn番目の行ベクトル, 𝐾 : , 𝑗 : Kのj番目の列ベクトル *. : ベクトル要素ごとの掛け算 𝑋 𝑛, 𝑗 − 𝑋 : , 𝑗 : 𝑋 𝑛, 𝑗 から𝑋 : , 𝑗 の各要素を引いたベクトル  𝜕𝐿 𝜕𝐾𝑋 = 1 2 (𝐾𝑋 −1𝑌𝑌𝑇𝐾𝑋 −1 − 𝐷𝐾𝑋 −1)を行列Gとおくと, 𝜕𝑳 𝜕𝑥𝑛𝑗 = 𝜕𝑳 𝜕𝑲 𝜕𝑲 𝜕𝑥𝑛𝑗 = σ𝑚=1 𝑁 𝜕𝐿 𝜕𝑲 𝑛𝑚 𝜕𝐿 𝜕𝑥𝑛𝑗 𝑚𝑗 = σ𝑚=1 𝑁 𝐺𝑛𝑚 𝜕𝑘(𝑥𝑛,𝑥 𝑛′) 𝜕𝑥𝑛𝑗 = −4 σ𝑚=1 𝑁 (𝐺 𝑛, 𝑚 ∗ 𝐾 𝑛, 𝑚 ∗ 𝑋 𝑛, 𝑗 − 𝑋 𝑚, 𝑗 /𝜎) カーネルのハイパーパラメータ𝜃 = (𝜏, 𝜌, 𝜂)も同様に 計算可能 Kは行列なので 2回現れる? 𝑥𝑛 1 n 𝑥𝑛 1 n j 15

Slide 16

Slide 16 text

7.2 ガウス過程潜在変数モデルの性質 カーネルPCAとの関係 ◼GPLVMは主成分分析をガウス過程を用いてカーネル化したもの ◼カーネル主成分分析との違いは? ➢カーネル主成分分析: カーネルを通した後に通常の主成分分析(PCA) カーネルPCA ◼潜在変数を考えない ◼観測データyを射影𝜙(𝑦)によって高次元の特徴空間に写像して主成分分析 ➢yとy’のカーネル値𝑘(𝑦, 𝑦′) = 𝜙 𝑦 𝑇𝜙(𝑦′)を要素とする グラフ行列Kの固有ベクトルとして主成分を得る 𝐾𝛼𝑗 = 𝜆𝑗 𝛼𝑗 ◼固有ベクトル𝛼𝑗 を固有値𝜆𝑗 の大きい十に並べたとき, 𝑋 = (𝜆1 𝛼1 , 𝜆2 𝛼2 , … , 𝜆𝑁 𝛼𝑁 ) がyの主成分となる 16

Slide 17

Slide 17 text

7.2 ガウス過程潜在変数モデルの性質 GPLVM ◼入出力データセット全体を確率的生成モデルから生成されたものとする ➢潜在変数xのグラム行列を考える ◼x上のガウス過程によって観測値yが生成されたとしてxを最適化 ◼圧縮されたxの近さを直接見ているため,yが異なれば対応するxも異な り,データが適切にクラスタ化される ➢カーネルPCAはy自体ではなく,yを変換した𝜙(𝑦)の分散を最大化しているため 元のyが適切に分布する保証はない 非線形圧縮のため 各クラスがよりよく分離 例:送油データの埋め込み yは12次元の実数ベクトル 3クラスが2次元の多様体上 にあることが既知 17

Slide 18

Slide 18 text

7.2 ガウス過程潜在変数モデルの性質 GPLVMの利点と欠点: GPLVMは確率的モデル ◼データの確率が高くなる=データをよりよく説明するパラメータ(カー ネルのパラメータ)を観測データの確率を最適化することで選ぶことが できる ➢主成分分析やカーネルPCAはパラメータを自動的に選べない ◼確率モデルなので欠損値があっても問題なく学習できる RBFカーネルのバンド幅を変えたときの カーネルPCAの結果 バンド幅を変えることで改善 GPLVMが一番分離できている 18

Slide 19

Slide 19 text

7.2 ガウス過程潜在変数モデルの性質 GPLVMの利点と欠点: GPLVMは次元削減問題を直接解いている ◼主成分分析やカーネルPCA ➢2次元に圧縮する場合,3次元目以降の主成分を単純に切り捨てる ◼GPLVM ➢圧縮する次元Kが先にわかるため,可能な限りK次元で無駄なく表現される GPLVMの利点と欠点: 大域解が容易に求まらない ◼GPLVMの目的関数は凸ではなく多数の局所解が存在 ➢単純な勾配法では初期値依存 ◼xとyの間に線形モデルのような明示的な関係がない ➢「xが似ていればyも似ている」というガウス過程のみで結ばれているため ➢データYを表現できるXには無数の可能性がある ➢最適化が困難になる 19

Slide 20

Slide 20 text

7.2 ガウス過程潜在変数モデルの性質 ベイズガウス過程潜在変数モデル(Bayesian GPLVM)[48] ◼変分ベイズ法を用いてXの事後分布とハイパーパラメータを学習 ◼多数の観測値があっても5章の補助変数法により高速かつ高精度な学習 が可能 ◼潜在空間の確信度を付与可能(図の濃淡) ➢ガウス過程回帰によって計算されたデータ空間Yにおける分散 ベイズ学習により潜在座標が 明確に分離されている (学習時にクラス情報なし) 20

Slide 21

Slide 21 text

Appendix

Slide 22

Slide 22 text

今まで,観測データ𝑦は正確に回帰できるものと仮定していた しかし実際にはノイズが載っているものなので 𝑦𝑛 = 𝑓 𝒙𝒏 + 𝜖𝑛 を考えるべき.誤差𝜖𝑛 が平均0,分散𝜎2のガウス分布 𝜖𝑛 ~𝒩(0, 𝜎2) に従うとすると,𝒚 = (𝑦1 , 𝑦2 , … , 𝑦𝑛 )の確率分布は 𝑝 𝒚 𝐟 = 𝒩(𝐟, 𝜎2𝐈) ※𝐟 = (𝑓 𝒙1 , 𝑓 𝒙2 , … , 𝑓(𝒙𝑛 ))は無限個の入力に対応してガウス過程に従う無限次元のベクトル 22 ガウス過程とカーネル 観測ノイズ 3

Slide 23

Slide 23 text

この時,𝐗 = 𝒙𝟏 , 𝒙𝟐 , … , 𝒙𝒏 を与えると, 𝒚の分布はfを通してのみ𝒙に依存するので, 𝑝 𝒚 𝑿 = න 𝑝 𝒚, 𝐟 𝑿 𝑑𝐟 = න 𝑝 𝒚|𝐟)𝑝(𝐟 𝑿 𝑑𝐟 = න 𝑝 𝒚|𝐟, 𝜎2𝐈)𝒩(𝐟 𝝁, 𝑲 𝑑𝐟 = 𝒩(𝝁, 𝑲 + 𝜎2𝐈) ノイズを含めても𝒚はやはりガウス過程に従う 23 ガウス過程とカーネル 観測ノイズ 3