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

機械学習・確率輪講(第一回)

 機械学習・確率輪講(第一回)

高橋研究室機械学習・確率輪講、第一回の資料です。
導入を中心に、確率モデリングの考え方の大枠についてまとめました。

Shunichi09

June 19, 2019
Tweet

More Decks by Shunichi09

Other Decks in Research

Transcript

  1. 本日の流れ • 導入 • 抑えてほしい用語 • 例題 ‐ 機械学習の流れ ‐

    最尤推定vsベイズ推定 • Appendix ‐ GANとは? ‐ 尤度とは? ‐ 頭の体操 2019/6/19 2
  2. 機械学習とは? 2019/6/19 -3- [1] 人工知能は人間を超えるか ディープラーニングの先にあるもの 松尾豊 角川EPUB選書 • GPU(グラフィック・プロセッシング・ユニット)の発展...

    • インターネットによりデータの収集力の向上...etc 近年(?)急速に研究が進んでいる [1] “データをもとに入力と出力の関係を何らかの形で獲得する手法” input: 学習器 output:ロボット
  3. 機械学習とは? 2019/6/19 -4- [1] Liang, J., Jiang, L., Niebles, J.

    C., Hauptmann, A., & Fei-Fei, L. (2019). Peeking into the Future: Predicting Future Person Activities and Locations in Videos. arXiv preprint arXiv:1902.03748. [1] 入力 出力
  4. 機械学習とは 2019/6/19 -5- [1] Nguyen-Phuoc, T., Li, C., Theis, L.,

    Richardt, C., & Yang, Y. L. (2019). HoloGAN: Unsupervised learning of 3D representations from natural images. arXiv preprint arXiv:1904.01326. [1] 入力 出力
  5. 機械学習の2つのアプローチ 2019/6/19 -8- ②モデリングとしての機械学習 1. データに関するモデル(仮説)を事前に構築 (解きたい課題に対して数理的に拡張) 2. モデルのパラメータを推論計算 例:

    HMM 状態空間モデル 「モデルのデザイン」×「パラメータの推論計算」 x Ax Bu = + この点群データは どう生まれているか? パラメータ どれくらいの分散・平均? (パラメータの推論計算) ( ) ( ) ( ) ( ) 1 1 1 exp 2 2 T n f x x x    −   = − − −       ガウス分布では? (モデルのデザイン)
  6. 機械学習と制御の関わり 2019/6/19 -9- “対象の入出力データから統計的な方法でモデリングを行う方法が システム同定であり,1950年代後半に提案された.このシステム同定は AIの分野の機械学習と密接な関係をもつ ”[1] 機械学習を用いると,入力と出力(出力と状態)の関係を獲得可能 ( )

    , x f x u = なお,カルマンフィルタは,状態推定を行う手法であり,機械学習(データドリブン) とモデルベースの融合手法として知られています.       ( ) 1 , x k f x k u k + = 「モデリング」,「状態推定」
  7. 確率密度関数・確率質量関数 2019/6/19 -14- 確率密度関数(xが連続) 確率質量関数(xが離散) 次の条件を満たす関数 次の条件を満たす関数 ( ) (

    ) 0 1 p x p x dx  =  ( ) ( ) 0 1 x X p x p x   =  例:ガウス分布 例:ベルヌーイ分布 ※確率密度関数の場合は任意の範囲で 積分して確率を求めます ( ) ( )2 2 1 exp 2 2 x f x      −   = −       ( ) ( )1 Bern | 1 x x x    − = −
  8. 期待値 2019/6/19 -15- ( ) ( ) ( ) (

    ) x p x E f x f x p x dx   =    確率分布 に対してある関数 の期待値(連続) 省略されるケースもあります ( ) ( ) ( ) ( ) x p x x X E f x f x p x    =          ( ) p x ( ) f x ( ) f x x = ( )   ( )2 f x x E x = −   ( ) E x xp x dx =  の場合 平均 分散   ( )   ( ) ( ) 2 2 E x E x x E x p x dx   − = −    の場合
  9. エントロピー・KLダイバージェンス 2019/6/19 -16- ( ) ( ) ( ) (

    ) log log H p x p x p x dx E p x   = −     = −    ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) || log log log log KL q x q x q x p x D q x p x q x dx q x E q x E p x H q x E p x   = −         = −             = − −        確率分布 のエントロピー(確率分布の乱雑さ) 確率分布 と のKLダイバージェンス(確率分布の距離) ( ) q x ( ) p x ( ) p x
  10. サンプルによる期待値の近似 2019/6/19 -17- ( )   ( ) x

    p x E x xp x dx =  期待値計算は厄介 (ガウス積分等) ( )   1 1 L n x p x n E x x L =   サイコロを何回も振るようなイメージ サンプル
  11. サイコロでの例 2019/6/19 -18- 確率変数 X 確率分布   1,2,3,4,5,6 x

    期待値 分散 ( ) p x ( ) 1 6 p x = ( )   ( ) 1 1 1 2 ... 6 6 3.5 x p x x X E x xp x  = =  +  + =  ( )   ( )   ( ) ( ) ( ) ( ) 2 2 2 2 1 1 1 3.5 2 3.5 ... 6 6 35 12 x p x x X E x E x x E x p x    − = −   =  − +  − + =  エントロピー ( ) 1 1 1 1 log log ... 6 6 6 6 1 log log6 6 H p x   = − − −   = − =
  12. ベイズの定理(同時/事前/事後確率・周辺化) 2019/6/19 -19- 同時分布 ( x, y ,2つの確率変数に対する分布) 条件付き確率 (yが起きたもとでのxが起きる確率)

    ( ) , p x y ベイズの定理 ( ) ( ) ( ) , | p x y p x y p y = 周辺化 (確率変数の消去) ( ) ( ) , p y p x y dx =  ( ) ( ) ( ) ( ) | | p y x p x p x y p y = ( ) ( ) ( ) | , p y p x y p x y = “原因xのもとでの結果yの得られやすさ から,結果yが得られたときの原因xの確率 を逆算するような手続き” ( ) | p y x ( ) | p x y 事前分布 尤度 事後分布
  13. STEP2: モデリング 2019/6/19 -23- (今回の現象はコインの表と裏が出るという2つの値を取る(離散)であるので) 2つ値を取る離散の確率分布は次の分布に従う ベルヌーイ分布(コイントスを1回行い,xが出る確率) ( ) (

    )1 Bern | 1 x x x    − = − パラメータ (表が出る確率) ( ) 0,1   を代入 0.5  = ( ) ( )1 Bern | 0.5 0.5 1 0.5 x x x − = − 表(x=1)が出る確率=μ ( ) ( )0 1 Bern 1| 0.5 0.5 1 0.5 0.5 = − =   0,1 x 0(=裏) 1(=表)
  14. STEP3: パラメータ推定 2019/6/19 -24- 頻度主義 ベイズ主義 尤度をもとに尤もらしいパラメータを推定する手法 (最尤推定) 事後確率をもとにパラメータの分布を推定する手法 (ベイズ推定)

    ( ) ( )1 Bern | 1 x x x    − = − パラメータ D={1,1,1,1,1,1,1,1,1,1,1,1} ={表:12回,裏:0回} STEP1: データ収集 STEP2: モデリング STEP3: パラメータ推定
  15. STEP3: パラメータ推定(最尤推定) 2019/6/19 -25- データDが 最も得られやすいパラメータμ データDのパラメータμのもとでの得られやすさ(尤度※) (データDにおける各サンプルは独立) ➔データを固定してパラメータを動かすイメージ 尤もらしいパラメータμ

    ➔ ( ) ( ) 1 , | N i i L D p x   = =  ※尤度関数は和(積分)が 1にはなりません よって確率分布ではありません (appendixを参照) ( ) 12 L   = μ 尤もらしいパラメータは1だ! (必ず表が出る)
  16. STEP3: パラメータ推定(最尤推定) 2019/6/19 -26- データDのパラメータμのもとでの得られやすさ(尤度) 代入 ( ) ( )1

    Bern | 1 x x x    − = − ( ) ( ) 1 log , log | N i i L D p x   = =  ( ) ( ) ( ) ( ) ( ) 1 1 1 log , log 1 log 1 log 1 i i N x x i N i i i L D x x      − = = = − = + − −   対数尤度
  17. STEP3: パラメータ推定(最尤推定) 2019/6/19 -27- データDのパラメータμのもとでの得られやすさ(尤度) 最大化なので微分 ( ) ( )

    ( ) ( ) 1 log , log 1 log 1 N i i i L D x x    = = + − −  ( ) ( ) ( ) ( ) ( ) 1 1 1 log , 1 1 1 1 1 1 1 1 0 1 1 N i i i N i i i N i i d L D x x d x x x               = = = − = − − − = − + − − − = − = − −   
  18. STEP3: パラメータ推定(最尤推定) -28- ( ) 1 1 0 1 1

    N i i x    = − = − −  今回のデータDは 12回のうち12回表が出た 0(=裏) 1(=表) ( ) 1 1 1 1 0 N i i N N i i i N i i x x x N    = = = = − = = =     * 1 1 N i i x N  = =  対数尤度を最大化するパラメータμは * 1 1 12 1 N i i x  = = =  尤もらしいパラメータは1だ! (必ず表が出る) μ
  19. STEP3: パラメータ推定(ベイズ推定) 2019/6/19 -29- パラメータの事前知識を用いて事前分布 を仮定しておいて その分布を元に事後確率を計算しましょう(次回しっかりとやります!!) ( ) (

    ) ( ) ( ) ( ) ( ) | | | p D p p D p D p D p      =  事前分布(確率) 尤度関数 事後分布(確率) ベイズの定理 ( ) p  あるデータD(原因)が得られたもとでのパラメータμ(結果)の確率分布 μに依存しない 事前分布 事後分布 尤度 μ
  20. STEP3: パラメータ推定(ベイズ推定) 2019/6/19 -30- 事前知識 ( ) p  •

    (表の出る確率)は0から1の値を取る連続の値 • (表の出る確率)は大体0.5ぐらいを取るのが普通では...? の事前分布 にベータ分布を仮定 ( ) ( ) 1 1 Beta | , 1 b a B a b C    − − = − 2, 2 a b = = B C は正規化項  これが良さそう  
  21. STEP3: パラメータ推定(ベイズ推定) 2019/6/19 -31- ( ) ( ) ( )

    ( ) ( ) ( )   ( ) ( ) ( )   ( ) 1 1 | | | Beta | | | Beta | N i i N i i p D p p D p D p x a,b p D p D p x a,b         = = = =    事前分布 (1p前で算出) 尤度(さきほど算出) あるデータDが得られたもとでのパラメータμの確率分布 パラメータμ には依存しない
  22. STEP3: パラメータ推定(ベイズ推定) 2019/6/19 -32- ( ) ( ) ( )

    ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) 1 1 1 1 log | log | log log 1 log 1 1 log 1 log 1 1 log 1 log 1 N i i N i i i N N i i i i p D p x p const x x a b const x a N x b const          = = = = = + + = + − − + − + − − +   = + + + − + − − +         ( ) ( ) 1 1 Beta | , 1 b a B a b C    − − = − ベータ分布だ!!!
  23. STEP3: パラメータ推定(ベイズ推定) 2019/6/19 -33- あるデータDが得られたもとでのパラメータμの確率分布 ( ) ( ) (

    ) ( ) ( ) 1 1 log | 1 log 1 log 1 N N i i i i p D x a N x b const    = =   = + + + − + − − +       ( ) ( ) ˆ ˆ | Beta | , p D a b   = 1 1 ˆ ˆ N i i N i i a x a b N x b = = = + = − +   事前分布のパラメータ 観測によって変化する量
  24. STEP3: パラメータ推定(ベイズ推定) 2019/6/19 -34- ( ) ( ) ˆ ˆ

    | Beta | , p D a b   = 1 1 ˆ ˆ N i i N i i a x a b N x b = = = + = − +   今回のデータDは 12回のうち12回表が出た 0(=裏) 1(=表) ˆ 12 ˆ 12 a a b N b = + = − + ( ) ( ) ˆ ˆ | Beta | , p D a b   = この事後分布がパラメータの分布として適している! 事前分布 事後分布 尤度 μ
  25. STEP1: データ収集・分析 • ポイント ‐ 粘り強さが求められる部分 データがなければ機械学習の研究はできない ‐ 正確に 前処理等を間違えていると後に続くものがすべて破綻

    • キーワード ‐ 標本抽出 ‐ 特徴量エンジニアリング ‐ データ可視化 2019/6/19 -36- 欠損値・外れ値はありますか? データは母集団を表すのに十分ですか? データに偏りはありますか? データの形式はなんですか? データのタイプはなんですか?…etc
  26. STEP2: モデリング • ポイント ‐ センスが求められる部分 現象がどのような形で生成されるのか 時には視覚的な表現を使って行う ‐ 2章で紹介されている確率分布を知っておくと便利

    • キーワード ‐ グラフィカルモデル ‐ 代表的な確率分布やモデル GM, GMM, 状態空間モデル,HMM,トピックモデル...etc 2019/6/19 -37-
  27. グラフィカルモデル • よく論文等にも書かれることが多いので 各自読んでおくと今後便利かと思います (表記の話なのでここでは割愛します) 2019/6/19 -40- ProMPsの論文 PILCOの論文 [1]

    Paraschos, A., Daniel, C., Peters, J. R., & Neumann, G. (2013). Probabilistic movement primitives. In Advances in neural information processing systems (pp. 2616-2624). [2] Deisenroth, M., & Rasmussen, C. E. (2011). PILCO: A model-based and data- efficient approach to policy search. In Proceedings of the 28th International Conference on machine learning (ICML-11) (pp. 465-472).
  28. 参考:GAN[1]とは? 2019/6/19 -43- 生成器(Generator)と識別器(Discriminator)を同時に学習させる ことで,“それっぽい”画像(軌道)生成を行う手法 識別器が間違える [1] I. J. Goodfellow,

    J. Pouget-abadie, M. Mirza, B. Xu, and D. Warde-farley, “Generative Adversarial Nets,” pp. 1–9. GAN = Generative Adversarial Nets 敵対的生成ネットワーク 敵対的とは...?
  29. ( ) ( ) ( ) ( ) ( )

    ( ) ( ) min max , log log 1 data z p p G D V D G E D E D G     = + −     x x z z x z 参考:GAN[1]とは? • 評価関数 2019/6/19 -44- ( ) ~ z p z 識別器Dが 「本物データ」を「本物」と判別 識別器Dが 「生成データ」を「偽物」と判別 生成器は誤識別させたい 識別器は正しく判別 [1] I. J. Goodfellow, J. Pouget-abadie, M. Mirza, B. Xu, and D. Warde-farley, “Generative Adversarial Nets,” pp. 1–9.
  30. 参考:尤度とは? 2019/6/19 -45- 尤度関数が確率分布ではない理由 表が出る確率がθのコインがあったときに そのコインを2回投げて,“表表”と観測されたとする. この時のパラメータθの尤度(パラメータθのもとでデータDの得られやすさ) について考えてみる ➔もしθが0.9なら,その尤度は,0.81(0.9×0.9)になる ➔もしθが0.7なら,その尤度は,0.49(0.7×0.7)になる

    ➔もしθが0.5なら,その尤度は,0.25(0.5×0.5)になる ➔もしθが0.2なら,その尤度は,0.04(0.2×0.2)になる 尤度関数を積分する (θが0-1の範囲)と1/3になる ➔確率密度関数なら1 データが固定されて, パラメータを動かしている 2 L  = 尤度は確かにp(D|θ=0.5など)で求められるのですが 考え方が異なります
  31. 参考:尤度とは? 2019/6/19 -46- 尤度関数が確率分布ではない理由 表が出る確率がθのコインがあったときに そのコインを2回投げて,“表裏”と観測されたとする. この時のパラメータθの尤度(パラメータθのもとでデータDの得られやすさ) について考えてみる ➔もしθが0.9なら,その尤度は,0.09(0.9×0.1)になる ➔もしθが0.7なら,その尤度は,0.21(0.7×0.3)になる

    ➔もしθが0.5なら,その尤度は,0.25(0.5×0.5)になる ➔もしθが0.2なら,その尤度は,0.16(0.2×0.8)になる 尤度関数を積分する (θが0-1の範囲)と1/6になる ➔確率密度関数なら1 データが固定されて, パラメータを動かしている ( ) 1 L   = − 尤度は確かにp(D|θ=0.5など)で求められるのですが 考え方が異なります
  32. 頭の体操:病気の検査での例 2019/6/19 -49- ( ) ( ) ( ) (

    ) ( ) ( ) ( ) ( ) ( ) 1 1 1 1 1 1 2 2 , | | | | p B A p B A p A p A B p B p A B p B p A B p B = = + A 1 B :検査で陽性になる事象 :病気である事象 2 B :病気でない事象 ( ) p A =検査で陽性と判定される確率 =病気の人が陽性と判定される確率+病気でない人が陽性と判定される確率 ( ) ( ) 1 1 | p A B p B ( ) ( ) 2 2 | p A B p B ベイズの定理
  33. 頭の体操:病気の検査での例 2019/6/19 -50- ( ) 1 0.0001 p B =

    = ( ) 1 | 0.95 p A B = = ( ) 2 | 0.80 C p A B = = 病気である確率 ( ) 2 1 0.0001 0.9999 p B = = − = 病気でない確率 病気である人が 陽性となる確率 病気でない人が 陰性となる確率 ( ) 2 | 1 0.80 0.20 p A B = = − = 病気でない人が 陽性となる確率 これらを用いて計算!!
  34. 頭の体操:病気の検査での例 2019/6/19 -51- ( ) ( ) ( ) (

    ) ( ) ( ) ( ) 1 1 1 1 1 2 2 | | | | 0.0001 0.95 0.0001 0.95 0.9999 0.20 0.000475 p A B p B p B A p A B p B p A B p B = +  =  +  = 検査で陽性とされても病気である確率はわずか0.0475%