SlideShare a Scribd company logo
1 of 36
Download to read offline
ベイズ推論による機
械学習⼊⾨ 輪読会 #1
2019/05/26
@yoichi_t
• 時⽥ 陽⼀(@yoichi_t)
• 所属:株式会社Glia Computing
(https://www.glia-computing.com/)
• 2018年8⽉に設⽴(Co-Founder)
• 機械学習/データ分析のPoC、導⼊⽀援、コンサル
• 過去所属
• AI系ベンチャーにて、機械学習/データ分析のPoCなどを担当
• Web系広告会社にて、広告配信の最適化、ユーザ分析などを担当
• ⼤⼿警備会社研究所にて、⼈物⾏動の研究
⾃⼰紹介
1
• 時⽥ 陽⼀(@yoichi_t)
• チョコボールの秘密を解明するために、⽇々データを収集&解析
⾃⼰紹介
チョコボール 統計
2
本書の位置付け(まえがきより)
• 「機械学習」注⽬されてますね
• 多次元,多量のデータが扱える環境が整ってきた
• データを活⽤したいというニーズが⾼まっている
• しかし、機械学習を駆使して現実の課題解決に取り組める技術
者はそれほど多くない
• 技術領域が多種多様な「アルゴリズム群」として認識されている
• 「新しいアルゴリズム」をそれぞれ個別に習得しなければいけない
• 本書では、技術者がアルゴリズムを「デザイン」できるように
• 確率モデリングと推論アルゴリズムを使った⼀貫したアプローチによ
り解決法を導く
• ベイズ主義機械学習に基づいたデータ解析アルゴリズムを解説
p本書はPRMLと同様の領域を対象としていますが、PRMLと⽐較し
て話題を絞り、なるべく平易に解説されている印象
3
本書の構成
• 第1章 機械学習とベイズ学習
• 確率計算、グラフィカルモデル、意思決定などの重要な概念を解説
• 第2章 基本的な確率分布
• 学習アルゴリズムをデザインするために必須のパーツである各種の確
率分布を紹介
• 第3章 ベイズ推論による学習と予測
• 回帰などのシンプルな学習アルゴリズムを作る(ベイズ推論で)
• 第4章 混合モデルと近似推論
• 混合ガウス分布のような(少しだけ)複雑な確率モデルを構築
• 混合モデルを計算するために必要な近似アルゴリズムを導⼊
• 第5章 応⽤モデルの構築と推論
• 様々な問題に応⽤(画像圧縮、時系列モデル、⾃然⾔語、ニューラル
ネット)
üp.vi, 図0.1参照
※各章の担当は後で決めます
4
Chapter1機械学習とベイズ学習
• 1.1 機械学習とは
• 1.2 機械学習の代表的なタスク
• 1.3 機械学習の2つのアプローチ
• 1.4 確率の基本計算
• 1.5 グラフィカルモデル
• 1.6 ベイズ学習のアプローチ
• 1章では、「ベイズ学習」というものの概要を解説
• 機械学習における代表的なタスクがベイズ学習でどのように表現さ
れるのかを⽰す(具体的な計算は後の章)
• ベイズ学習の利点と⽋点
5
1.1 機械学習とは
• 本書における定義
pモデリングとしての機械学習(p.10)
• データに関するモデル(仮説)を構築し、パラメータや構造をデータ
から推定するというアプローチ
• データ構造をグラフィカルモデルで表現し、変数間の関係性を抽出
していくというアプローチが⼀貫して取られている
6
データに潜む規則や構造を抽出(≒学習)することにより、
未知の現象に対する予測やそれに基づく判断を⾏うための
計算技術の総称
1.2 機械学習の代表的なタスク
• 1.2.1 回帰
• 1.2.2 分類
• 1.2.3 クラスタリング
• 1.2.4 次元削減
• 1.2.5 その他の代表的なタスク
7
1.2.1 回帰
• M次元の実数⼊⼒𝒙 ∈ 𝑅%から連続値の出⼒y ∈ 𝑅を予測する
関数y = f(𝐱)を求める
8
𝝎 :重み。 𝝎 ∈ 𝑅%
。この値を求めるのが学習。
𝜖 :ノイズ
xは多種類のベクトルでも良いし、𝒙 = [1, 𝑥, 𝑥2]4のような変換をしても
良い(多項式回帰(polynomial regression))。また、他の関数を使って変換
したものでも良い(基底関数、ニューラルネット)。
3章→線形回帰
5章→ニューラルネットワーク
1.2.2 分類
• M次元の実数⼊⼒𝒙 ∈ 𝑅%からK個のシンボルを出⼒する関数
を求める
• 2クラス分類の場合に、𝑦6が1を取る確率𝜇6
9
𝑓(9):活性化関数。シグモイド関数など。
他クラスの問題ではソフトマックス関数が使われる。
xは回帰の場合と同様に⾮線形変換して使う場合もある。
5章でロジスティック回帰の詳細を扱う。
𝒙 = [𝑥:, 𝑥2]4の場合のロジスティク回帰
(活性化関数にシグモイド関数を⽤いた
2クラス分類)
1.2.3 クラスタリング
• N個のデータ𝑿 = {𝑥:, ⋯ , 𝑥>}をK個の集合(クラスタ)に分
ける
• Xに対してクラスタの所属ラベル𝑺 = {𝑠:, ⋯ , 𝑠>}が割り当てられる
• 各クラスタのパラメータ(ガウス混合モデルの場合、平均𝝁Cと共
分散⾏列𝜮C)
10
4章→ポアソン混合モデル、
ガウス混合モデル
1.2.4 次元削減
• D次元のデータ𝒀 ∈ 𝑅F×>を⾏列𝐖 ∈ 𝑅%×Fと𝐗 ∈ 𝑅%×>を
使って近似する
• データ量の削減
• 可視化
• 特徴抽出(⾏列Xを他のアルゴリズムへの⼊⼒とする)
11
Mがデータの特徴(本質的な情報)を
表すと考えることができる
5章→線形次元削減(主成分分析)、
⾮負値⾏列因⼦分解(NMF)、テンソル分解
1.2.5 その他のタスク
• (時系列などの)信号の系列を分離
→5章, 隠れマルコフモデル
• ⾃然⾔語で書かれた⽂章の潜在的な意味の抽出
→ 5章, トピックモデル
• シミュレーション
→ (本書全体を通して)⽣成モデル
• データの⽣成過程をモデルとして含む
• ⼈⼯的なデータをシミュレーションできる
12
1.3 機械学習の2つのアプローチ
• 1.3.1 ツールボックスとしての機械学習
• 1.3.2 モデリングとしての機械学習
13
1.3.1 ツールボックスとしての機械学習
• 既存のアルゴリズムにデータを与え、予測モデルを得る
• アルゴリズムは問題に対してデザインされたものではなく、各問題
に対しての精度向上は主に特徴抽出(feature extraction)により⾏う
• ランダムフォレスト、SVM、最近傍法など
• 利点
• ⾼度な数学的知識がなくてもとりあえず使うことができる
• ⽋点
• どのアルゴリズムを使うべきかの選定のために、思想の異なるアル
ゴリズムを理解する必要がある
• 精度や適⽤できる問題の範囲が限られる
14
1.3.2 モデリングとしての機械学習
• データに関するモデル(仮説)を事前に構築、データからモ
デルが持つパラメータや構造を学習
• 本書で扱うアプローチ
• 学習したモデルを利⽤して、予測や判断を⾏う
• 問題に応じて数理的にモデルを構築/拡張組み合わせする
• 隠れマルコフモデル、ニューラルネットなどなど
• 利点
• タスクに応じてモデルをデザインするため、精度の点で優れる(原
理的には)
• 不確実性を表現できる(ベイズ学習)
• ⽋点
• ⾃由に活⽤するためには数学の知識が必要
• 計算コストが⾼い場合がある
15
1.4 確率の基本計算
基本的な確率計算を解説
• 1.4.1 確率分布
• 1.4.2 確率分布の推論
• 1.4.3 ⾚⽟⽩⽟問題
• 1.4.4 観測データが複数ある場合
• 1.4.5 逐次推論
• 1.4.6 パラメータが未知である場合
16
1.4.1 確率分布
• 確率密度関数(下記の𝑝(x))で定義される分布
• 𝒙 = (𝑥:, ⋯ , 𝑥%)4∈ 𝑅%はM次元ベクトル
• e.g. ガウス分布(正規分布):連続量の確率分布
• e.g. ベルヌーイ分布:コイン投げのように離散値の確率分布
17
※様々な確率分布については2章
正規分布(𝑁(0,1))
1.4.2 確率分布の推論
• 同時分布(joint distribution) 𝑝(𝑥, 𝑦)
• 周辺化(marginalization)、周辺分布(marginal distribution)
• 条件付き分布(conditional distribution)
• ベイズの定理
• 独⽴性:変数xとyが独⽴なら
18
原因xから結果yが得られる確率から、
結果yが得られた時の原因xを逆算す
る⼿続き
これらから⾃然に導かれる
事後分布
事前分布
1.4.5 逐次推論
• 逐次学習、追加学習、オンライン学習、ベイズ更新とも
• 以前に得られた事後分布を次の推論の事前分布として使う
学習⽅法
• メモリ効率、リアルタイム性に優れる
19
データy2を新たに得た
1.4.6 パラメータが未知である場合
• ある事象が発⽣する確率(パラメータ)が
未知のケースで、その確率𝜃を推定したい
• e.g. 異常発⽣率、広告のクリック率
⾚⽟と⽩⽟の割合(1.4.3では既知)
• 観測データ𝑌 = 𝑦:, ⋯ , 𝑦>
• e.g. ⾚⽟⽩⽟の袋から復元抽出した結果
• データ𝑌と確率𝜃の同時分布は
• 確率𝜃の事後分布
• 事前分布をデータYに基づいて更新
20
※具体的な計算は3章
パラメータ𝜃に対する事前分布
𝜃のとりうる値の事前知識を表現
ベータ分布、ディリクレ分布など
1.5 グラフィカルモデル
• 複数の変数間の関係性をノードと⽮印で表現する記法
• 本書ではグラフを使って様々な確率モデルを視覚的に表現する
21
𝑥 𝑦 𝑝 𝑥, 𝑦 = 𝑝 𝑦 𝑥 𝑝(𝑥)
親ノード ⼦ノード リンクの接続がないノード間は独⽴
(p.24 図1.11と1.56式参照)
𝑥 𝑦
N
• どの変数が条件づけられているかを明
記する(観測データなど)ために塗り
つぶす
• 変数がN個あることを明⽰するために
プレート表現を使う
1.5 グラフィカルモデル
• 条件付き独⽴性(conditional independence)
• グラフ上のある変数が観測されることで、他のノードが独⽴の分布
に分解できるような性質
22
𝑥 𝑦 𝑧
𝑥
𝑦
𝑧
head-to-tail型モデル
tail-to-tail型モデル
1.5 グラフィカルモデル
• yが観測されることで独⽴性を失うケース
23
𝑥
𝑦
𝑧
head-to-head型モデル
マルコフブランケット
a~fの変数がxと依存関係を持つ
特に、xとhead-to-head型の接続になる
c,dがxと依存関係を持つようになる
1.6 ベイズ学習のアプローチ
• 「ベイズ学習(Bayesian machine learning)」の概要を解説
• 1.6.1 モデルの構築と推論
• 1.6.2 各タスクにおけるベイズ推論
• 1.6.3 複雑な事後分布に対する近似計算
• 1.6.4 不確実性に基づく意思決定
• 1.6.5 ベイズ学習の利点と⽋点
24
1.6.1 モデルの構築と推論
• ベイズ学習のステップ
25
推論の導出
事後分布𝑝 𝑿 𝐷 =
R(F,𝑿)
R(F)
を求める
モデル構築
観測データDと道の変数Xに関して、同時分布p(D,X)を
構築する
• 確率分布(2章)を組み合わ
せて観測データと未知変
数との関係を記述
• 解析的に計算ができない
場合がある
(近似計算, 4章)
• 分⺟p(D)をモデルエビデ
ンス、周辺尤度と呼ぶ
1.6.2 各タスクにおけるベイズ推論
• 回帰/クラス分類
26
𝑥6 𝑦6
N
𝑊
• 同時分布(モデル構築)
• 事後分布
• 予測分布
※計算の詳細は3章
データxからyを
予測するための
パラメータ
1.6.2 各タスクにおけるベイズ推論
• クラスタリング
27
𝑠6 𝑥6
N
Θ
• 同時分布(モデル構築)
• 事後分布(クラス割当、クラスタの性質)
• ⽣成モデル
※計算の詳細は4章
クラスタの
割り当て
クラスタの中⼼
などを表すパラ
メータ
1.6.3 複雑な事後分布に対する近似計算
• 事後分布は解析的に計算ができない場合がある
Ø近似計算が必要
• サンプリングによる近似
• MCMCアルゴリズム(ギブスサンプリング)
• 計算しやすい簡単な式を使って周辺化計算を近似
• 変分推論
• 詳細は4章
28
1.6.4 不確実性に基づく意思決定
• 現実問題では、確率の⾒積りだけでは⾜りない場合がある
• 確率推論 → 不確実性の定量化
• 各事象の損失(利益)を定義し、期待損失(収益)による論理的な意思
決定
29
1.6.4 不確実性に基づく意思決定
• 現実問題では、確率の⾒積りだけでは⾜りない場合がある
• 確率推論 → 不確実性の定量化
• 各事象の損失(利益)を定義し、期待損失(収益)による論理的な意思
決定
• e.g. ⾬の確率推論結果を活⽤して傘を持っていくか否かの意思決定
30
確率推論:p(y=晴)=0.8, p(y=⾬)=0.2 (⼆値の離散確率分布)
損失関数
A) L(y=晴,x=傘なし)=0
L(y=⾬,x=傘なし)=100
L(y=晴,x=傘あり)=10
L(y=⾬,x=傘あり)=15
B) L(y=晴,x=傘なし)=0
L(y=⾬,x=傘なし)=50
L(y=晴,x=傘あり)=20
L(y=⾬,x=傘あり)=25
期待損失 (期待値𝐸 𝑌 = ∫ 𝑦𝑓 𝑦 𝑑𝑦)
𝐸 𝐿(𝑥 = 𝑎) = ∫ 𝐿 𝑦, 𝑥 = 𝑎 𝑝 𝑦 𝑑𝑦
A) 𝐸 𝐿(𝑥 = 傘なし) = 20
𝐸 𝐿(𝑥 = 傘あり) = 11
B) 𝐸 𝐿(𝑥 = 傘なし) = 10
𝐸 𝐿(𝑥 = 傘あり) = 21
1.6.4 不確実性に基づく意思決定
• 現実問題では、確率の⾒積りだけでは⾜りない場合がある
• 確率推論 → 不確実性の定量化
• 各事象の損失(利益)を定義し、期待損失(収益)による論理的な意思
決定
• e.g. ⾬の確率推論結果を活⽤して傘を持っていくか否かの意思決定
31
確率推論:p(y=晴)=0.8, p(y=⾬)=0.2 (⼆値の離散確率分布)
損失関数
A) L(y=晴,x=傘なし)=0
L(y=⾬,x=傘なし)=100
L(y=晴,x=傘あり)=10
L(y=⾬,x=傘あり)=15
B) L(y=晴,x=傘なし)=0
L(y=⾬,x=傘なし)=50
L(y=晴,x=傘あり)=20
L(y=⾬,x=傘あり)=25
期待損失 (期待値𝐸 𝑌 = ∫ 𝑦𝑓 𝑦 𝑑𝑦)
𝐸 𝐿(𝑥 = 𝑎) = ∫ 𝐿 𝑦, 𝑥 = 𝑎 𝑝 𝑦 𝑑𝑦
A) 𝐸 𝐿(𝑥 = 傘なし) = 20
𝐸 𝐿(𝑥 = 傘あり) = 11
B) 𝐸 𝐿(𝑥 = 傘なし) = 10
𝐸 𝐿(𝑥 = 傘あり) = 21
推論の不確実性が⼤きい場合には判断を
⾒送るという意思決定もできる
1.6.5 ベイズ学習の利点と⽋点
• 利点
① 様々な問題が⼀貫性をもって解ける
② 対象の不確実性を定量的に取り扱うことができる
③ 利⽤可能な知識を⾃然に取り⼊れることができる
④ 過剰適合しにくい
• ⽋点
① 数理的な知識を要する
② 計算コストがかかる
32
1.6.5 ベイズ学習の利点と⽋点
• 利点
① 様々な問題が⼀貫性をもって解ける
• モデルの構築と推論の2ステップでアプローチする(1.6.1節)
② 対象の不確実性を定量的に取り扱うことができる
• 原因の確率を推論するものであり、どれほど確信しているのかを定量
的に出⼒ (1.6.4節)
③ 利⽤可能な知識を⾃然に取り⼊れることができる
• 事前分布として推定したい未知のパラメータに対する知識を導⼊(知識
がない場合には知識がないことを表現)
• データ構造に対する仮説を確率分布の組み合わせで表現(仮説が間違っ
ているかを含めて推論できる)
④ 過剰適合しにくい
• 最尤推定は特にデータが少なかったり次元が⼤きいと過剰適合(over
fitting)しやすいが、ベイズ学習の場合には厳密には過剰適合という概
念がない(頻度主義とベイズ主義の思想の違い)
• データセットによっては過剰適合のように振る舞うこともある
• 事前分布による正則化(PRML, 1章)
33
1.6.5 ベイズ学習の利点と⽋点
• ⽋点
① 数理的な知識を要する
• データや現象を調べ、背後にある特徴や傾向を確率分布の組み合わせ
で表現する必要がある
② 計算コストがかかる
• シンプルなモデル以外の(実⽤的な)モデルは解析的に計算ができない
• 近似推論に頼る必要があり、計算結果の妥当性の検証が必要
34
参考1.3 どの⾔語を使って実装するか?
• 3章以降で具体的な確率推論の計算を扱う
• 3章では解析解の導出
• 4章では複雑な確率分布でモデルを構築し、近似計算を⾏う
• 確率的プログラミング⾔語(PPL)
• 確率モデルを記述することで⾃動的に近似推論アルゴリズムを実⾏
• MCMCアルゴリズム
• 変分推論
• 解析者はモデリングに集中できる
• Stan, Tensorflow Probability, Pyro, PyMC3など
• 数理的な知識は必要
• PPLにまかせっきりでは実⽤上の課題が発⽣するケースも
• 計算コストが実⽤的ではない場合があったり、推論しやすいようなデ
ザインが必要だったり
35

