Slide 1

Slide 1 text

高橋研機械学習・確率 輪講 第1回 Introduction 2019/06/19 関口舜一 Twitter : https://twitter.com/ShunichiSekigu1 Github : https://github.com/Shunichi09

Slide 2

Slide 2 text

本日の流れ • 導入 • 抑えてほしい用語 • 例題 ‐ 機械学習の流れ ‐ 最尤推定vsベイズ推定 • Appendix ‐ GANとは? ‐ 尤度とは? ‐ 頭の体操 2019/6/19 2

Slide 3

Slide 3 text

機械学習とは? 2019/6/19 -3- [1] 人工知能は人間を超えるか ディープラーニングの先にあるもの 松尾豊 角川EPUB選書 • GPU(グラフィック・プロセッシング・ユニット)の発展... • インターネットによりデータの収集力の向上...etc 近年(?)急速に研究が進んでいる [1] “データをもとに入力と出力の関係を何らかの形で獲得する手法” input: 学習器 output:ロボット

Slide 4

Slide 4 text

機械学習とは? 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] 入力 出力

Slide 5

Slide 5 text

機械学習とは 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] 入力 出力

Slide 6

Slide 6 text

機械学習とは? 2019/6/19 -6- “機械学習とは,データに潜む規則や構造を抽出することにより, 未知の現象に対する予測やそれに基づく判断を行うための計算技術の総称” NNや既存のライブラリに大量のデータを入れればなんとなく 勝手に入出力の関係を獲得してくれる手法 機械学習を使いこなすためには,統計,確率や線形代数の知識は必須 (使うだけならだれでもできる(Auto ML[1])) [1] https://cloud.google.com/automl/ input: 学習器 output:犬

Slide 7

Slide 7 text

損失計算 機械学習の2つのアプローチ 2019/6/19 -7- ①ツールボックスとしての機械学習 既存の予測アルゴリズム(決定木やNN※など)に対してデータを与え その中から何らかの基準に従って性能のよいアルゴリズムを選んで,予測を行う ※この本の中では,データに関する仮説を考えずに 既存の予測アルゴリズムを使用することを指しているので 何も考えずにNNを使用することもこちらのアプローチです <学習時> label: ロボット Input: 学習器 パラメータ更新 予測結果:犬

Slide 8

Slide 8 text

機械学習の2つのアプローチ 2019/6/19 -8- ②モデリングとしての機械学習 1. データに関するモデル(仮説)を事前に構築 (解きたい課題に対して数理的に拡張) 2. モデルのパラメータを推論計算 例: HMM 状態空間モデル 「モデルのデザイン」×「パラメータの推論計算」 x Ax Bu = + この点群データは どう生まれているか? パラメータ どれくらいの分散・平均? (パラメータの推論計算) ( ) ( ) ( ) ( ) 1 1 1 exp 2 2 T n f x x x    −   = − − −       ガウス分布では? (モデルのデザイン)

Slide 9

Slide 9 text

機械学習と制御の関わり 2019/6/19 -9- “対象の入出力データから統計的な方法でモデリングを行う方法が システム同定であり,1950年代後半に提案された.このシステム同定は AIの分野の機械学習と密接な関係をもつ ”[1] 機械学習を用いると,入力と出力(出力と状態)の関係を獲得可能 ( ) , x f x u = なお,カルマンフィルタは,状態推定を行う手法であり,機械学習(データドリブン) とモデルベースの融合手法として知られています.       ( ) 1 , x k f x k u k + = 「モデリング」,「状態推定」

Slide 10

Slide 10 text

輪講の目的 2019/6/19 -10- 現象をモデル化しそのモデルのパラメータをベイズ(尤度)の 考え方を使って推定する方法を理解する • 確率的モデリングの大枠の理解(第二回) • 様々な確率モデルの理解(第四回) ‐ GM, GMM, HMM, GP… • 確率分布近似法の理解(第三回) ‐ MCMC, 変分推論…

Slide 11

Slide 11 text

使う本 • ベイズ推論による機械学習 (須山敦志,杉山将) ‐ 杉山先生は東大・理研AIPで ご活躍の機械学習で著名な先生 • ガウス過程と機械学習 (持橋大地,大羽成征) 2019/6/19 -11-

Slide 12

Slide 12 text

Notation 2019/6/19 -12- 期待値の書き方が緑本と青本が異なるので注意 (青本の書き方をよく見るので青本に合わせます) ( ) ( ) ( ) ( ) ( ) ( ) p x x p x p x E f x E f x f x     = =     緑本での表記

