ベイズ統計と
確率的プログラミング言語
須山敦志@sammy_suyama
TensorFlow User Group ベイズ分科会
2020/09/06
こんな悩みないでしょうか?
機械学習を課題解決に使いたいが、使えるデータ量が少なすぎる。。
データはたくさんあるが、教師ラベルがなくて何もできない。。。
こんな悩みないでしょうか?
とりあえず解析の目標設定やデータの準備はできたが、課題やデータ自体が複雑すぎて適切なアルゴリズムが見つけられない。。
予測システムをなんとか構築したが、本運用後に予測精度が低下し使い物にならなくなった。。
こんな悩みないでしょうか?
機械学習やディープラーニングを使ってみたが、結果の解釈性が低く、予測ができたところで具体的なアクションにつながらない。。
機械学習やディープラーニングはとにかく意味不明な調整パラメータが多すぎる。。
こんな悩みないでしょうか?
機械学習や統計手法は多すぎる!もうこれ以上勉強できない。。
AutoMLなどの機械学習の自動化ツールが発達しており、今後のデータサイエンティストとしてのキャリアが心配。。
ベイズモデリングとは?
俗説的なトレードオフを断ち切る
扱う対象の複雑さ
結果の解釈のしやすさ
深層学習?
機械学習?
古典統計?
ベイズモデリング
データ・課題の複雑度。画像データや時系列データなどが複雑度の高いデータの例
データ解析の結果が具体的なアクションにつながりやすいかを示す
解釈度・複雑度の
両立を実現する
チューニングから設計へ
モデルを選んで
チューニング
課題ベースの
ソリューション設計
ベイズモデリングとは何か?
データ
確率モデル
解析結果
ベイズモデリングでできることは?
不確実性を伴った予測
課題に合わせた柔軟な解析
オーバーフィットの回避
もう少し数理的に説明すると。。。
確率分布(確率モデル)
確率計算(推論計算)
周辺確率
条件付き確率
※なお、いわゆる「ベイズの定理」とベイズ統計は本質的には無関係。
用語に関する注意点!
用語 | 一般的な使われ方 | ベイズモデリングにおける使われ方 |
学習、推論、予測 | 訓練データからパラメータを決定する過程を学習と呼び、学習済みモデルを使った新規データに対する予測を推論と呼ぶ場合が多い。 | 大量データの学習および新しいデータに対する予測をまとめて推論と呼ぶ。ベイズの理論的には、学習と予測は区別する必要はない。 |
モデル、 モデリング | 学習によって得られる予測器のことをモデルと呼び、最終的な予測器を得るまでのプロセスをモデリングと呼ぶ。 | データに対して置く数理的な仮定をモデルと呼ぶ。人手でモデルを設計するので、データを与える前からモデルは存在する。 |
アルゴリズム | データに対して、何らかの数式を何らかの方法でパラメータチューニングする方法を指す? | 条件付き分布を数値的に解析する計算手法のことを指す。(例:MCMC、変分推論法) |
普通の機械学習との違いは?
ツールボックスアプローチ
モデリングアプローチ
ベイズモデリングと解析業務
状況に合わせたモデル改善
新しいデータやアイデア・課題に対して、柔軟にモデルを拡張することができる。
一貫したアプローチ
モデルの改善とデータの理解が一体となっており、双方の進捗が進むほど新たな応用が拡大していく。
「理解」を主軸にした開発
データの生成過程の理解を主軸に置いているので、業務としての手戻りが少ない。
とはいえ
(That's great, but...)
ベイズモデリングの理想と現状
【C】計算効率の課題
【B】実装時間の課題
【A】数理知識の課題
現状
理想
モデル設計・計算設計・手法の理解・解析結果の理解のすべてにおいて高度な数理的知識が必要。
モデルを設計した後は、計算アルゴリズムを自力で導出する必要があり、実装までに大変な時間と労力がかかる。
大規模データや高度なモデルは、結果を得るまで膨大な計算時間やメモリ量を要する。
高度な数学的知識がなくても、モデルの設計が直感的に行え、モデルや結果の共有が容易にできる。
モデルを設計した後は、計算アルゴリズムはツールで自動的に生成される。これにより、分析者はモデル設計や評価に集中できる。
データの規模やモデルの構造、利用可能な計算リソースに合わせて、ツールが自動的に高効率な並列化計算を行う。
解決策:確率的プログラミング言語の活用
確率的プログラミング言語とは
手計算を排除
解析サイクルを効率化
手計算
コーディング
モデル
設計
実験
評価
推論
計算
TensorFlow Probability (TFP) を使ったデモ
まとめ
ツールボックスアプローチの限界点
低い設計自由度
幅広い既存アルゴリズムの実装が用意されているものの、多種多様で複雑な現実課題には対応できない場合が多い。特に、教師なし学習のモデルなどはほとんど設計できない。
データ処理段階での情報欠損
ツールボックスアプローチではデータに対して段階的な前処理・特徴量抽出が数多く行われることが多いが、このようなシーケンシャルな処理は予測に必要な情報の欠損をもたらす。
本運用での精度劣化
ツールボックスアプローチでは、課題やデータ自体の理解よりも、天下り的に設計された数値目標の達成に重点が置かれることが多い。これは本運用での予測精度劣化の原因となる。
精度
少しだけ補足しておくと。。。
<注意点>
ベイズの定理
Thomas Bayes?
(1701 - 1761)