Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[輪読]ガウス過程と機械学習 Chapter7: ガウス過程による教師なし学習(前半)

daiki
July 18, 2023

[輪読]ガウス過程と機械学習 Chapter7: ガウス過程による教師なし学習(前半)

持橋大地/大羽成征・著,ガウス過程と機械学習,機械学習プロフェッショナルシリーズ,2019/03/07
http://chasen.org/~daiti-m/gpbook/ 

daiki

July 18, 2023
Tweet

More Decks by daiki

Other Decks in Research

Transcript

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  5. 7.1 ガウス過程潜在変数モデル(GPLVM)
    各次元𝑑 = 1, … , 𝐷についてN個の未知の入力𝑿(= 𝑥1
    , 𝑥2
    , … , 𝑥𝑁
    )
    からガウス過程回帰によって生成
    ◼𝒚(𝒅)の平均:0 (0になるように前処理), 誤差: ガウス分布

    𝑓(𝑑) ~ 𝒩(0, 𝑲𝑿
    )
    𝑦𝑛
    (𝑑) = 𝑓 𝑑 𝑥𝑛
    + 𝜖, 𝜖~𝒩(0, 𝜎2)
    ◼𝑲𝑿
    はXの各要素間のカーネル行列
    ➢(𝑛, 𝑛′)要素: 𝑘(𝑛, 𝑛′)
    3.3.3節よりまとめて(Appendix参照)
    𝒚(𝒅)~ 𝒩 0, 𝑲𝑿
    + 𝜎2𝑰 (7.3)
    ガウス過程
    ガウスノイズ付加
    5

    View Slide

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

    View Slide

  7. 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

    View Slide

  8. 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

    View Slide

  9. 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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  13. 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

    View Slide

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

    View Slide

  15. 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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  21. Appendix

    View Slide

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

    View Slide

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

    View Slide