More Related Content

Similar to 20190526 bayes ml

深層生成モデルと世界モデル(2020/11/20版)
深層生成モデルと世界モデル(2020/11/20版)深層生成モデルと世界モデル(2020/11/20版)
深層生成モデルと世界モデル(2020/11/20版)Masahiro Suzuki
 
深層生成モデルと世界モデル, 深層生成モデルライブラリPixyzについて
深層生成モデルと世界モデル,深層生成モデルライブラリPixyzについて深層生成モデルと世界モデル,深層生成モデルライブラリPixyzについて
深層生成モデルと世界モデル, 深層生成モデルライブラリPixyzについてMasahiro Suzuki
 
PRML輪読#8
PRML輪読#8PRML輪読#8
PRML輪読#8matsuolab
 
NaITE#14 メトリクス解析(データ解析)の初歩
NaITE#14 メトリクス解析(データ解析)の初歩NaITE#14 メトリクス解析(データ解析)の初歩
NaITE#14 メトリクス解析(データ解析)の初歩Asako Yanuki
 
Prml Reading Group 10 8.3
Prml Reading Group 10 8.3Prml Reading Group 10 8.3
Prml Reading Group 10 8.3正志 坪坂
 
[DL輪読会]Meta-Learning Probabilistic Inference for Prediction
[DL輪読会]Meta-Learning Probabilistic Inference for Prediction[DL輪読会]Meta-Learning Probabilistic Inference for Prediction
[DL輪読会]Meta-Learning Probabilistic Inference for PredictionDeep Learning JP
 

