SlideShare ist ein Scribd-Unternehmen logo
1 von 34
ベイズ統計学
プロローグ
 “Big Data”というのがはやり始めた頃
プロローグ
飲み会にて(かれこれ1年ほど前?)
最近、ベイズを
勉強してるんで
すよ
へ へ
も
へ
上司
へ へ
も
へ
お、いいね。
理解したら教え
てな!
本2冊チラッ
M
プロローグ
後日、興味が湧いたので聞いてみた
ベイズって経験
をいかせる確率
なんですよ M
へ へ
も
へ
僕
へ へ
も
へ
この前言ってた
ベイズ教えて!
ふんふん。ほん
で、ほんで?
どういう意味?
・・・
・・・
プロローグ
 2014年4月某日 グループ飲み会にて
最近、ベイズ勉
強してますよ! 各
へ へ
も
へ
お、じゃぁ近々
発表してな!
僕
へ へ
も
へ
上司
へ へ
も
へ(あれ、Mさん時と
勢いちゃうやん。
ま、飲んではるし
忘れるやろ…)
冗談ちゃうから
な。絶対やぞ。
覚えてる
からな!
プロローグ
仕事じゃないので
やり放題パワポ
本資料の目的
本資料の目的
 普通の確率との違いを理解する。
 簡単な計算ができるようになる。
 なぜビッグデータに関係するのか理解する。
 使用例
ベイズでない普通の“確率”って知ってる?
確率とは、ある現象が起こる度合い、ある
事象が現れる割合のことを言う。偶然性
を含まない一つに定まった数値であり、
発生の度合いを示す指標として使われる。
(これを数学的確率)
赤玉を取り出す確率
1/2
では、玉の数が分からない場合は?
  
0
0.5
1
1.5
2
0.01
0.07
0.13
0.19
0.25
0.31
0.37
0.43
0.49
0.55
0.61
0.67
0.73
0.79
0.85
0.91
0.97
赤玉が出る確率の分布
そう、ベイズならね!
確率を求められる、
試行毎に確率が変わる
ベイズの確率は分布で表される!
0
0.5
1
1.5
2
2.5
3
3.5
1
4
7
10
13
16
19
22
25
28
31
34
37
40
43
46
49
52
55
58
61
64
67
70
73
76
79
82
85
88
91
94
97
100
確率の分布
赤玉が出る確率
施行前
試行1回(赤)
試行2回(赤赤)
試行3回(赤赤青)
なにが違うのか?
ベイズ確率
(ベイジアン)
普通の確率
(頻度主義)
母集団
(真の値)
推定
試行結果
母集団
(確率で分布)
試行結果
試行結
果
試行結
果
試行結
果
試行結
果
試行結
果試行結果
母集団
(仮置き) 更新
母集団
(確率で分布)更新
無限回 繰り返すなんて正
気の沙汰じゃねーよ。
一生やっとけ!
VS
事前確率を勝手に
決めるなんてあり得
えねーよ。ばーか
用語 その1
ベイズの用語 有名どころ
・ベイズの定理
・ベイズ確率
・ベイズ推論
用語 その2
確率の表記について
事象Aが起こる確率を P(A)
事象Aと事象Bが同時に起こる確率 P(A∩B)
事象Bが起こった条件のもと事象Aが起こる確率 P(A|B)
A B
P(A)
A B
P(A∩B)
A B
P(A|B)
ベイズの定理
確率の表記について
事象Aが起こる確率を P(A)
事象Aと事象Bが同時に起こる確率 P(A∩B)
事象Bが起こった条件のもと事象Aが起こる確率 P(A|B)
A B
P(A)
A B
P(A∩B)
A B
P(A|B)
P(A∩B) = P(A|B) ×P(B) = P(B|A) ×P(A)
ベイズの定理 P(A|B) =
P(B|A) ×P(A)
P(B)
?
で?
ベイズの定理の意味付け
ベイズの定理のA、BをH、Dと置き換えます。
ベイズの定理
∝ k×P(D|H)
×P(H)
k・・・定数
P(D|H) ×P(H)
P(D)
D ・・・ 結果(Data)
H ・・・ 原因、仮説(Hypothesis)
・・・
事後確率
データDが得られたときの原因
がHである確率
事前確率
原因Hが発生する確率
尤度(ゆうど)
原因がHでデータDが得られる
確率
P(H|D) =
?
で!?(゚Д゚)ゴルァ!
ベイズ確率の実際の計算
では、赤玉の確率P(赤|θ)
をθ としましょう。
ベイズの確率
θの分布を求める
ベイズの定理 P(H|D)∝k×P(D|H) ×P(H)
ベイズ確率の実際の計算
では、赤玉の確率P(赤|θ)
をθ としましょう。
ベイズの定理 P(H|D)∝k×P(D|H) ×P(H)
P(θ|赤) ∝ k1 × P(赤|θ) × P(θ)
= k1 × θ × 1.0
= 2θ
θ
10
1
P(θ)
※この1.0が意味するのは、赤玉を取り出す前の何の情報
も無い状態では、全部赤玉(θ=1)、全部青玉(θ=0)も
同じ割合で存在するということ。(事前確率、経験)
θ
10
2
P(θ|赤)
ベイズ確率の実際の計算
つづき ベイズの定理 P(H|D)∝k×P(D|H) ×P(H)
P(θ|赤赤) ∝ k2 × P(赤|θ) × P(θ|赤)
= k2 × θ × 2θ
= 2k2 × θ^2
= 3θ^2
※確率なのでθ=0〜1の積分が1となるため2k2=3
θ
10
2
P(θ|赤)
θ
10
3
P(θ|赤赤)
ベイズ確率の実際の計算
つづき ベイズの定理 P(H|D)∝k×P(D|H) ×P(H)
P(θ|赤赤青) ∝ k1 × P(青|θ) × P(θ|赤赤)
= k3×(1−θ)×3θ^2
= 12(1−θ)θ^2
※確率なのでθ=0〜1の積分が1となるため3k3=12
θ
10
3
P(θ|赤赤)
10
16/9
P(θ|赤赤青)
2/3
最尤推定で確
率2/3!
ビッグデータに向いている訳
 逐次合理性
