Enviar pesquisa
Carregar
pymcとpystanでベイズ推定してみた話
•
0 gostou
•
1,925 visualizações
Classi.corp
Seguir
mcmcをPythonで行うためのパッケージ比較についての話
Leia menos
Leia mais
Dados e análise
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 21
Baixar agora
Baixar para ler offline
Recomendados
機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門
hoxo_m
Optimizer入門&最新動向
Optimizer入門&最新動向
Motokawa Tetsuya
ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定
Akira Masuda
PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門
tmtm otm
階層ベイズとWAIC
階層ベイズとWAIC
Hiroshi Shimizu
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
mlm_kansai
機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)
Kota Matsui
最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情
Yuta Kikuchi
Recomendados
機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門
hoxo_m
Optimizer入門&最新動向
Optimizer入門&最新動向
Motokawa Tetsuya
ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定
Akira Masuda
PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門
tmtm otm
階層ベイズとWAIC
階層ベイズとWAIC
Hiroshi Shimizu
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
mlm_kansai
機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)
Kota Matsui
最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情
Yuta Kikuchi
最適輸送入門
最適輸送入門
joisino
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)
Takao Yamanaka
変分ベイズ法の説明
変分ベイズ法の説明
Haruka Ozaki
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
RyuichiKanoh
グラフィカルモデル入門
グラフィカルモデル入門
Kawamoto_Kazuhiko
生成モデルの Deep Learning
生成モデルの Deep Learning
Seiya Tokui
深層生成モデルと世界モデル
深層生成モデルと世界モデル
Masahiro Suzuki
Active Learning 入門
Active Learning 入門
Shuyo Nakatani
深層生成モデルを用いたマルチモーダル学習
深層生成モデルを用いたマルチモーダル学習
Masahiro Suzuki
不均衡データのクラス分類
不均衡データのクラス分類
Shintaro Fukushima
機械学習モデルの判断根拠の説明
機械学習モデルの判断根拠の説明
Satoshi Hara
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2
Preferred Networks
Fisher Vectorによる画像認識
Fisher Vectorによる画像認識
Takao Yamanaka
Kaggleのテクニック
Kaggleのテクニック
Yasunori Ozaki
【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Models
cvpaper. challenge
PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説
弘毅 露崎
ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介
Naoki Hayashi
SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~
SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~
SSII
Stan超初心者入門
Stan超初心者入門
Hiroshi Shimizu
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門
ryosuke-kojima
if-up 2019 | A2. クラウドにつながり始めたハードウェア
if-up 2019 | A2. クラウドにつながり始めたハードウェア
SORACOM,INC
タクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて
タクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて
Takashi Suzuki
Mais conteúdo relacionado
Mais procurados
最適輸送入門
最適輸送入門
joisino
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)
Takao Yamanaka
変分ベイズ法の説明
変分ベイズ法の説明
Haruka Ozaki
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
RyuichiKanoh
グラフィカルモデル入門
グラフィカルモデル入門
Kawamoto_Kazuhiko
生成モデルの Deep Learning
生成モデルの Deep Learning
Seiya Tokui
深層生成モデルと世界モデル
深層生成モデルと世界モデル
Masahiro Suzuki
Active Learning 入門
Active Learning 入門
Shuyo Nakatani
深層生成モデルを用いたマルチモーダル学習
深層生成モデルを用いたマルチモーダル学習
Masahiro Suzuki
不均衡データのクラス分類
不均衡データのクラス分類
Shintaro Fukushima
機械学習モデルの判断根拠の説明
機械学習モデルの判断根拠の説明
Satoshi Hara
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2
Preferred Networks
Fisher Vectorによる画像認識
Fisher Vectorによる画像認識
Takao Yamanaka
Kaggleのテクニック
Kaggleのテクニック
Yasunori Ozaki
【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Models
cvpaper. challenge
PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説
弘毅 露崎
ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介
Naoki Hayashi
SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~
SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~
SSII
Stan超初心者入門
Stan超初心者入門
Hiroshi Shimizu
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門
ryosuke-kojima
Mais procurados
(20)
最適輸送入門
最適輸送入門
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)
変分ベイズ法の説明
変分ベイズ法の説明
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
グラフィカルモデル入門
グラフィカルモデル入門
生成モデルの Deep Learning
生成モデルの Deep Learning
深層生成モデルと世界モデル
深層生成モデルと世界モデル
Active Learning 入門
Active Learning 入門
深層生成モデルを用いたマルチモーダル学習
深層生成モデルを用いたマルチモーダル学習
不均衡データのクラス分類
不均衡データのクラス分類
機械学習モデルの判断根拠の説明
機械学習モデルの判断根拠の説明
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2
Fisher Vectorによる画像認識
Fisher Vectorによる画像認識
Kaggleのテクニック
Kaggleのテクニック
【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Models
PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説
ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介
SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~
SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~
Stan超初心者入門
Stan超初心者入門
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門
Semelhante a pymcとpystanでベイズ推定してみた話
if-up 2019 | A2. クラウドにつながり始めたハードウェア
if-up 2019 | A2. クラウドにつながり始めたハードウェア
SORACOM,INC
タクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて
タクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて
Takashi Suzuki
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-
Recruit Technologies
JupyterLabを中心とした快適な分析生活
JupyterLabを中心とした快適な分析生活
Classi.corp
Icml2018読み会_overview&GANs
Icml2018読み会_overview&GANs
Kentaro Tachibana
ディープラーニングによるユーザーの行動予測
ディープラーニングによるユーザーの行動予測
澪標アナリティクス
エスキュービズムの考えるDXの取り組み
エスキュービズムの考えるDXの取り組み
s-cubism sales_marketing
【Azureデータ分析シリーズ】非専門家向け/利用部門主導で始めるデータ分析_ナレッジコミュニケーション公開資料
【Azureデータ分析シリーズ】非専門家向け/利用部門主導で始めるデータ分析_ナレッジコミュニケーション公開資料
Takaya Nakanishi
Spark+AI Summit Europe 2019 セッションハイライト(Spark Meetup Tokyo #2 講演資料)
Spark+AI Summit Europe 2019 セッションハイライト(Spark Meetup Tokyo #2 講演資料)
NTT DATA Technology & Innovation
Amazon Pinpoint を中心としたカスタマーエンゲージメントの全体像 / Customer Engagement On Amazon Pinpoint
Amazon Pinpoint を中心としたカスタマーエンゲージメントの全体像 / Customer Engagement On Amazon Pinpoint
Amazon Web Services Japan
Batch Reinforcement Learning
Batch Reinforcement Learning
Takuma Oda
<インフラ管理者向け>チームでのAI開発を支援するAI開発プラットフォームKAMONOHASHI
<インフラ管理者向け>チームでのAI開発を支援するAI開発プラットフォームKAMONOHASHI
Kamonohashi
タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]
タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]
DeNA
CData general proposal
CData general proposal
CData Software Japan
時系列問題に対するCNNの有用性検証
時系列問題に対するCNNの有用性検証
Masaharu Kinoshita
入社半年での開発ストーリー - 千人規模の顔認証受付サービスを 1ヶ月で作った話 -
入社半年での開発ストーリー - 千人規模の顔認証受付サービスを 1ヶ月で作った話 -
Yoshitaka Haribara
ポストAiを見据えた日本企業の経営戦略 加藤整 20171020_v1.2
ポストAiを見据えた日本企業の経営戦略 加藤整 20171020_v1.2
Sei Kato (加藤 整)
『MobageのAnalytics活用したサービス開発』 - データマイニングCROSS2014 #CROSS2014
『MobageのAnalytics活用したサービス開発』 - データマイニングCROSS2014 #CROSS2014
Koichi Hamada
Mulesoft meetup #02 Anypointで日本のクラウドサービスを繋いでみた!
Mulesoft meetup #02 Anypointで日本のクラウドサービスを繋いでみた!
Kazuya Sugimoto
Tokyo H2O.ai Meetup#2 by Iida
Tokyo H2O.ai Meetup#2 by Iida
Hidenori Fujioka
Semelhante a pymcとpystanでベイズ推定してみた話
(20)
if-up 2019 | A2. クラウドにつながり始めたハードウェア
if-up 2019 | A2. クラウドにつながり始めたハードウェア
タクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて
タクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-
JupyterLabを中心とした快適な分析生活
JupyterLabを中心とした快適な分析生活
Icml2018読み会_overview&GANs
Icml2018読み会_overview&GANs
ディープラーニングによるユーザーの行動予測
ディープラーニングによるユーザーの行動予測
エスキュービズムの考えるDXの取り組み
エスキュービズムの考えるDXの取り組み
【Azureデータ分析シリーズ】非専門家向け/利用部門主導で始めるデータ分析_ナレッジコミュニケーション公開資料
【Azureデータ分析シリーズ】非専門家向け/利用部門主導で始めるデータ分析_ナレッジコミュニケーション公開資料
Spark+AI Summit Europe 2019 セッションハイライト(Spark Meetup Tokyo #2 講演資料)
Spark+AI Summit Europe 2019 セッションハイライト(Spark Meetup Tokyo #2 講演資料)
Amazon Pinpoint を中心としたカスタマーエンゲージメントの全体像 / Customer Engagement On Amazon Pinpoint
Amazon Pinpoint を中心としたカスタマーエンゲージメントの全体像 / Customer Engagement On Amazon Pinpoint
Batch Reinforcement Learning
Batch Reinforcement Learning
<インフラ管理者向け>チームでのAI開発を支援するAI開発プラットフォームKAMONOHASHI
<インフラ管理者向け>チームでのAI開発を支援するAI開発プラットフォームKAMONOHASHI
タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]
タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]
CData general proposal
CData general proposal
時系列問題に対するCNNの有用性検証
時系列問題に対するCNNの有用性検証
入社半年での開発ストーリー - 千人規模の顔認証受付サービスを 1ヶ月で作った話 -
入社半年での開発ストーリー - 千人規模の顔認証受付サービスを 1ヶ月で作った話 -
ポストAiを見据えた日本企業の経営戦略 加藤整 20171020_v1.2
ポストAiを見据えた日本企業の経営戦略 加藤整 20171020_v1.2
『MobageのAnalytics活用したサービス開発』 - データマイニングCROSS2014 #CROSS2014
『MobageのAnalytics活用したサービス開発』 - データマイニングCROSS2014 #CROSS2014
Mulesoft meetup #02 Anypointで日本のクラウドサービスを繋いでみた!
Mulesoft meetup #02 Anypointで日本のクラウドサービスを繋いでみた!
Tokyo H2O.ai Meetup#2 by Iida
Tokyo H2O.ai Meetup#2 by Iida
pymcとpystanでベイズ推定してみた話
1.
Copyright © 2019
Classi Corp. All Rights Reserved. 1 pymc3とpystanを比較してみた話 Classi株式会社 データAI部 小原
2.
Copyright © 2019
Classi Corp. All Rights Reserved. ● 自己紹介 ● pymc3/pystanを使おうと思ったきっかけ ● pymc3/pystanとは ○ 特徴 ○ 使い方 ○ 比較結果 ● まとめ アジェンダ
3.
Copyright © 2019
Classi Corp. All Rights Reserved.3 ◯ 高校への営業 ◯ 学習支援アプリ開発 ◯ 活用コンサルテーション ◯ プラットフォーム開発 ◯ ネイティブアプリ開発 ◯ 学校へのICT関連サポート 会社概要 ベネッセとソフトバンクのジョイントベンチャー
4.
Copyright © 2019
Classi Corp. All Rights Reserved. 「Classi」は教育現場を支援する クラウドサービス • 国内No.1、全国の高校の 50%超が導入 • 利用者数83万人超 • 先生、生徒、保護者が繋がる 学習支援プラットフォーム 4 事業について
5.
Copyright © 2019
Classi Corp. All Rights Reserved. ● 名前: 小原陽介(Twitter: @deerto_herajika) ● 所属: Classi株式会社 データAI部 ○ 学校教育現場をICT活用で支援する会社です ● 職業: DataScientist ○ 元データ整備職人 ○ 普段の業務 ■ 学習データに関する分析・モデル開発/社内BI環境の構築/ etc ○ 使用している言語・ツール: Python(Jupyter Lab)/GCP/Tableau ■ 一昨年R→Pythonにチェンジしました 自己紹介
6.
Copyright © 2019
Classi Corp. All Rights Reserved. pymc3・pystanを触ろうと思ったきっかけ ● 業務でベイズ推定を行う必要が発生した ● 既存のパッケージでサクッと事後分布を取得したい ○ pymc3とpystanが良さそう ■ 両方試してみよう ● pymc3とpystanとは: MCMC法(マルコフ連鎖モンテカルロ法)を行うパッケージ ○ MCMC法: マルコフ連鎖に則りサンプリングを行うことで、解析的に解くことので きない計算や分布を求める方法
7.
Copyright © 2019
Classi Corp. All Rights Reserved. pymc3の特徴 ● 環境 ○ python: >=3.5.4 ○ Theano:>=3.3 and < 3.6 ○ 3.6までは開発テスト済み ■ →3.5.4の環境で使用 ● 使い方 ○ with pm.model()でモデルを定義 し、確率分布を記述
8.
Copyright © 2019
Classi Corp. All Rights Reserved. pstanの特徴 ● 環境 ○ python: >=3.3 ● 特徴 ○ .stan(C++の確率的プログラミン グ言語)でモデルを定義 ○ 下記の3構造で構成される ■ data: 渡すデータ(dict) ■ parameters: 推定するパラ メータ ■ model: モデル(確率分布)
9.
Copyright © 2019
Classi Corp. All Rights Reserved. 使い方 ● 流れ: モデルを記述→サンプリングを「iteration × chain」回実行→結果を取得 ○ 推定結果のsummaryとplotが取得できる summary plot
10.
Copyright © 2019
Classi Corp. All Rights Reserved. 使い方 ● 「モデルを記述→サンプリング→結果を取得」の流れ ○ summary: 推定量のパラメータ毎に統計量が算出される
11.
Copyright © 2019
Classi Corp. All Rights Reserved. 使い方 ● 「モデルを記述→サンプリング→結果を取得」の流れ ○ summary: 推定量のパラメータ毎に統計量が算出される 平均・分散 収束結果 (r_hat < 1.1が目安)
12.
Copyright © 2019
Classi Corp. All Rights Reserved. 使い方 ● 「モデルを記述→サンプリング→結果を取得」の流れ ○ summary: 推定量のパラメータ毎に統計量が算出される
13.
Copyright © 2019
Classi Corp. All Rights Reserved. 使い方 ● 「モデルを記述→サンプリング→結果を取得」の流れ ○ summary: 推定量のパラメータ毎に統計量が算出される カーネル密度推定結果 (色はchain) サンプリング段階毎の サンプル値 (ある近辺を蛇行してい ればOK)
14.
Copyright © 2019
Classi Corp. All Rights Reserved. 使用したシチュエーション ● 8つのカテゴリに所属する試行をN回行う 場合の確率を推定したい ● 事前情報も(後々)反映させたい ● データの確からしさも推定結果の表現に 入れたい ○ 下記のベイズモデリング ■ 尤度:多項分布 ■ 事前/事後分布:ディリクレ分布 ○ (まとめに繋がるが)そもそもMCMCす る必要なかった。。。 ややこしい離散分布に関するまとめより 引用
15.
Copyright © 2019
Classi Corp. All Rights Reserved. 使用したシチュエーション ● pymc3でMCMCの実行 ○ pymc3の文法上、尤度(y)は 1 レコード文の尤度を記述する ● カテゴリ毎の確率を算出 ○ 点推定ではなく、曖昧さを 定量 的に表現できる
16.
Copyright © 2019
Classi Corp. All Rights Reserved. pymc3とpystanの比較 ● (社内データを出せないの で)sklearn.datasets.load_wineに対し て重回帰モデルを使って比較 ● 相関の高い2つの変数を選択し、 下 記のモデルを定義 wine_dataのインポート 相関表 モデル式
17.
Copyright © 2019
Classi Corp. All Rights Reserved. pymc3とpystanの比較 ~pymc3~ カーネル密度推定結果 inputデータの定義 モデルの定義 説明変数の次元が2なのでshapeを入力
18.
Copyright © 2019
Classi Corp. All Rights Reserved. pymc3とpystanの比較 ~pystan~ データ・モデルの読み込み・サンプリング モデルの定義(.stan) カーネル密度推定結果
19.
Copyright © 2019
Classi Corp. All Rights Reserved. pymc3とpystanの比較 ● 推定結果はだいたい同じ(ともに収束) ● pymc3の方が実行時間がかかったが、pythonっぽく書ける事はメリット pymc3 pystan
20.
Copyright © 2019
Classi Corp. All Rights Reserved. まとめ ● pymc3とpystan(あくまで個人の感想です) ○ 実行スピード: pymc3 < pystan ○ 書きやすさ: pymc3 > pystan ○ ドキュメントの充実度: pymc3 < pystan ○ モデルの表現度: pymc3 < pystan (?) ■ pymc3で使っているtheanoの開発が終了しているのも気になるところ ● 業務のベイズ推定はそもそも解析的に解けるパターンだった ○ (ディリクレ分布 × 多項分布 = ディリクレ分布) ○ まずは解析的に解けるかどうか考える癖をつける ■ 解析的に解けない / 階層モデルを作る際に初めて選択肢に入れる
21.
Copyright © 2019
Classi Corp. All Rights Reserved. We are Hiring! Classiでは一緒に働く仲間を募集しています ● Pythonエンジニア/データサイエンティスト/データエンジニア/… ● 詳細は採用ページにて https://hrmos.co/pages/classi
Baixar agora