確率ロボティクス第4回: 連続値と多変量(その1)

千葉工業大学 上田 隆一


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

確率ロボティクス第4回(その1)

今回の内容

  • 連続値に対する確率分布の定義方法
  • 多変量の確率分布

教科書では数学的なあれこれがちょっとだけ書いてありますが、講義では実用面から考えましょう。

確率ロボティクス第4回(その1)

ある実験

  • ある位置から何度もロボットを4m前進させ、実際に到達した位置と向きの統計をとった
  • 知りたいこと: ロボットの到達した座標の分布は?
    • 右の図のような分布の図を描きたい
確率ロボティクス第4回(その1)

困ること

  • 困ること1: が「連続的」
    • 統計をとっても点になるから前ページのようなグラフが描けない
  • 困ること2: 確率変数が3つもある
    • こういうことは前回もあったが、分布の形については扱っていない
どうしましょう?
確率ロボティクス第4回(その1)

連続的・多変量の確率変数の扱い

  • ひとつずつ対処の方法を見ていきましょう
    • 離散値に近似して確率分布を求める方法
    • 空間を囲って確率を計算する方法
    • 密度・確率密度関数の導入
確率ロボティクス第4回(その1)

離散値への近似

  • 実数を離散値に対応づけると点状のデータから確率分布が描ける
  • 離散化や量子化などと呼ばれる
  • 方法
    • 実数をどこかの桁で四捨五入
    • 実数を範囲ごとに区切る
  • 例: 最初の例のの値(単位はdegree)
    • -9.5, -9.5, -4.6, -4.0, -0.3, 4.1, 6.2, 9.0, 11.1, 18.2, 18.3, 19.3, 19.9, 19.9, 21.1, 21.8, 22.5, 23.9, 24.3, 24.7
確率ロボティクス第4回(その1)

離散値への近似(多次元の場合)

  • 2次元の場合: 平面を区画化してデータの数を数えて分布に
    • 右図: 最初の例の座標についてこの作業をしたもの
  • より高い次元
    • 3次元空間、4次元空間・・・を同様に区画化
    • 4次元以上は想像しにくいので、リストや数式で考えたほうがいいかもしれない
      • 例: 4軸の区画の組み合わせに対し確率を計算するなど
確率ロボティクス第4回(その1)

離散値への近似(注意する点・問題点)

  • データの数や利用用途に応じて適切な解像度が必要
    • 右図のように分布が元のデータやデータの性質を表さない恐れ
  • 多次元になるほどデータが不足
    • 1次元でデータが必要なら次元だと必要
    • データが足りない場合、データの背景、原因を考えたほうがよりよい分布を作れるかもしれない
確率ロボティクス第4回(その1)

空間を囲って確率を計算する方法
(モンテカルロ法)

  • あらかじめ離散化の方法を決めなくても、
    データから確率は計算可能
    • 例(右図)
      • など
  • 分布は作れないが、間接的に確率を計算可能
    • たとえばロボットが左にヨレやすいことを数値化できる
確率ロボティクス第4回(その1)

モンテカルロ法

  • 前ページの方法を使う計算方法
  • 用途(けっこう重要)
    • 数値計算による積分(モンテカルロ積分
    • 移動ロボットの自己位置推定
      (Monte Carlo localization [Fox1999][Dellaert1999]
  • 数値計算の例(右図)
    • 矢をランダム(一様分布)で板に刺す
    • 円周率
確率ロボティクス第4回(その1)

囲う方法の問題点

  • 問題: これもデータ数が不足する場合があり
    • となってしまうがおそらくそうではない
      • 単にデータの数が少ない
    • これも特に次元が大きい場合に問題となる
      • Monte Carlo localizationが、そのままだとドローンの自己位置推定に使いずらいなど
確率ロボティクス第4回(その1)

密度の導入

確率ロボティクス第4回(その1)

連続的な確率変数に対する「確率」

  • 先述の2つの方法における確率: 区画や囲った範囲に与えられる
    • 区画中の1点(=本来の確率変数)に対する確率ではない
      • などの「点」の確率はゼロ
  • 点に対応する量はないのか?
    • それがないと分布の定義が大変難しい
確率ロボティクス第4回(その1)

密度の導入

  • こう考える: 確率を範囲の幅で割った値を確率変数に割り当て
  • 例: に対し、次の値を割り当て
    • 確率/区間の幅
  • この値を密度と言う
    • 「確率質量関数」というように、確率分布を質量の何かと考える
      質量を連続値で割ると「密度」
確率ロボティクス第4回(その1)

確率密度関数

  • 連続的な確率変数に密度が導入できたので、
    右図上のような関数が定義可能に
    確率密度関数
  • 確率密度関数の性質
    • 縦軸が密度=横軸を積分すると確率に
      • 右図下:
  • その他重要事項
    • の形も「確率分布」と呼ばれる
確率ロボティクス第4回(その1)

多次元の確率密度関数

  • 2次元の場合: 確率を「面積」で割ったものが密度
    • 2重積分で確率に
    • 右図: かつ
  • 3次元の場合: 確率を「体積」で割ったものが密度
    • 3重積分で確率に
  • n次元の場合: n重積分で確率に
  • ルベーグ積分での(的な)表記
      • : 空間のある領域(右図の: 2次元の例)
確率ロボティクス第4回(その1)

確率密度関数と周辺化

  • (離散的な場合が足し算で消せるのと同じで)積分で変数を消せる
    • (右図下)
    • (右図右)
  • 補足
    • そもそもこの図では最初の実験のを省略しているので、もとから周辺化されている
確率ロボティクス第4回(その1)

ここまでのまとめ

  • 連続的な確率変数、多次元の確率変数を扱った
    • データが空間中の点でとれる
    • データから確率分布を作るときに様々な近似法
  • 密度の導入
    • 連続、多次元な確率変数(ベクトル)に対し定義
    • 確率密度関数が考えられるように
    • 積分すると確率に
  • 次に考えるべきこと
    • 今まではデータで分布を作るという乱暴なことをしてきた
      • 特に多次元だとデータが足りなくなる
    • が数式で定義できるようになったので、別の方法を考えましょう
確率ロボティクス第4回(その1)