Similar to 20190526 bayes ml (6)

深層生成モデルと世界モデル(2020/11/20版)
深層生成モデルと世界モデル(2020/11/20版)深層生成モデルと世界モデル(2020/11/20版)
深層生成モデルと世界モデル(2020/11/20版)
 
深層生成モデルと世界モデル, 深層生成モデルライブラリPixyzについて
深層生成モデルと世界モデル,深層生成モデルライブラリPixyzについて深層生成モデルと世界モデル,深層生成モデルライブラリPixyzについて
深層生成モデルと世界モデル, 深層生成モデルライブラリPixyzについて
 
PRML輪読#8
PRML輪読#8PRML輪読#8
PRML輪読#8
 
NaITE#14 メトリクス解析(データ解析)の初歩
NaITE#14 メトリクス解析(データ解析)の初歩NaITE#14 メトリクス解析(データ解析)の初歩
NaITE#14 メトリクス解析(データ解析)の初歩
 
Prml Reading Group 10 8.3
Prml Reading Group 10 8.3Prml Reading Group 10 8.3
Prml Reading Group 10 8.3
 
[DL輪読会]Meta-Learning Probabilistic Inference for Prediction
[DL輪読会]Meta-Learning Probabilistic Inference for Prediction[DL輪読会]Meta-Learning Probabilistic Inference for Prediction
[DL輪読会]Meta-Learning Probabilistic Inference for Prediction
 

