Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
確率的プログラミング入門
Search
NearMeの技術発表資料です
PRO
November 01, 2024
1.1k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
確率的プログラミング入門
NearMeの技術発表資料です
PRO
November 01, 2024
More Decks by NearMeの技術発表資料です
See All by NearMeの技術発表資料です
Claude Code × git worktree で並列開発 (続き) -差分のサービスだけを併設する-
nearme_tech
PRO
1
52
Claude Code × git worktree で並列開発 — サブモジュール構成のリポジトリで成立させる —
nearme_tech
PRO
0
55
LLM + 強化学習
nearme_tech
PRO
0
32
PosthogのA/Bテスト機能の紹介
nearme_tech
PRO
1
51
AIフレンドリーなプロダクトに向けて
nearme_tech
PRO
2
65
初めてのLean言語
nearme_tech
PRO
0
100
Apache Airflow Workflow orchestration without turning cron into spaghetti
nearme_tech
PRO
2
38
実務で役立つ幾何学 ボロノイ図の基礎から グラフ・ネットワーク応用まで
nearme_tech
PRO
1
76
SQL/ID抽出タスクから考える 実践的なハルシネーション対策
nearme_tech
PRO
1
89
Featured
See All Featured
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
250
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
67
58k
RailsConf 2023
tenderlove
30
1.5k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
450
Docker and Python
trallard
47
4.2k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
270
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
490
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
480
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
270
Mind Mapping
helmedeiros
1
350
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1k
The untapped power of vector embeddings
frankvandijk
2
1.9k
Transcript
0 確率的プログラミング⼊⾨ 2024-11-01 第107回NearMe技術勉強会 Takuma KAKINOUE
1 概要 • 確率的プログラミングとは ◦ ある統計モデルに従う変数に対して,具体的な値が未定の状態(サンプリング 前の状態)でも演算が適⽤可能なプログラミングパラダイムのこと ▪ 具体的に⾔うと,例えばガンマ分布に従う変数X,Yを定義した場合, X,Yに対して四則演算(ex.
X*2, X+Y)を実⾏すると,内部で⾃動的に 統計モデルの更新が⾏われサンプリング時に演算が反映されている ◦ ベイズ統計モデリングがよく⽤いられる • 今回やること ◦ ベイズ推定について解説 ◦ MCMC(マルコフ連鎖モンテカルロ法)について解説 ◦ PyMCのサンプルコードを動かす
2 ベイズ推定 • 最尤推定との違い ◦ 推定したいパラメータθを定数として出⼒するのが最尤推定 ◦ θを確率変数と⾒て,θが従う確率分布を出⼒するのがベイズ推定 ▪ 何かしらの確率分布(事前分布)を仮定し,観測されたデータセットに
フィッティングするように事前分布を更新することで事後分布を得る • ベイズ推定のイメージ ◦ (注意)フリーハンド なので謎な確率分布 になっています!
3 ベイズ推定 • ベイズの定理を⽤いて事前分布と事後分布の関係を式で表す • 事前分布と事後分布が同じ形の分布になる場合 ◦ 解析的に事後分布を求められる! → 共役事前分布と呼ぶ
分母の積分計算が 難しい場合は, MCMC で近似!
4 ベイズ推定 • 共役事前分布の例(ベータ⼆項分布) • 共役事前分布が存在しない場合の近似⼿法 → MCMC(マルコフ連鎖モンテカルロ),スライドp.7から解説!
5 (補⾜)ベイズ推定と最尤推定 • ベータ⼆項分布におけるpの期待値を算出(最頻値を推定量にすることもある) • 最尤推定と異なり,a,bの項(事前知識)を加味している ◦ つまり,データ数が少ないときは観測データを信じすぎないとも⾔える • また,データ数が⼗分多ければベイズ推定量はx/n(UMVUE)に近づく!
6 MCMC(マルコフ連鎖モンテカルロ法,Markov Chain Monte Carlo methods) • 前提理論 つまり,事後分布からサンプリングされる任意のθの確率密度は, ”尤度関数L(x,θ)と事前分布の積”にそのθを代⼊した値に⽐例する!
→”尤度関数L(x,θ)と事前分布の積”から事後分布を⽣成できる!
7 MCMC(マルコフ連鎖モンテカルロ法,Markov Chain Monte Carlo methods) 概念的なアルゴリズム 1. 初期位置を決める 2.
「現在位置」から「次に遷移する位置」を確率的に決める 3. 「現在位置の確率密度」より「2で決めた次の位置の確率密度」が ⼤きければ確率1で遷移し,⼩さければ確率qで遷移する 4. iteration数を+1して,最⼤iteration数に達していなければ2に戻る 5. 遷移の軌跡から最初の数千個(バーンイン期間)を取り除き,残りの軌跡を出⼒する
8 サンプルコードを動かす • 今回使うライブラリ → PyMC • サンプルコード(参考⽂献から引⽤) ◦ https://github.com/CamDavidsonPilon/Probabilistic-Programming-and-Bayesi
an-Methods-for-Hackers ▪ 今回は,Chapter1のコードを解説 ▪ notebookを読むだけでもすごく勉強になるのでオススメ!
9 参考⽂献(サンプルコードを引⽤) • Pythonで体験するベイズ推論 ◦ https://www.morikita.co.jp/books/ mid/007791
10 Thank you