ベイズの定理 P(H|D)∝ k×P(D|H) ×P(H)
k・・・定数
事後確率
データDが得られたときの原因
がHである確率
事前確率
原因Hが発生する確率
尤度(ゆうど)
原因がHでデータDが得られ
る確率
※すべてのデータを使って計算し直す必要が無い。
使用例
技術とは使ってなんぼ
人生をハッピーにするベイズ!
(日曜日の憂鬱を軽減)
こいつ
人間の思考パターンを凌駕するのだ!
「サザエさんじゃんけん研究所 公式ウェブサイト」の「よくある質問
と回答」より
Q1:サザエさんの手は誰がどうやって決めているのですか?
A1:アニメーションを製作している株式会社エイケンの動画編集担当者(エン
ディングで「編集」とクレジットされている人)が個人的な思いつきで決めていま
す。
これはいける!
参考URL: http://park11.wakwak.com/~hkn/
なぜベイズなのか?
人間が考えるランダムはランダムではないから。
?3回 同じものを出したのは2008年以降1回だけ!
過去何回かの出力傾向を見れば、次に出すものが分かる!
ベイズの推測方法
つまり、
 事前に出た手で次に出す手を推測する。
n回前の手次の手
※http://ja.wikipedia.org/wiki/単純ベイズ分類機
このとき、分子は同時確率で、
細かいことはいいや
思考の元
過去のじゃんけんパターンを解析して予想をたてる
「サザエさんじゃんけん研究所 公式ウェブサイト」より(予測方法不明)
統計に強い言語Rを使用して計算
簡単なプログラムを作成。
入力を変化させて
・過去 約1200回のデータを学習
・99回のデータをテストデータ
で、正解率を確認
#load library for NaiveBayes
library(e1071)
#inport data last line is dummy to predict
#default read.csv is treatin string as factor , so add option and
#convert to factor after add dummy line
indata <- read.csv("DB_FILE.txt",stringsAsFactors=F)
indata <- rbind(indata,c(2000,21001010,2010,10,10,"P",""))
indata$Result <- as.factor(indata$Result)
#get data length
len <- length(indata$Times)
#function to create learning data
Get_Input <- function(num,del=0,TestCount=100){
len <- length(indata$Times)
Res <- matrix(ncol=num+1,nrow=len-num-TestCount-del)
for (i in (1+del):(len-num-TestCount)){
for(j in num:0) Res[i-del,num - j + 1] = indata$Result[i+j]
}
Res
}
#funciton to create test data(include predicting data)
Get_Test <- function(num,TestCount=100){
len <- length(indata$Times)
Res <- matrix(ncol=num+1,nrow=TestCount)
for (i in 1:TestCount){
for(j in num:0 ) Res[i,num -j + 1] = indata$Result[len - num - TestCount + i + j]
}
Res
}
#main fuction to predict last data using naivebayes
Try_NB <- function(num){
nb_input <- data.frame(Get_Input(num,TestCount=100))
nb_input$X1 <- as.factor(nb_input$X1)
nb_test <- data.frame(Get_Test(num,TestCount=100))
nb_test$X1 <- as.factor(nb_test$X1)
nb_model <- naiveBayes(X1~.,nb_input)
predict(nb_model,nb_test)
}
#set # of data to exclude to learning
#TestCount <- 5
#####Main Routine#####
#try naiveBayes with some parameters between 1 to 50
LOOP_MIN <- 1
LOOP_MAX <- 200
for (i in LOOP_MIN:LOOP_MAX) {
res <- Try_NB(i)
cat(res)
cat("n")
}
levels(indata$Result)
結果!
正解率 50%超え!
0%
10%
20%
30%
40%
50%
60%
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
n回前の手まで入力とする
正解率
正解率
確認するデータを増やしても、正解率はそれほどあがらない
※直感的にも正しいと思える。
ついでにbot化!
ゴールデンウィークの一日目を使ってbot化!
AWS
(無料サーバ)
某有名サイト
実装した機能(毎週木曜日0時に自動実行)
・某有名サイトからデータ取得
・Rでバッチ的に最新データを機械学習
(ナイーブベイズ)
・学習データをもとに予測して、結果を自動的にツイート
本サービスはAWS無料期間終了のため、
Closeしております
まとめ
・ベイズの基本公式を導きだし方を説明
・簡単な計算をやってみました
・実際の問題に適用してみました。
付録
より具体的な ベイズの計算例
例題)
男性 60人 眼鏡 50人
女性 40人 眼鏡 20人
ベイズの定理 P(H|D) =
P(D|H) ×P(H)
P(D)
D ・・・ 結果(Data)
H ・・・ 原因、仮説(Hypothesis)
ある一人を選んだとき、眼鏡を掛けていた。 その人が女性である確率は?
選んだ人が女性である確率 ・・・ P(H)
眼鏡をかけている人を選ぶ確率 ・・・ P(D)
=P(H|D) =
P(D|H) ×P(H)
P(D)
=
70/100
20/40×40/100
70
20
当たり前?では、設問の確率、P(H|D)は?
P(H) ・・・ 女性の確率 40/100
P(D) ・・・ 眼鏡をかけている確率 70/100
P(D|H) ・・・ 女性を選んだときに眼鏡をかけている確率 20/40