More from Yoichi Tokita

20200808_PyMCを使えばちょっと複雑な確率モデルも怖くない
20200808_PyMCを使えばちょっと複雑な確率モデルも怖くない20200808_PyMCを使えばちょっと複雑な確率モデルも怖くない
20200808_PyMCを使えばちょっと複雑な確率モデルも怖くないYoichi Tokita
 
20190512 bayes hands-on
20190512 bayes hands-on20190512 bayes hands-on
20190512 bayes hands-onYoichi Tokita
 
20190330 chainer meetup chocoball
20190330 chainer meetup chocoball20190330 chainer meetup chocoball
20190330 chainer meetup chocoballYoichi Tokita
 
20190316 bayes modeling
20190316 bayes modeling 20190316 bayes modeling
20190316 bayes modeling Yoichi Tokita
 
20190317 prml ch2 probability Distribution
20190317 prml ch2 probability Distribution20190317 prml ch2 probability Distribution
20190317 prml ch2 probability DistributionYoichi Tokita
 
20190209 bayes modeling_s_pub
20190209 bayes modeling_s_pub20190209 bayes modeling_s_pub
20190209 bayes modeling_s_pubYoichi Tokita
 
チョコボールのエンゼル出現確率をベイズ推定する
チョコボールのエンゼル出現確率をベイズ推定するチョコボールのエンゼル出現確率をベイズ推定する
チョコボールのエンゼル出現確率をベイズ推定するYoichi Tokita
 