Slide 13

Slide 13 text

抑えてほしい用語 • 確率密度関数・確率質量関数 • 期待値 • エントロピー,KLダイバージェンス • サンプリング • ベイズの定理 2019/6/19 -13-

Slide 14

Slide 14 text

確率密度関数・確率質量関数 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    − = −

Slide 15

Slide 15 text

期待値 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   − = −    の場合

Slide 16

Slide 16 text

エントロピー・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

Slide 17

Slide 17 text

サンプルによる期待値の近似 2019/6/19 -17- ( )   ( ) x p x E x xp x dx =  期待値計算は厄介 (ガウス積分等) ( )   1 1 L n x p x n E x x L =   サイコロを何回も振るようなイメージ サンプル

Slide 18

Slide 18 text

サイコロでの例 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   = − − −   = − =

Slide 19

Slide 19 text

ベイズの定理(同時/事前/事後確率・周辺化) 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 事前分布 尤度 事後分布

Slide 20

Slide 20 text

機械学習の流れ 1. データ収集・分析 2. モデリング 3. パラメータの推定(推論計算) 2019/6/19 -20- ※1と2は入れ替えても良いケース があるかもしれません

Slide 21

Slide 21 text

例題 2019/6/19 -21- あるコインがある.そのコインをはじいた時に表が出る確率を知りたい 確率変数 x 表 裏   0,1 x 0(=裏) 1(=表)

Slide 22

Slide 22 text

STEP1: データ収集・分析 2019/6/19 -22- 試しに12回コインを投げてみる (裏表の時系列的な並び(i.e. 試行1回目で表)は関係ありません) D={1,1,1,1,1,1,1,1,1,1,1,1}={表:12回,裏:0回}

Slide 23

Slide 23 text

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(=表)

Slide 24

Slide 24 text

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: パラメータ推定

Slide 25

Slide 25 text

STEP3: パラメータ推定(最尤推定) 2019/6/19 -25- データDが 最も得られやすいパラメータμ データDのパラメータμのもとでの得られやすさ(尤度※) (データDにおける各サンプルは独立) ➔データを固定してパラメータを動かすイメージ 尤もらしいパラメータμ ➔ ( ) ( ) 1 , | N i i L D p x   = =  ※尤度関数は和(積分)が 1にはなりません よって確率分布ではありません (appendixを参照) ( ) 12 L   = μ 尤もらしいパラメータは1だ! (必ず表が出る)

Slide 26

Slide 26 text

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      − = = = − = + − −   対数尤度

Slide 27

Slide 27 text

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               = = = − = − − − = − + − − − = − = − −   

Slide 28

Slide 28 text

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だ! (必ず表が出る) μ

Slide 29

Slide 29 text

STEP3: パラメータ推定(ベイズ推定) 2019/6/19 -29- パラメータの事前知識を用いて事前分布 を仮定しておいて その分布を元に事後確率を計算しましょう(次回しっかりとやります!!) ( ) ( ) ( ) ( ) ( ) ( ) | | | p D p p D p D p D p      =  事前分布(確率) 尤度関数 事後分布(確率) ベイズの定理 ( ) p  あるデータD(原因)が得られたもとでのパラメータμ(結果)の確率分布 μに依存しない 事前分布 事後分布 尤度 μ

Slide 30

Slide 30 text

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 は正規化項  これが良さそう  

Slide 31

Slide 31 text

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が得られたもとでのパラメータμの確率分布 パラメータμ には依存しない

Slide 32

Slide 32 text

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    − − = − ベータ分布だ!!!

Slide 33

Slide 33 text

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 = = = + = − +   事前分布のパラメータ 観測によって変化する量

Slide 34

Slide 34 text

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   = この事後分布がパラメータの分布として適している! 事前分布 事後分布 尤度 μ

Slide 35

Slide 35 text

STEP3: パラメータ推定 2019/6/19 -35- 頻度主義 ベイズ主義 尤度をもとに尤もらしいパラメータを推定する手法 (最尤推定)➔12回表が出たのだから100%表が出るコインだ!! 事後確率をもとにパラメータの分布を推定する手法 (ベイズ推定)➔12回表が出たけど普通は0.5だからたまたまでは...?

Slide 36

Slide 36 text