Weitere ähnliche Inhalte

Andere mochten auch

Rでベイズをやってみよう!(コワい本1章)@BCM勉強会
Rでベイズをやってみよう!(コワい本1章)@BCM勉強会Rでベイズをやってみよう!(コワい本1章)@BCM勉強会
Rでベイズをやってみよう!(コワい本1章)@BCM勉強会
Shushi Namba
 
『アジャイルデータサイエンス』1章 理論
『アジャイルデータサイエンス』1章 理論 『アジャイルデータサイエンス』1章 理論
『アジャイルデータサイエンス』1章 理論
Hisao Soyama
 
『アジャイルデータサイエンス』2章 データ
『アジャイルデータサイエンス』2章 データ『アジャイルデータサイエンス』2章 データ
『アジャイルデータサイエンス』2章 データ
Hisao Soyama
 
PRML ベイズロジスティック回帰
PRML ベイズロジスティック回帰PRML ベイズロジスティック回帰
PRML ベイズロジスティック回帰
hagino 3000
 
なぜベイズ統計はリスク分析に向いているのか? その哲学上および実用上の理由
なぜベイズ統計はリスク分析に向いているのか? その哲学上および実用上の理由なぜベイズ統計はリスク分析に向いているのか? その哲学上および実用上の理由
なぜベイズ統計はリスク分析に向いているのか? その哲学上および実用上の理由
takehikoihayashi
 
ベイズ推定とDeep Learningを使用したレコメンドエンジン開発
ベイズ推定とDeep Learningを使用したレコメンドエンジン開発ベイズ推定とDeep Learningを使用したレコメンドエンジン開発
ベイズ推定とDeep Learningを使用したレコメンドエンジン開発
LINE Corporation
 

Andere mochten auch (17)

エクセルで統計分析 統計プログラムHADについて
エクセルで統計分析 統計プログラムHADについてエクセルで統計分析 統計プログラムHADについて
エクセルで統計分析 統計プログラムHADについて
 
Rでベイズをやってみよう!(コワい本1章)@BCM勉強会
Rでベイズをやってみよう!(コワい本1章)@BCM勉強会Rでベイズをやってみよう!(コワい本1章)@BCM勉強会
Rでベイズをやってみよう!(コワい本1章)@BCM勉強会
 
『アジャイルデータサイエンス』1章 理論
『アジャイルデータサイエンス』1章 理論 『アジャイルデータサイエンス』1章 理論
『アジャイルデータサイエンス』1章 理論
 
『アジャイルデータサイエンス』2章 データ
『アジャイルデータサイエンス』2章 データ『アジャイルデータサイエンス』2章 データ
『アジャイルデータサイエンス』2章 データ
 
PRML ベイズロジスティック回帰
PRML ベイズロジスティック回帰PRML ベイズロジスティック回帰
PRML ベイズロジスティック回帰
 
