• 検索結果がありません。

確率的生成モデル

N/A
N/A
Protected

Academic year: 2021

シェア "確率的生成モデル"

Copied!
21
0
0

読み込み中.... (全文を見る)

全文

(1)

確率的生成モデル

http://www.cs.miyazaki-u.ac.jp/~date/

伊達 章

宮崎大学 工学部 情報システム工学科

2020

7

28

1 / 21

(2)

講義のスケジュール(案)

9.

統計的最適化に必要な基礎知識

最終課題の概要

確率,正規分布,最尤推定,対数尤度

疑似乱数,乱数の種とは

Python

で乱数生成

10.

同時確率,周辺確率,条件付確率,ベイズ推論,事後確率最大化

11.

動的計画法

12.

動くコードを完成させる方法

13.

プログラミング実践(C言語,Python)

14.

自由課題について.少し高度な話題:事後確率の具体的な計算

15.

まとめ(レポート講評)

(3)

本講義の(真の)ねらい

単純な課題を通して,これまでならったことの理解をとことん深める

アルゴリズムとデータ構造

「データ構造」の大切さ.動的計画法とは.

確率・統計,情報理論.

確率と情報の親密性.正規分布(ガウス分布),ベイズの公式.

事前確率,事後確率.事後確率最大化

数値計算

コンピュータで乱数をどう発生させるか.疑似乱数.乱数の種

(seed).事後確率値の計算(アンダーフローを防ぐには)

ソフトウェア工学

どう設計するか.変数の名前の付け方.プログラムの構造.実験 の仕方.テストコード.

パターン認識(単なるノイズ除去の問題ではない),脳の情報処理

コミュニケーション:問題設定の理解(全体像と詳細),簡潔な口 頭説明,レポート執筆(事実と考察の記述,問題発見,自問自答)

目標

:

動くコードを完成させる.自分一人で.

3 / 21

(4)

講義のスケジュール(案)

9.

統計的最適化に必要な基礎知識

最終課題の概要

確率,正規分布最尤推定,対数尤度

疑似乱数,乱数の種とは

Python

で乱数生成

10.

同時確率,周辺確率,条件付確率,ベイズ推論,事後確率最大化

11.

動的計画法

12.

動くコードを完成させる方法

13.

プログラミング実践(C言語,Python)

14.

自由課題について.少し高度な話題:事後確率の具体的な計算

15.

まとめ(レポート講評)

(5)

確率的生成モデルの実験

-2 -1 0 1 2 3 4

0 50 100 150 200

t x true , y x

MAP

seed: 20070919

P (x

MAP

| y ) = 0.03118

P (x

true

| y ) = 0.00213 σ=0.7

5 / 21

(6)

事後確率最大化

x 1 x 2 x 3 x n-1 x n

y 1 y 2 y 3 y n-1 y n

x = argmax

x

p(x)p(y | x)

= argmax

x

p(x 1 )

n

i=2

p(x i | x i 1 )

n

i=1

p(y i | x i )

= argmax

x

log p(x 1 ) +

n

i=2

log p(x i | x i−1 ) +

n

i=1

log p(y i | x i )

(7)

別の方法と性能を比較する

-2 -1 0 1 2 3 4

0 50 100 150 200

t x

true

, y x

MAP

seed: 20070919 P (xMAP| y ) = 0.03118

P (xtrue| y ) = 0.00213 σ=0.7

y i > 0.5

なら

x i = 1

と推定

貪欲法(Greedy Method)

並列処理で求める方法

周辺事後確率最大化

· · ·

x

1

x

2

x

3

x

n-1

x

n

y

1

y

2

y

3

y

n-1

y

n

7 / 21

(8)

並列処理で事後確率最大化

x 1 x 2 x 3 x n-1 x n

y 1 y 2 y 3 y n-1 y n

初期設定:x

1

から

x 200

に適当に

0, 1

を代入.

n = 200

個のうち,どれか一つをランダムに選び(kとする),他

は固定し

x k

の値を(確率的に)更新.これをひたすら繰り返す.

いつかは,事後確率を最大にする値にたどり着く(?).どのく らいの更新回数で,どのくらいよい推定ができるか.

(9)

周辺事後確率最大化

x 1 x 2 x 3 x n-1 x n

y 1 y 2 y 3 y n-1 y n

事後確率最大化

x

= argmax

x

p(x)p(y | x) = argmax

x

p(x 1 )

n i=2

p(x i | x i

1 )

n i=1

p(y i | x i )

周辺事後確率最大化:

x

k = argmax

x

k

p(x k | y)

x

k = argmax

x

k

x

1

x

2

· · ·

x

k−1

x

k+1

· · ·

x

n−1

x

n

p(x)p(y | x) (k = 1, · · · , n)

9 / 21

(10)

本講義の(真の)ねらい

単純な課題を通して,これまでならったことの理解をとことん深める

アルゴリズムとデータ構造

「データ構造」の大切さ.動的計画法とは.

確率・統計,情報理論.

