機械学習

第10回: クラスタリングとベイズ推論

千葉工業大学 上田 隆一


This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

機械学習(と統計)第10回

今日やること

  • 前回つっぱしり過ぎたのでおさらいテストの解説
  • 変分推論
機械学習(と統計)第10回

前回のおさらい

  • k-means、EM法をやった
    • EM法は確率の考えを導入していたが、第6回でやったような「分布の分布」までは考えられていない
「分布の分布」は考えられるのか?→できる(ただしかなりややこしい)
機械学習(と統計)第10回

第6回のおさらい

  • 実験の成功、失敗の結果から、「成功率の分布」を考えた
    • ベータ分布:
    • 実験の結果を1つずつ反映していくと、成功率の分布が変化していった
      • 下図: 成功、成功、失敗、失敗の場合の分布の推移
        • 成功率1/2と決めつけない
    • 分布の変化はベイズの定理で計算できた

機械学習(と統計)第10回

混合ガウス分布のベイズ推定

  • 「混合分布の分布」を考える
    • 右図のように分布をドローできるもの
  • EM法との違い
    • 最尤なものでなく、分布の分布自体を計算
    • データが入ると分布をベイズの定理で更新
  • 問題: 事後確率がベイズの定理一発で計算できない
    • どうするか?EM法のように少しずつ分布の分布を変えていく
機械学習(と統計)第10回

推定対象(混合ガウス分布)のパラメータ

「分布の分布」ではなく「分布」のほうの話

  • 各ガウス分布のパラメータ:
    • (おさらい)混合ガウス分布:


  • 各データ)の所属
    • どのガウス分布に所属しているか
    • 潜在変数
機械学習(と統計)第10回

変分推論による解法

  • 推定対象の分布を、パラメータごとに独立な分布の積にして近似
      • : 近似の分布
    • のどちらかを固定、どちらかを動かして交互にデータに合わせていく
      • を動かす: クラスタの再構成
      • を動かす: 分布の再構成
        EM法と同じ(だけど計算はよりややこしく)
  • 次ページから
    • とさらに分解してをモデル化
機械学習(と統計)第10回

のモデル化

  • 番目のデータ番目のクラスタに所属する
    となる)確率分布を考える
    (添字はデータやクラスタのものでないので注意)
    • と表しましょう
    • これは特定の式にせずにテーブル状のデータに
  • 各データに対するの積をとする
機械学習(と統計)第10回

のモデル化

  • ディリクレ分布を仮定
    • ベータ分布をコインの裏表だけでなく多変数に拡張したもの
      • 例: さいころなら6

      • : のばらつきを決める
        パラメータ
        • の合計値が大きくなるほど値が定まってくる
機械学習(と統計)第10回

のモデル化

  • 各ガウス分布の分布:
    ガウス-ウィシャート分布
      • ウィシャート分布: 精度行列の分布
      • 各ガウス分布の分布を決めるパラメータ:
  • 各ガウス分布ごとのの積をとする
機械学習(と統計)第10回

これまでの変数、パラメータ一覧表

データ 推定したい分布のパラメータ 推定したい分布の分布のパラメータ
  • : データの数)
  • : ガウス分布の数)
機械学習(と統計)第10回

変分推論の手続き

  1. 適当にの事前分布を決める
    • 確率を初期化(クラスタリングに相当)
    • パラメータの初期値を与える
      • としましょう
  2. を固定し、の事後分布のパラメータを計算
    • EM法のMステップに相当(変分Mステップ
  3. を固定し、(つまり)を計算
    • EM法のEステップに相当(変分Eステップ
  • 注意: は固定
    • 事前分布を固定して、繰り返し事後分布の解を良くしていく
機械学習(と統計)第10回

変分推論の威力(その1)

とても強力なので具体的な計算方法の前に例を見せます

  • 例1: 2次元の点のクラスタリング
    • 右図: 6個のガウス分布を含む混合ガウス分布からランダムに選んだ点
    • このデータのクラスタリング(というより発生した混合ガウス分布の推論)に変分推論を適用するとどうなるか
機械学習(と統計)第10回

推論の推移

  • 混合ガウス分布の分布から平均値となる分布を描画
  • 10の分布があることを仮定不要な分布が消えていく(の値が0に収束)

機械学習(と統計)第10回

正解との比較

  • 共分散行列のずれは多少あるが、正確
    • 人間より正確かもしれない
    • (上限があるものの)数が数えられるのはかなり有用

機械学習(と統計)第10回

変分推論の威力(その2)

  • 例2: 1次元のデータの解析
    • 講師が本を書いていて偶然発見
    • 右の分布はガウス分布か?
機械学習(と統計)第10回

変分推論してみると・・・

  • もうひとつの分布が埋まっていた
    • このデータは、あるセンサの値を3秒ごとにとったもので、日が出ているときと出ていないときで平均値が違っていた
    • ある意味、人間よりもクラスタリングの解像度が高い

機械学習(と統計)第10回

実世界での使用例1

  • ボルトの先端の検出
    • 3次元の位置を1次元に変換してからクラスタリング

機械学習(と統計)第10回

実世界での使用例2

  • 物体表面の把持位置の
    クラスタリング
    • 法線ベクトルの位置、向きの6次元空間
機械学習(と統計)第10回

変分推論の具体的な計算

  • 導出は難しすぎるので、MステップとEステップでの作業だけ示します
    • の事後分布をベイズの定理で導出
    • 導出された式に当てはめるだけで使用可能
機械学習(と統計)第10回

変分Mステップ(各データの所属から分布のパラメータを計算)

  • 補助の数値を計算
    • (分布の重み付きデータ数)
    • (分布の重み付き平均)
    • (分布の重み付き共分散行列)
  • 事後分布のパラメータを計算
    • (データの個数だけ増大)
    • の中心の調整)

    •     (各ガウス分布の共分散行列の調整)
機械学習(と統計)第10回

変分Eステップ(分布のパラメータから各データの所属を計算)

  • の分布: 次の計算で導出
  • 計算結果: 次のが、になる確率


      • 式中の変数はすべて一時的に値が決まっているか既知なので計算可能
        • : の次元
        • : ディガンマ関数という関数(高級な言語にはライブラリあり)
機械学習(と統計)第10回

まとめ

  • 変分推論
    • 混合分布の分布を考える
    • EM法とおなじく繰り返しでクラスタを形成していく
      • 計算方法が(扱わなかったけど)ベイズの定理に基づいている
    • 強力
機械学習(と統計)第10回