基礎からのベイズ統計学 輪読会資料 第4章 メトロポリス・ヘイスティングス法
基礎からのベイズ統計学 輪読会資料 第4章 メトロポリス・ヘイスティングス法基礎からのベイズ統計学 輪読会資料 第4章 メトロポリス・ヘイスティングス法
基礎からのベイズ統計学 輪読会資料 第4章 メトロポリス・ヘイスティングス法
 
R高速化
R高速化R高速化
R高速化
 
StanとRでベイズ統計モデリング読書会(Osaka.stan) 第6章
StanとRでベイズ統計モデリング読書会(Osaka.stan) 第6章StanとRでベイズ統計モデリング読書会(Osaka.stan) 第6章
StanとRでベイズ統計モデリング読書会(Osaka.stan) 第6章
 
なぜベイズ統計はリスク分析に向いているのか? その哲学上および実用上の理由
なぜベイズ統計はリスク分析に向いているのか? その哲学上および実用上の理由なぜベイズ統計はリスク分析に向いているのか? その哲学上および実用上の理由
なぜベイズ統計はリスク分析に向いているのか? その哲学上および実用上の理由
 
Rの導入とRStudio事始め(改訂版)
Rの導入とRStudio事始め(改訂版)Rの導入とRStudio事始め(改訂版)
Rの導入とRStudio事始め(改訂版)
 
シンギュラリティを知らずに機械学習を語るな
シンギュラリティを知らずに機械学習を語るなシンギュラリティを知らずに機械学習を語るな
シンギュラリティを知らずに機械学習を語るな
 
はじめての「R」
はじめての「R」はじめての「R」
はじめての「R」
 
Rstudio事始め
Rstudio事始めRstudio事始め
Rstudio事始め
 
KH Coder 2 チュートリアル(スライド版)
KH Coder 2 チュートリアル(スライド版)KH Coder 2 チュートリアル(スライド版)
KH Coder 2 チュートリアル(スライド版)
 
階層モデルの分散パラメータの事前分布について
階層モデルの分散パラメータの事前分布について階層モデルの分散パラメータの事前分布について
階層モデルの分散パラメータの事前分布について
 
ベイズ推定とDeep Learningを使用したレコメンドエンジン開発
ベイズ推定とDeep Learningを使用したレコメンドエンジン開発ベイズ推定とDeep Learningを使用したレコメンドエンジン開発
ベイズ推定とDeep Learningを使用したレコメンドエンジン開発
 
0528 kanntigai ui_ux
0528 kanntigai ui_ux0528 kanntigai ui_ux
0528 kanntigai ui_ux
 

Mehr von Monta Yashi

Mehr von Monta Yashi (11)

AIと最適化の違いをうっかり聞いてしまう前に v2
AIと最適化の違いをうっかり聞いてしまう前に v2AIと最適化の違いをうっかり聞いてしまう前に v2
AIと最適化の違いをうっかり聞いてしまう前に v2
 
AIと最適化の違いをうっかり聞いてしまう前に
AIと最適化の違いをうっかり聞いてしまう前にAIと最適化の違いをうっかり聞いてしまう前に
AIと最適化の違いをうっかり聞いてしまう前に
 
Blender15
Blender15Blender15
Blender15
 
13 blender+αの大発表会
13 blender+αの大発表会13 blender+αの大発表会
13 blender+αの大発表会
 
Blender x docker(簡単分散環境構築)
Blender x docker(簡単分散環境構築)Blender x docker(簡単分散環境構築)
Blender x docker(簡単分散環境構築)
 
04 これが(多分)最後! ベンチマークs
04 これが(多分)最後! ベンチマークs04 これが(多分)最後! ベンチマークs
04 これが(多分)最後! ベンチマークs
 
お見合いで趣味を聞かれたときに 「IoTとビッグデータを少々」と答えたいSEが読む資料
お見合いで趣味を聞かれたときに 「IoTとビッグデータを少々」と答えたいSEが読む資料お見合いで趣味を聞かれたときに 「IoTとビッグデータを少々」と答えたいSEが読む資料
お見合いで趣味を聞かれたときに 「IoTとビッグデータを少々」と答えたいSEが読む資料
 
blenderとunreal engine4
blenderとunreal engine4blenderとunreal engine4
blenderとunreal engine4
 
More photorealistic!
More photorealistic!More photorealistic!
More photorealistic!
 
大人の分散レンダリング
大人の分散レンダリング大人の分散レンダリング
大人の分散レンダリング
 
Rデータ入力編
Rデータ入力編Rデータ入力編
Rデータ入力編
 

Kürzlich hochgeladen

TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
YukiTerazawa
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
koheioishi1
 

Kürzlich hochgeladen (7)

TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
 
UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptUniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScript
 
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
 
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
 

ベイズ統計学