More from Yoichi Tokita (7)

20200808_PyMCを使えばちょっと複雑な確率モデルも怖くない
20200808_PyMCを使えばちょっと複雑な確率モデルも怖くない20200808_PyMCを使えばちょっと複雑な確率モデルも怖くない
20200808_PyMCを使えばちょっと複雑な確率モデルも怖くない
 
20190512 bayes hands-on
20190512 bayes hands-on20190512 bayes hands-on
20190512 bayes hands-on
 
20190330 chainer meetup chocoball
20190330 chainer meetup chocoball20190330 chainer meetup chocoball
20190330 chainer meetup chocoball
 
20190316 bayes modeling
20190316 bayes modeling 20190316 bayes modeling
20190316 bayes modeling
 
20190317 prml ch2 probability Distribution
20190317 prml ch2 probability Distribution20190317 prml ch2 probability Distribution
20190317 prml ch2 probability Distribution
 
20190209 bayes modeling_s_pub
20190209 bayes modeling_s_pub20190209 bayes modeling_s_pub
20190209 bayes modeling_s_pub
 
チョコボールのエンゼル出現確率をベイズ推定する
チョコボールのエンゼル出現確率をベイズ推定するチョコボールのエンゼル出現確率をベイズ推定する
チョコボールのエンゼル出現確率をベイズ推定する
 