STEP1: データ収集・分析 • ポイント ‐ 粘り強さが求められる部分 データがなければ機械学習の研究はできない ‐ 正確に 前処理等を間違えていると後に続くものがすべて破綻 • キーワード ‐ 標本抽出 ‐ 特徴量エンジニアリング ‐ データ可視化 2019/6/19 -36- 欠損値・外れ値はありますか? データは母集団を表すのに十分ですか? データに偏りはありますか? データの形式はなんですか? データのタイプはなんですか?…etc

Slide 37

Slide 37 text

STEP2: モデリング • ポイント ‐ センスが求められる部分 現象がどのような形で生成されるのか 時には視覚的な表現を使って行う ‐ 2章で紹介されている確率分布を知っておくと便利 • キーワード ‐ グラフィカルモデル ‐ 代表的な確率分布やモデル GM, GMM, 状態空間モデル,HMM,トピックモデル...etc 2019/6/19 -37-

Slide 38

Slide 38 text

STEP3: パラメータ推定 • ポイント ‐ 数学的知識とプログラミング知識の問われる部分 モデルのパラメータの事後確率がどのようになるのか さらには,パラメータの確率分布を用いた予測分布がどうなるのか をライブラリや手計算で算出 • キーワード ‐ 確率分布を近似する手法 MCMC(マルコフ連鎖モンテカルロ),変分推論 2019/6/19 -38-

Slide 39

Slide 39 text

本輪講と本の内容との対応 • 第二回(6/26) ‐ 緑本3章:ベイズ推定の基本的な考え方の理解 (本日の内容をより数学的に) • 第三回(7/3) ‐ 緑本4章:複雑なモデルに対するベイズ推定の使用(変分推論,MCMC) • 第四回(7/10) ‐ 青本2-4章:ガウス過程の導入と最尤推定 • 第五回(7/17) ‐ 緑本5章,青本5-6章:より実践的な内容の紹介 2019/6/19 -39-

Slide 40

Slide 40 text

グラフィカルモデル • よく論文等にも書かれることが多いので 各自読んでおくと今後便利かと思います (表記の話なのでここでは割愛します) 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).

Slide 41

Slide 41 text

Review • 機械学習の流れ ‐ データ収集 ‐ モデリング ‐ パラメータ推定 • 最尤推定vsベイズ推定 2019/6/19 -41-

Slide 42

Slide 42 text

Appendix

Slide 43

Slide 43 text

参考: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 敵対的生成ネットワーク 敵対的とは...?

Slide 44

Slide 44 text

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

Slide 45

Slide 45 text

参考:尤度とは? 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など)で求められるのですが 考え方が異なります

Slide 46

Slide 46 text

参考:尤度とは? 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など)で求められるのですが 考え方が異なります

Slide 47

Slide 47 text

参考:尤度とは? 2019/6/19 -47- 確率は確率である理由(当たり前) 表が出る確率がθ(=0.2)のコインがあったときに そのコインを2回投げて,“表表”と観測されたとする. この事象の起きる確率は? ➔表表,その確率は,0.04(0.2×0.2)になる ➔表裏,その確率は,0.16(0.2×0.8)になる ➔裏表,その確率は,0.16(0.8×0.2)になる ➔裏裏,その確率は,0.64(0.8×0.8)になる 和が1になる! パラメータが固定されて, データを動かしている ( ) ( ) ( ) ( ) 1 1 2 2 1 1 1 1 x x x x p     − − = −  −

Slide 48

Slide 48 text

頭の体操:病気の検査での例 2019/6/19 -48- 日本人の0.01%がかかっている病気について この病気の検査方法では、実際に病気かかっている人が陽性と判定される確率が95% 逆にかかっていない人が陰性と判定される確率は80%であると言われています ある人がこの病気の検査を受けて陽性という判定を受けた時 本当にこの病気にかかっている確率はいくらでしょうか。[1] 問題:(すべてが確率の値として与えられるケース) A 1 B :検査で陽性になる事象 :検査で陰性になる事象 C A :病気である事象 2 B :病気でない事象 知りたいのは ( ) 1 | p B A [1] https://bellcurve.jp/statistics/course/6448.html

Slide 49

Slide 49 text

頭の体操:病気の検査での例 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 ベイズの定理

Slide 50

Slide 50 text

頭の体操:病気の検査での例 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 = = − = 病気でない人が 陽性となる確率 これらを用いて計算!!

Slide 51

Slide 51 text

頭の体操:病気の検査での例 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%