確率と情報の親密性.正規分布(ガウス分布),ベイズの公式.

事前確率,事後確率.事後確率最大化

数値計算

コンピュータで乱数をどう発生させるか.疑似乱数.乱数の種

(seed).事後確率値の計算(アンダーフローを防ぐには)

ソフトウェア工学

どう設計するか.変数の名前の付け方.プログラムの構造.実験 の仕方.テストコード.

パターン認識(単なるノイズ除去の問題ではない),脳の情報処理

コミュニケーション:問題設定の理解(全体像と詳細),簡潔な口 頭説明,レポート執筆(事実と考察の記述,問題発見,自問自答)

目標

:

動くコードを完成させる.自分一人で.

(11)

確率的生成モデル

与えられているもの

データ(観測値)

y = (y 1 , · · · , y n )

モデル:

p(x), p(y | x) =

事前分布.

世の中の規則性を捉えたモデル化には,設計センスが必要

p(x 1 ) =

{ 0.5 if x 1 = 0 0.5 if x 1 = 1

p(x i+1 | x i ) =

 

 

 

0.99 if x i = 0, x i+1 = 0 0.01 if x i = 0, x i+1 = 1 0.97 if x i = 1, x i+1 = 1 0.03 if x i = 1, x i+1 = 0 p(y i | x i ) = 1

2πσ exp

{

(y i x i ) 22

}

事後確率最大化:

x

= argmax

x

p(x | y)

・真の確率分布と解釈する際の確率分布が異なっていると...

・音声認識(

YouTube

で英語の動画を,字幕を日本語にして視聴する)

11 / 21

(12)

知的なコンピュータのエンジン

生成モデル

(Generative)

Markov Random Fields

Boltzmann Machines

Generative Adversarial Networks (GAN)

Generative Query Networks(GQN)

判別モデル

(Discriminatve)

Convolutional Deep Neural Networks

並列分散処理

· · ·

(13)

確率的生成モデル(脳)とパターン認識

データ(観測値)

y = (y 1 , · · · , y n )

モデル:

p(x), p(y | x) =

事前分布

x

は見えない(脳の中,hidden),yは見える(visible)

y p(y | x)p(x)

二度と同じものは現れない

認識・思考・推論:

x

= argmax

x

p(x | y)

知識・記憶

p(x; θ)

Mind’s eye

,夜見る夢

p(x; θ)

· · ·

知的なコンピュータを開 発するヒントは脳の中に ある.ただし,なかなかわ からない....

13 / 21

(14)

講義のスケジュール(案)

9.

統計的最適化に必要な基礎知識

最終課題の概要

確率,正規分布最尤推定,対数尤度

疑似乱数,乱数の種とは,

Python

で乱数生成

10.

同時確率,周辺確率,条件付確率,ベイズ推論,事後確率最大化

11.

動的計画法

12.

動くコードを完成させる方法

13.

プログラミング実践(C言語,Python)

14.

自由課題について.少し高度な話題:事後確率の具体的な計算

15.

まとめ(レポート講評)

(15)

事後確率値の計算

-2 -1 0 1 2 3 4

0 50 100 150 200

t x true , y x

MAP

seed: 20070919

P (x

MAP

| y ) = 0.03118

P (x

true

| y ) = 0.00213 σ=0.7

15 / 21

(16)

事後確率の具体的な計算

x 1 x 2 x 3 x n-1 x n

y 1 y 2 y 3 y n-1 y n

p(x | y) = p(x, y)

p(y) = p(x)p(y | x)

˜

x

p( ˜ x)p(y | x) ˜

分母の

p(y)

を無視できない(事後確率最大化のときとは異なる)

分母:

2 n

個の和を計算する必要がある

p(x MAP | y)

といえども,値が小さい.

x

p(x | y) = 1)

(17)

事後確率の具体的な計算

1

p(x | y) = p(y) p(x, y) =

˜ x

p(˜ x, ⃗ y) p(x, y)

=

i

1

,i

2

,i

3

,

···

,i

N

p i

1

,i

2

p i

2

,i

3

q i

1

,y

1

q i

2

,y

2

q i

3

,y

3

· · · q i

N

,y

N

p x

1

,x

2

p x

2

,x

3

q x

1

,y

1

q x

2

,y

2

q x

3

,y

3

· · · q x

N

,y

N

=

i

N

q i

N

,y

N

q x

N

,y

N

· · ·

i

3

p i

3

,i

4

q i

3

,y

3

p x

3

,x

4

q x

3

,y

3

i

2

p i

2

,i

3

q i

2

,y

2

p x

2

,x

3

q x

2

,y

2

i

1

p i

1

,i

2

q i

1

,y

1

p x

1

,x

2

q x

1

,y

1

=

i

N

q i

N

,y

N

q x

N

,y

N

· · ·

i

3

p i

3

,i

4

q i

3

,y

3

p x

3

,x

4

q x

3

,y

3

i

2

p i

2

,i

3

q i

2

,y

2

r 2 (i 2 ) p x

2

,x

3

q x

2

,y