20190526 bayes ml

  • 2. • 時⽥ 陽⼀(@yoichi_t) • 所属:株式会社Glia Computing (https://www.glia-computing.com/) • 2018年8⽉に設⽴(Co-Founder) • 機械学習/データ分析のPoC、導⼊⽀援、コンサル • 過去所属 • AI系ベンチャーにて、機械学習/データ分析のPoCなどを担当 • Web系広告会社にて、広告配信の最適化、ユーザ分析などを担当 • ⼤⼿警備会社研究所にて、⼈物⾏動の研究 ⾃⼰紹介 1
  • 3. • 時⽥ 陽⼀(@yoichi_t) • チョコボールの秘密を解明するために、⽇々データを収集&解析 ⾃⼰紹介 チョコボール 統計 2
  • 4. 本書の位置付け(まえがきより) • 「機械学習」注⽬されてますね • 多次元,多量のデータが扱える環境が整ってきた • データを活⽤したいというニーズが⾼まっている • しかし、機械学習を駆使して現実の課題解決に取り組める技術 者はそれほど多くない • 技術領域が多種多様な「アルゴリズム群」として認識されている • 「新しいアルゴリズム」をそれぞれ個別に習得しなければいけない • 本書では、技術者がアルゴリズムを「デザイン」できるように • 確率モデリングと推論アルゴリズムを使った⼀貫したアプローチによ り解決法を導く • ベイズ主義機械学習に基づいたデータ解析アルゴリズムを解説 p本書はPRMLと同様の領域を対象としていますが、PRMLと⽐較し て話題を絞り、なるべく平易に解説されている印象 3
  • 5. 本書の構成 • 第1章 機械学習とベイズ学習 • 確率計算、グラフィカルモデル、意思決定などの重要な概念を解説 • 第2章 基本的な確率分布 • 学習アルゴリズムをデザインするために必須のパーツである各種の確 率分布を紹介 • 第3章 ベイズ推論による学習と予測 • 回帰などのシンプルな学習アルゴリズムを作る(ベイズ推論で) • 第4章 混合モデルと近似推論 • 混合ガウス分布のような(少しだけ)複雑な確率モデルを構築 • 混合モデルを計算するために必要な近似アルゴリズムを導⼊ • 第5章 応⽤モデルの構築と推論 • 様々な問題に応⽤(画像圧縮、時系列モデル、⾃然⾔語、ニューラル ネット) üp.vi, 図0.1参照 ※各章の担当は後で決めます 4
  • 6. Chapter1機械学習とベイズ学習 • 1.1 機械学習とは • 1.2 機械学習の代表的なタスク • 1.3 機械学習の2つのアプローチ • 1.4 確率の基本計算 • 1.5 グラフィカルモデル • 1.6 ベイズ学習のアプローチ • 1章では、「ベイズ学習」というものの概要を解説 • 機械学習における代表的なタスクがベイズ学習でどのように表現さ れるのかを⽰す(具体的な計算は後の章) • ベイズ学習の利点と⽋点 5
  • 7. 1.1 機械学習とは • 本書における定義 pモデリングとしての機械学習(p.10) • データに関するモデル(仮説)を構築し、パラメータや構造をデータ から推定するというアプローチ • データ構造をグラフィカルモデルで表現し、変数間の関係性を抽出 していくというアプローチが⼀貫して取られている 6 データに潜む規則や構造を抽出(≒学習)することにより、 未知の現象に対する予測やそれに基づく判断を⾏うための 計算技術の総称
  • 8. 1.2 機械学習の代表的なタスク • 1.2.1 回帰 • 1.2.2 分類 • 1.2.3 クラスタリング • 1.2.4 次元削減 • 1.2.5 その他の代表的なタスク 7
  • 9. 1.2.1 回帰 • M次元の実数⼊⼒𝒙 ∈ 𝑅%から連続値の出⼒y ∈ 𝑅を予測する 関数y = f(𝐱)を求める 8 𝝎 :重み。 𝝎 ∈ 𝑅% 。この値を求めるのが学習。 𝜖 :ノイズ xは多種類のベクトルでも良いし、𝒙 = [1, 𝑥, 𝑥2]4のような変換をしても 良い(多項式回帰(polynomial regression))。また、他の関数を使って変換 したものでも良い(基底関数、ニューラルネット)。 3章→線形回帰 5章→ニューラルネットワーク
  • 10. 1.2.2 分類 • M次元の実数⼊⼒𝒙 ∈ 𝑅%からK個のシンボルを出⼒する関数 を求める • 2クラス分類の場合に、𝑦6が1を取る確率𝜇6 9 𝑓(9):活性化関数。シグモイド関数など。 他クラスの問題ではソフトマックス関数が使われる。 xは回帰の場合と同様に⾮線形変換して使う場合もある。 5章でロジスティック回帰の詳細を扱う。 𝒙 = [𝑥:, 𝑥2]4の場合のロジスティク回帰 (活性化関数にシグモイド関数を⽤いた 2クラス分類)
  • 11. 1.2.3 クラスタリング • N個のデータ𝑿 = {𝑥:, ⋯ , 𝑥>}をK個の集合(クラスタ)に分 ける • Xに対してクラスタの所属ラベル𝑺 = {𝑠:, ⋯ , 𝑠>}が割り当てられる • 各クラスタのパラメータ(ガウス混合モデルの場合、平均𝝁Cと共 分散⾏列𝜮C) 10 4章→ポアソン混合モデル、 ガウス混合モデル
  • 12. 1.2.4 次元削減 • D次元のデータ𝒀 ∈ 𝑅F×>を⾏列𝐖 ∈ 𝑅%×Fと𝐗 ∈ 𝑅%×>を 使って近似する • データ量の削減 • 可視化 • 特徴抽出(⾏列Xを他のアルゴリズムへの⼊⼒とする) 11 Mがデータの特徴(本質的な情報)を 表すと考えることができる 5章→線形次元削減(主成分分析)、 ⾮負値⾏列因⼦分解(NMF)、テンソル分解
  • 13. 1.2.5 その他のタスク • (時系列などの)信号の系列を分離 →5章, 隠れマルコフモデル • ⾃然⾔語で書かれた⽂章の潜在的な意味の抽出 → 5章, トピックモデル • シミュレーション → (本書全体を通して)⽣成モデル • データの⽣成過程をモデルとして含む • ⼈⼯的なデータをシミュレーションできる 12
  • 14. 1.3 機械学習の2つのアプローチ • 1.3.1 ツールボックスとしての機械学習 • 1.3.2 モデリングとしての機械学習 13
  • 15. 1.3.1 ツールボックスとしての機械学習 • 既存のアルゴリズムにデータを与え、予測モデルを得る • アルゴリズムは問題に対してデザインされたものではなく、各問題 に対しての精度向上は主に特徴抽出(feature extraction)により⾏う • ランダムフォレスト、SVM、最近傍法など • 利点 • ⾼度な数学的知識がなくてもとりあえず使うことができる • ⽋点 • どのアルゴリズムを使うべきかの選定のために、思想の異なるアル ゴリズムを理解する必要がある • 精度や適⽤できる問題の範囲が限られる 14
  • 16. 1.3.2 モデリングとしての機械学習 • データに関するモデル(仮説)を事前に構築、データからモ デルが持つパラメータや構造を学習 • 本書で扱うアプローチ • 学習したモデルを利⽤して、予測や判断を⾏う • 問題に応じて数理的にモデルを構築/拡張組み合わせする • 隠れマルコフモデル、ニューラルネットなどなど • 利点 • タスクに応じてモデルをデザインするため、精度の点で優れる(原 理的には) • 不確実性を表現できる(ベイズ学習) • ⽋点 • ⾃由に活⽤するためには数学の知識が必要 • 計算コストが⾼い場合がある 15
  • 17. 1.4 確率の基本計算 基本的な確率計算を解説 • 1.4.1 確率分布 • 1.4.2 確率分布の推論 • 1.4.3 ⾚⽟⽩⽟問題 • 1.4.4 観測データが複数ある場合 • 1.4.5 逐次推論 • 1.4.6 パラメータが未知である場合 16
  • 18. 1.4.1 確率分布 • 確率密度関数(下記の𝑝(x))で定義される分布 • 𝒙 = (𝑥:, ⋯ , 𝑥%)4∈ 𝑅%はM次元ベクトル • e.g. ガウス分布(正規分布):連続量の確率分布 • e.g. ベルヌーイ分布:コイン投げのように離散値の確率分布 17 ※様々な確率分布については2章 正規分布(𝑁(0,1))
  • 19. 1.4.2 確率分布の推論 • 同時分布(joint distribution) 𝑝(𝑥, 𝑦) • 周辺化(marginalization)、周辺分布(marginal distribution) • 条件付き分布(conditional distribution) • ベイズの定理 • 独⽴性:変数xとyが独⽴なら 18 原因xから結果yが得られる確率から、 結果yが得られた時の原因xを逆算す る⼿続き これらから⾃然に導かれる 事後分布 事前分布
  • 20. 1.4.5 逐次推論 • 逐次学習、追加学習、オンライン学習、ベイズ更新とも • 以前に得られた事後分布を次の推論の事前分布として使う 学習⽅法 • メモリ効率、リアルタイム性に優れる 19 データy2を新たに得た
  • 21. 1.4.6 パラメータが未知である場合 • ある事象が発⽣する確率(パラメータ)が 未知のケースで、その確率𝜃を推定したい • e.g. 異常発⽣率、広告のクリック率 ⾚⽟と⽩⽟の割合(1.4.3では既知) • 観測データ𝑌 = 𝑦:, ⋯ , 𝑦> • e.g. ⾚⽟⽩⽟の袋から復元抽出した結果 • データ𝑌と確率𝜃の同時分布は • 確率𝜃の事後分布 • 事前分布をデータYに基づいて更新 20 ※具体的な計算は3章 パラメータ𝜃に対する事前分布 𝜃のとりうる値の事前知識を表現 ベータ分布、ディリクレ分布など
  • 22. 1.5 グラフィカルモデル • 複数の変数間の関係性をノードと⽮印で表現する記法 • 本書ではグラフを使って様々な確率モデルを視覚的に表現する 21 𝑥 𝑦 𝑝 𝑥, 𝑦 = 𝑝 𝑦 𝑥 𝑝(𝑥) 親ノード ⼦ノード リンクの接続がないノード間は独⽴ (p.24 図1.11と1.56式参照) 𝑥 𝑦 N • どの変数が条件づけられているかを明 記する(観測データなど)ために塗り つぶす • 変数がN個あることを明⽰するために プレート表現を使う
  • 23. 1.5 グラフィカルモデル • 条件付き独⽴性(conditional independence) • グラフ上のある変数が観測されることで、他のノードが独⽴の分布 に分解できるような性質 22 𝑥 𝑦 𝑧 𝑥 𝑦 𝑧 head-to-tail型モデル tail-to-tail型モデル
  • 25. 1.6 ベイズ学習のアプローチ • 「ベイズ学習(Bayesian machine learning)」の概要を解説 • 1.6.1 モデルの構築と推論 • 1.6.2 各タスクにおけるベイズ推論 • 1.6.3 複雑な事後分布に対する近似計算 • 1.6.4 不確実性に基づく意思決定 • 1.6.5 ベイズ学習の利点と⽋点 24
  • 26. 1.6.1 モデルの構築と推論 • ベイズ学習のステップ 25 推論の導出 事後分布𝑝 𝑿 𝐷 = R(F,𝑿) R(F) を求める モデル構築 観測データDと道の変数Xに関して、同時分布p(D,X)を 構築する • 確率分布(2章)を組み合わ せて観測データと未知変 数との関係を記述 • 解析的に計算ができない 場合がある (近似計算, 4章) • 分⺟p(D)をモデルエビデ ンス、周辺尤度と呼ぶ
  • 27. 1.6.2 各タスクにおけるベイズ推論 • 回帰/クラス分類 26 𝑥6 𝑦6 N 𝑊 • 同時分布(モデル構築) • 事後分布 • 予測分布 ※計算の詳細は3章 データxからyを 予測するための パラメータ
  • 28. 1.6.2 各タスクにおけるベイズ推論 • クラスタリング 27 𝑠6 𝑥6 N Θ • 同時分布(モデル構築) • 事後分布(クラス割当、クラスタの性質) • ⽣成モデル ※計算の詳細は4章 クラスタの 割り当て クラスタの中⼼ などを表すパラ メータ
  • 29. 1.6.3 複雑な事後分布に対する近似計算 • 事後分布は解析的に計算ができない場合がある Ø近似計算が必要 • サンプリングによる近似 • MCMCアルゴリズム(ギブスサンプリング) • 計算しやすい簡単な式を使って周辺化計算を近似 • 変分推論 • 詳細は4章 28
  • 30. 1.6.4 不確実性に基づく意思決定 • 現実問題では、確率の⾒積りだけでは⾜りない場合がある • 確率推論 → 不確実性の定量化 • 各事象の損失(利益)を定義し、期待損失(収益)による論理的な意思 決定 29
  • 31. 1.6.4 不確実性に基づく意思決定 • 現実問題では、確率の⾒積りだけでは⾜りない場合がある • 確率推論 → 不確実性の定量化 • 各事象の損失(利益)を定義し、期待損失(収益)による論理的な意思 決定 • e.g. ⾬の確率推論結果を活⽤して傘を持っていくか否かの意思決定 30 確率推論:p(y=晴)=0.8, p(y=⾬)=0.2 (⼆値の離散確率分布) 損失関数 A) L(y=晴,x=傘なし)=0 L(y=⾬,x=傘なし)=100 L(y=晴,x=傘あり)=10 L(y=⾬,x=傘あり)=15 B) L(y=晴,x=傘なし)=0 L(y=⾬,x=傘なし)=50 L(y=晴,x=傘あり)=20 L(y=⾬,x=傘あり)=25 期待損失 (期待値𝐸 𝑌 = ∫ 𝑦𝑓 𝑦 𝑑𝑦) 𝐸 𝐿(𝑥 = 𝑎) = ∫ 𝐿 𝑦, 𝑥 = 𝑎 𝑝 𝑦 𝑑𝑦 A) 𝐸 𝐿(𝑥 = 傘なし) = 20 𝐸 𝐿(𝑥 = 傘あり) = 11 B) 𝐸 𝐿(𝑥 = 傘なし) = 10 𝐸 𝐿(𝑥 = 傘あり) = 21
  • 32. 1.6.4 不確実性に基づく意思決定 • 現実問題では、確率の⾒積りだけでは⾜りない場合がある • 確率推論 → 不確実性の定量化 • 各事象の損失(利益)を定義し、期待損失(収益)による論理的な意思 決定 • e.g. ⾬の確率推論結果を活⽤して傘を持っていくか否かの意思決定 31 確率推論:p(y=晴)=0.8, p(y=⾬)=0.2 (⼆値の離散確率分布) 損失関数 A) L(y=晴,x=傘なし)=0 L(y=⾬,x=傘なし)=100 L(y=晴,x=傘あり)=10 L(y=⾬,x=傘あり)=15 B) L(y=晴,x=傘なし)=0 L(y=⾬,x=傘なし)=50 L(y=晴,x=傘あり)=20 L(y=⾬,x=傘あり)=25 期待損失 (期待値𝐸 𝑌 = ∫ 𝑦𝑓 𝑦 𝑑𝑦) 𝐸 𝐿(𝑥 = 𝑎) = ∫ 𝐿 𝑦, 𝑥 = 𝑎 𝑝 𝑦 𝑑𝑦 A) 𝐸 𝐿(𝑥 = 傘なし) = 20 𝐸 𝐿(𝑥 = 傘あり) = 11 B) 𝐸 𝐿(𝑥 = 傘なし) = 10 𝐸 𝐿(𝑥 = 傘あり) = 21 推論の不確実性が⼤きい場合には判断を ⾒送るという意思決定もできる
  • 33. 1.6.5 ベイズ学習の利点と⽋点 • 利点 ① 様々な問題が⼀貫性をもって解ける ② 対象の不確実性を定量的に取り扱うことができる ③ 利⽤可能な知識を⾃然に取り⼊れることができる ④ 過剰適合しにくい • ⽋点 ① 数理的な知識を要する ② 計算コストがかかる 32
  • 34. 1.6.5 ベイズ学習の利点と⽋点 • 利点 ① 様々な問題が⼀貫性をもって解ける • モデルの構築と推論の2ステップでアプローチする(1.6.1節) ② 対象の不確実性を定量的に取り扱うことができる • 原因の確率を推論するものであり、どれほど確信しているのかを定量 的に出⼒ (1.6.4節) ③ 利⽤可能な知識を⾃然に取り⼊れることができる • 事前分布として推定したい未知のパラメータに対する知識を導⼊(知識 がない場合には知識がないことを表現) • データ構造に対する仮説を確率分布の組み合わせで表現(仮説が間違っ ているかを含めて推論できる) ④ 過剰適合しにくい • 最尤推定は特にデータが少なかったり次元が⼤きいと過剰適合(over fitting)しやすいが、ベイズ学習の場合には厳密には過剰適合という概 念がない(頻度主義とベイズ主義の思想の違い) • データセットによっては過剰適合のように振る舞うこともある • 事前分布による正則化(PRML, 1章) 33
  • 35. 1.6.5 ベイズ学習の利点と⽋点 • ⽋点 ① 数理的な知識を要する • データや現象を調べ、背後にある特徴や傾向を確率分布の組み合わせ で表現する必要がある ② 計算コストがかかる • シンプルなモデル以外の(実⽤的な)モデルは解析的に計算ができない • 近似推論に頼る必要があり、計算結果の妥当性の検証が必要 34
  • 36. 参考1.3 どの⾔語を使って実装するか? • 3章以降で具体的な確率推論の計算を扱う • 3章では解析解の導出 • 4章では複雑な確率分布でモデルを構築し、近似計算を⾏う • 確率的プログラミング⾔語(PPL) • 確率モデルを記述することで⾃動的に近似推論アルゴリズムを実⾏ • MCMCアルゴリズム • 変分推論 • 解析者はモデリングに集中できる • Stan, Tensorflow Probability, Pyro, PyMC3など • 数理的な知識は必要 • PPLにまかせっきりでは実⽤上の課題が発⽣するケースも • 計算コストが実⽤的ではない場合があったり、推論しやすいようなデ ザインが必要だったり 35