2

=

i

N

q i

N

,y

N

q x

N

,y

N

· · ·

i

3

p i

3

,i

4

q i

3

,y

3

r 3 (i 3 ) p x

3

,x

4

q x

3

,y

3

=

i

N

q i

N

,y

N

r N (i N )

q x

N

,y

N

ここで

r 2 (i 2 ) =

i

1

p i

1

,i

2

q i

1

,y

1

p x

1

,x

2

q x

1

,y

1 であり

r t (i t ) =

i

t−1

p i

t−1

,i

t

q i

t−1

,y

t−1

r t

1 (i t

1 )

p x

t−1

,x

t

q x

t−1

,y

t−1

である(

t = 3, · · · , n

17 / 21

(18)

事後確率の具体的な計算

1

p(x | y) = p(y) p(x, y) =

˜ x

p(˜ x, ⃗ y) p(x, y)

=

i

1

,i

2

,i

3

,

···

,i

N

p i

1

,i

2

p i

2

,i

3

q i

1

,y

1

q i

2

,y

2

q i

3

,y

3

· · · q i

N

,y

N

p x

1

,x

2

p x

2

,x

3

q x

1

,y

1

q x

2

,y

2

q x

3

,y

3

· · · q x

N

,y

N

=

i

N

q i

N

,y

N

q x

N

,y

N

· · ·

i

3

p i

3

,i

4

q i

3

,y

3

p x

3

,x

4

q x

3

,y

3

i

2

p i

2

,i

3

q i

2

,y

2

p x

2

,x

3

q x

2

,y

2

i

1

p i

1

,i

2

q i

1

,y

1

p x

1

,x

2

q x

1

,y

1

=

i

N

q i

N

,y

N

q x

N

,y

N

· · ·

i

3

p i

3

,i

4

q i

3

,y

3

p x

3

,x

4

q x

3

,y

3

i

2

p i

2

,i

3

q i

2

,y

2

r 2 (i 2 ) p x

2

,x

3

q x

2

,y

2

=

i

N

q i

N

,y

N

q x

N

,y

N

· · ·

i

3

p i

3

,i

4

q i

3

,y

3

r 3 (i 3 ) p x

3

,x

4

q x

3

,y

3

=

i

N

q i

N

,y

N

r N (i N )

q x

N

,y

N

ここで

r 2 (i 2 ) =

i

1

p i

1

,i

2

q i

1

,y

1

p x

1

,x

2

q x

1

,y

1 であり

r t (i t ) =

i

t−1

p i

t−1

,i

t

q i

t−1

,y

t−1

r t

1 (i t

1 ) p x

t−1

,x

t

q x

t−1

,y

t−1

である(

t = 3, · · · , n

(19)

講義のスケジュール(案)

9.

統計的最適化に必要な基礎知識

最終課題の概要

確率,正規分布最尤推定,対数尤度

疑似乱数,乱数の種とは,

Python

で乱数生成

10.

同時確率,周辺確率,条件付確率,ベイズ推論,事後確率最大化

11.

動的計画法

12.

動くコードを完成させる方法

13.

プログラミング実践(C言語,Python)

14.

自由課題について.少し高度な話題:事後確率の具体的な計算

上位

4

つの候補を表示

事後確率分布

p(x | y)

からのサンプリング(動的計画法)

· · ·

15.

まとめ(レポート講評)

19 / 21

(20)

レポートの執筆

提出締切

8/3(月) 18:00

(ともかく提出)

実験しながら執筆(実験手法,原理)

考察:問題発見の練習.問題を発見することが大事.

丁寧に記述する.

提出する前に読み直す

(21)

21 / 21

参照

関連したドキュメント

2 E-LOCA を仮定した場合でも,ECCS 系による注水流量では足りないほどの原子炉冷却材の流出が考

Guasti, Maria Teresa, and Luigi Rizzi (1996) "Null aux and the acquisition of residual V2," In Proceedings of the 20th annual Boston University Conference on Language

2008 “The BioScope corpus: annotation for negation, uncertainty and their scope in biomedical texts,” Proceedings of the Workshop on Current Trends in Biomedical Natural

・ 津波高さが 4.8m 以上~ 6.5m 未満 ( 津波シナリオ区分 3) において,原

炉心損傷 事故シーケンスPCV破損時期RPV圧力炉心損傷時期電源確保プラント損傷状態 後期 TW 炉心損傷前 早期 後期 長期TB 高圧電源確保 TQUX 早期 TBU

表4.1.1.f-1代表炉心損傷シーケンスの事故進展解析結果 PDS 炉心溶融 RPV下部プレナム リロケーションRPV破損 PCV破損 TQUV (TBP) TQUX (TBU、TBD) TQUX (RPV破損なし)

目的3 県民一人ひとりが、健全な食生活を実践する力を身につける

地震 L1 について、状態 A+α と状態 E の評価結果を比較すると、全 CDF は状態 A+α の 1.2×10 -5 /炉年から状態 E では 8.2×10 -6 /炉年まで低下し