SlideShare a Scribd company logo
1 of 50
Machine Learning
A P r o b a b i l i s t i c P e r s p e c t i v e
Agenda
Chapter 8
1. Introduction
2. Model specification
3. Model fitting
4. Bayesian logistic regression
5. Online learning and stochastic optimization
6. Generative vs discriminative classifier
2
Direction
⇢ 様々な観点で識別モデルと生成モデルを
比べることで、それぞれの特徴を知る
⇢ 損失データに対する問題について
⇢ フィッシャーの線形判別分析について
3
生成モデル vs 識別モデル
8.6 Generative vs discriminative classifiers
4
生成モデル(Generative)と識別モデル(Discriminative)
⇢ 生成モデル (Generative)
入力データの分布のモデルを見つける
⇢ 識別モデル (Discriminative)
入力データに対して分類をできるような判別器を育む
後ほど、色んなモデルの性質を確認します
5
生成モデルと識別モデルを比べていくため、
それぞれの種類のモデルに対して
具体例を確かめてから進めます!
6
生成モデル (Generative Model)
入力データを生成する分布を求めてから、それを使って推定を行う
⇢ 理想的にはデータを生成する分布がわかっているので、
データを作ることが出来そう
1. 判別分析(Fisher線形判別分析)
2. 単純ベイズ分類器
7
単純ベイズ分類器 (Naive Bayes classifier)
入力データに対して独立性を仮定してモデル化
8
𝑝 𝐹𝑖|𝐶, 𝐹𝑗 = 𝑝(𝐹𝑖|𝐶)
ある確率変数𝐹𝑖がほかのどの確率変数𝐹𝑗にも
影響されない(独立している)という意味
この独立性の仮定とベイズの定理を融合させる
9
ベイズの定理 (Bayes' theorem)
𝑃 𝐵|𝐴 =
𝑃 𝐴|𝐵 𝑃 𝐵
𝑃 𝐴
分類器を確率モデルの式で表現すると以下のようになります
𝑝 𝑦|𝒙, 𝜽
10
実際に分類を
表現する確率変数
入力データ モデルを決める
パラメータ群
このモデルに先ほどの
ベイズの定理を当てはめる
11
𝑝 𝑦|𝒙 =
𝑝 𝑦 𝑝 𝒙|𝑦
𝑝 𝒙
𝑝 𝑦|𝒙 = 𝑝 𝑦
𝑖=1
𝑛
𝑝 𝑥𝑖|𝑦
更に独立性の仮定により
左のように置き換えられる
∝ 𝑝 𝑦 𝑝 𝒙|𝑦
生成モデルとしての単純ベイズ分類器
12
入力データの分布のモデルを見つける
欲しいモデル𝑝 𝑦|𝒙 がある
入力データ𝒙を生成する
モデルの分布を求める
𝒙の要素𝑥1, … , 𝑥 𝑛を生成する
それぞれのモデルを求める
𝑝 𝑦|𝒙 = 𝑝 𝑦
𝑖=1
𝑛
𝑝 𝑥𝑖|𝑦
識別モデル (Discriminative Model)
データがどのような分布をしているかには無関係
⇢ いきなり分類器を構築していく
1. 回帰分析(線形回帰、ロジスティック回帰)
2. ニューラルネットワーク
3. サポートベクターマシン
13
線形回帰 (Linear Regression)
データをいい感じに沿う直線を見つける
⇢ データの分布については考えていない
未知のデータに対してはこの直線から値を
推定することができる
14
生成モデルと識別モデルの具体的なイメージが湧いたところで、
生成モデルと識別モデルに対して
様々な観点から考察を行います
15
疑問 簡単に適応できるか?
16
⇢ 生成モデルの場合
単純ベイズ分類器ではデータ数と平均値を求めるだけでいい
⇢ 識別モデルの場合
ロジスティック回帰ではモデルを求めるために、
関数の最小値を求める最適化問題と戦う必要がある
Easy to fit?
局所解
最小解
疑問 分類の種類を独立的に適応できるか?
17
画像から𝑦 = 猫, 犬, 兎 を分類する事を考える
⇢ 生成モデルの場合
パラメータの推定をそれぞれのクラスの条件付き確率として行う
従って、新しいクラスを追加する場合も再学習は必要ない
Fit classes separately?
𝑝猫 𝑦|𝒙, 𝜽猫 𝑝犬 𝑦|𝒙, 𝜽犬 𝑝兎 𝑦|𝒙, 𝜽兎 + 𝑝鼠 𝑦|𝒙, 𝜽鼠
独立して学習されたパラメータ
例
疑問 分類の種類を独立的に適応できるか?
18
⇢ 識別モデルの場合
全てのパラメータは相互に影響しあっている
従って、
新たなクラスを追加する場合は
改めて最初から学習する必要がある
画像認識の畳み込みニューラルネットワーク
Fit classes separately?
e.g.
疑問 欠損値に簡単に対応できるか?
19
入力データの中には観測に失敗してしまうものもある
⇢ 生成モデルの場合
後述する方法にて簡単に対応することができる!
⇢ 識別モデルの場合
残念ながら、対応するための形式的な方法は無い・・・
そもそも、全ての入力データ𝒙が利用可能であることを前提としている
Handle missing features easily?
欠損値については後ほど詳しく!
疑問 ラベルのない訓練データを扱えるか?
20
⇢ 生成モデルの場合
半教師あり学習(semi-supervised learning)はラベルのないデータを
使って教師あり学習を助けることができる
⇢ 識別モデルの場合
生成モデルよりも難しい
Can handle unlabeled training data?
疑問 データの入出力に対称関係はあるか?
21
⇢ 生成モデルの場合
モデルを逆向きに使うことができる
𝑝 𝑦|𝒙 として使っていたものを𝑝 𝒙|𝑦 としてデータを生成できる
⇢ 識別モデルの場合
例えば、画像認識で使われるCNNは単一方向ニューラルネットであり
逆向きに扱うことはできない
Symmetric in inputs and outputs?
疑問 事前処理を対応しているか?
22
⇢ 識別モデルの場合
恣意的な方法を用いて入力を予め前処理することができる
基底関数展開などを使えば入力データを予め処理できる
事前処理に対応していることは識別モデルの大きな優位点
Can handle feature preprocessing?
e.g.
疑問 事前処理を対応しているか?
23
⇢ 生成モデルの場合
一般的に事前処理をすることは難しい
事前処理された新しい特徴は複雑に相互関係している場合が多い
Can handle feature preprocessing?
疑問 十分に調整された確率モデルであるか?
24
⇢ 生成モデルの場合
例えば、単純ベイズ分類器ではしばしば大間違いである独立性の仮定
を元に推定を行うが、これは極端に事後確率が0や1に近いという結果を
招く可能性がある
⇢ 識別モデルの場合
確率推定をしているため、確率はよく調節されている
ロジスティック回帰
Well-calibrated probabilities?
e.g.
さまざまなモデルの性質
25
欠損値の対処
8.6.2 Dealing with missing data
26
欠損値の種類
⇢ MCAR (Missing completely at random)
完全にランダムにデータが欠損する
⇢ MAR (Missing at random)
観測された入力データに依存して欠損する
⇢ NMAR (Not missing at random)
欠損したデータ自体に依存して欠損する
27
28
欠損値について説明するにあたって、以下のように定式化
𝑝 𝒙𝒊, 𝑟𝑖|𝜽, 𝝓 = 𝑝 𝑟𝑖|𝒙𝒊, 𝝓 𝑝 𝒙𝒊|𝜽
• 𝒙𝒊 : 入力データ
• 𝑟𝑖 ∈ 0,1 : 𝒙𝒊が正しく観測されたかどうか
• 𝝓 : 正しく観測されたかどうかを決めるモデルのパラメータ
MCAR (Missing completely at random)
𝑝 𝑟𝑖|𝒙𝒊, 𝝓 = 𝑝 𝑟𝑖|𝝓
⇢ 入力データに全く関係なく、本当にランダムに欠損する
その為、もともとそのデータなんてなかったと考えれば済む話で
欠損のなかでは最もどうでもよさそう
身体測定の記録係がすごい雑なやつだった
29
e.g.
MAR (Missing at random)
𝑝 𝑟𝑖|𝒙𝑖, 𝝓 = 𝑝 𝑟𝑖|𝒙𝑖
𝑜
, 𝝓
入力データの一部に依存して欠損する
冬の身体測定で体重を測りたくない女子が休みまくった
⇢ このように、MCARとは違って入力に依存して欠損するため、
観測データに全体として偏りが生まれてしまう問題がある
30
e.g.
NMAR (Not missing at random)
欠損値自体に依存して欠損する
⇢ 一番厄介な欠損の仕方
欠損値は欠損して分からないため、欠損値の特徴を
埋め合わせることさえ出来ない (※沢山欠損すれば分かる)
体重を測ったら重かったので記録を消去した
31
e.g.
欠損するタイミング
⇢ テスト時に起こる欠損か?
訓練データは完全なデータであると定義している
もし、訓練データの一部のみが欠損している場合、
それは半教師あり学習という方法が存在する
⇢ 訓練時に起こる欠損か?
訓練時の欠損はテスト時の欠損よりも厄介
32
テスト時に起こる欠損
観測データ𝑥1を欠損し、それ以外のデータ𝒙2:𝐷は無事とする
33
⇢ 生成モデルは欠損値に対応できるという大きな利点を持つ
欠損値は度外視にすること(Marginalization)で対応する
例
𝑝 𝑦 = 𝑐|𝒙2:𝐷, 𝜽 ∝ 𝑝(𝑦 = 𝑐|𝜽)𝑝 𝑟𝑖|𝑦 = 𝑐, 𝜽 (∵ ベイズの定理)
= 𝑝(𝑦 = 𝑐|𝜽)
𝑥 𝑖
𝑝 𝑥1, 𝒙2:𝐷|𝑦 = 𝑐, 𝜽
34
単純ベイズ分類器であれば、独立性の仮定より
𝑥 𝑖
𝑝 𝑥1, 𝒙2:𝐷|𝑦 = 𝑐, 𝜽 =
𝑥 𝑖
𝑝 𝑥1|𝜽1𝑐
𝑗=2
𝐷
𝑝 𝑥𝑗|𝜽𝑗𝑐 =
𝑗=2
𝐷
𝑝 𝑥𝑗|𝜽𝑗𝑐
この結果より、生成モデルである単純ベイズ分類器であれば、
欠損値は無視できることを示している
⇢ 判別分析の場合も同様に欠損値は無視することができる
訓練時に起こる欠損
訓練時の欠損は難しい
35
フィッシャー線形判別分析
8.6.3 Fisher’s linear discriminant analysis (FLDA)
36
なぜこのタイミングでFisher線形判別分析(FLDA)を?
⇢ FLDAは生成モデルと識別モデルのハイブリッドという
実に興味深い特徴を有しているから!
欠点として、入力データの次元にかかわらず、
𝐿 ≤ 𝐶 − 1次元を使わないといけないとう制約がある
37
TOYOTAのPriusのように、ハイブリッド暗号方式のように・・・
多変量ガウス分布 (Multivariate Gaussian)
複数の変数を考慮しただけの
ガウス分布(正規分布)
38
2変数ガウス分布の例
39
判別分析とは特徴を多変量ガウス分布(MVN)に
適応させるという生成モデル的なアプローチ
⇢ 高次元のデータに対しては難しい
代替の手段として、MVNを入力データ𝒙 ∈ ℝ 𝐷
の次元を
削減させた𝒛 ∈ ℝ 𝐿に適応させるというものがある
⇢ 線形射影行列𝑾(Linear projection matrix)を用いる
𝒛 = 𝑾𝒙 𝑾 ∈ ℝ 𝐿×𝐷
分析でできること
ところで分析をすることで何ができるだろうか?
⇢ 分析により高次元の特徴データから
主要なデータを抽出できたりする
例えば、高次元ベクトルのデータから主要な特徴として
2次元ベクトルに落としこむことができたら、図で見ることができる
40
41
⇢ 以下の様な処理をできるベクトルを探す!
入力データから2つのクラスに分類する例
𝑧 = 𝒘 𝑇 𝒙
𝑧は1次元座標上の点である
2つに分類するから
行列じゃない!
行列だと結果が
ベクトルになる
42
線形判別とは例えば平面の場合
2つのクラスが存在するデータ群を
直線で分けることである
確認
43
⇢ 2つのクラスを𝑦 = 1,2 として表現する
それぞれのクラスに所属するデータの平均は
𝝁1 =
1
𝑁1
𝑖;𝑦 𝑖=1
𝒙𝑖 , 𝝁2 =
1
𝑁2
𝑖;𝑦 𝑖=2
𝒙𝑖
𝑚 𝑘 = 𝒘 𝑻 𝝁 𝑘としたとき、これは射影された平均を表す
また、𝑧𝑖 = 𝒘 𝑻
𝒙𝑖は単に入力データの射影である
これらを用いて、分散は以下のように表される
𝑠 𝑘
2
=
𝑖;𝑦 𝑖=𝑘
𝑧𝑖 − 𝑚 𝑘
2
44
𝒘をどうやって求めるか?
⇢ 次の目的関数を最大化する
𝐽 𝒘 =
𝑚2 − 𝑚1
2
𝑠1
2
+ 𝑠2
2
𝐽 𝒘 が大きくなる条件
1. 2つのデータ群の距離を広くする
2. それぞれのデータ群の分散が小さくなる
1次元の場合のFisher線形判別
45
高次元なデータ
高次元なデータ
クラスA
クラスB
𝒘
𝑚2 − 𝑚1
2
𝑠1
2
𝑠1
2
高次元のデータを1次元にして
そこで線形判別を行う
46
ここで𝐽 𝒘 を以下の式を用いて変形する
𝑺 𝐵 = 𝝁2 − 𝝁1 𝝁2 − 𝝁1
𝑇
𝑺 𝑊 =
𝑖;𝑦 𝑖=1
𝒙𝑖 − 𝝁1 𝒙𝑖 − 𝝁1
𝑇 +
𝑖;𝑦 𝑖=2
𝒙𝑖 − 𝝁2 𝒙𝑖 − 𝝁2
𝑇
𝐽 𝒘 =
𝒘 𝑇
𝑺 𝐵 𝒘
𝒘 𝑇 𝑺 𝑊 𝒘
展開してみるとさっきの式に戻るだけです
47
このとき、目的関数𝐽 𝒘 は以下の時に最大になる!
𝑺 𝐵 𝒘 = 𝜆𝑺 𝑊 𝒘
𝑤ℎ𝑒𝑟𝑒 𝜆 =
𝒘 𝑇 𝑺 𝐵 𝒘
𝒘 𝑇 𝑺 𝑊 𝒘
この式は
一般化固有値(generalized eigenvalue)問題
と呼ばれる
高次元や複数クラスへの分類
𝒘(ベクトル)と心中してきたが、これを𝑾(行列)に置き換える
48
ここまででやってきたことを2つ以上のクラス分けや
高次元の入力に適応することが出来る
複数クラス分類への適応例
49
母音のデータから二次元のデータを作った例
Fisher線形判別分析主成分分析
Reference
⇢ 単純ベイズ分類器
https://ja.wikipedia.org/wiki/単純ベイズ分類器
⇢ 欠損値があるデータの分析
http://norimune.net/1811
⇢ フィッシャーの線形判別
http://aidiary.hatenablog.com/entry/20100425/1272158587
⇢ 生成モデルのDeep Learning
http://www.slideshare.net/beam2d/learning-generator
50

More Related Content

What's hot

SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法SSII
 
[DL輪読会]Recent Advances in Autoencoder-Based Representation Learning
[DL輪読会]Recent Advances in Autoencoder-Based Representation Learning[DL輪読会]Recent Advances in Autoencoder-Based Representation Learning
[DL輪読会]Recent Advances in Autoencoder-Based Representation LearningDeep Learning JP
 
[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−
[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−
[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−Deep Learning JP
 
ConvNetの歴史とResNet亜種、ベストプラクティス
ConvNetの歴史とResNet亜種、ベストプラクティスConvNetの歴史とResNet亜種、ベストプラクティス
ConvNetの歴史とResNet亜種、ベストプラクティスYusuke Uchida
 
自動微分変分ベイズ法の紹介
自動微分変分ベイズ法の紹介自動微分変分ベイズ法の紹介
自動微分変分ベイズ法の紹介Taku Yoshioka
 
PRML第6章「カーネル法」
PRML第6章「カーネル法」PRML第6章「カーネル法」
PRML第6章「カーネル法」Keisuke Sugawara
 
深層学習 勉強会第5回 ボルツマンマシン
深層学習 勉強会第5回 ボルツマンマシン深層学習 勉強会第5回 ボルツマンマシン
深層学習 勉強会第5回 ボルツマンマシンYuta Sugii
 
[DL輪読会]Transframer: Arbitrary Frame Prediction with Generative Models
[DL輪読会]Transframer: Arbitrary Frame Prediction with Generative Models[DL輪読会]Transframer: Arbitrary Frame Prediction with Generative Models
[DL輪読会]Transframer: Arbitrary Frame Prediction with Generative ModelsDeep Learning JP
 
深層学習の不確実性 - Uncertainty in Deep Neural Networks -
深層学習の不確実性 - Uncertainty in Deep Neural Networks -深層学習の不確実性 - Uncertainty in Deep Neural Networks -
深層学習の不確実性 - Uncertainty in Deep Neural Networks -tmtm otm
 
【DL輪読会】Factory: Fast Contact for Robotic Assembly
【DL輪読会】Factory: Fast Contact for Robotic Assembly【DL輪読会】Factory: Fast Contact for Robotic Assembly
【DL輪読会】Factory: Fast Contact for Robotic AssemblyDeep Learning JP
 
[DL輪読会]ドメイン転移と不変表現に関するサーベイ
[DL輪読会]ドメイン転移と不変表現に関するサーベイ[DL輪読会]ドメイン転移と不変表現に関するサーベイ
[DL輪読会]ドメイン転移と不変表現に関するサーベイDeep Learning JP
 
モンテカルロサンプリング
モンテカルロサンプリングモンテカルロサンプリング
モンテカルロサンプリングKosei ABE
 
Optimizer入門&最新動向
Optimizer入門&最新動向Optimizer入門&最新動向
Optimizer入門&最新動向Motokawa Tetsuya
 
Control as Inference (強化学習とベイズ統計)
Control as Inference (強化学習とベイズ統計)Control as Inference (強化学習とベイズ統計)
Control as Inference (強化学習とベイズ統計)Shohei Taniguchi
 
Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...
Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...
Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...Hideki Tsunashima
 

What's hot (20)

SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
 
Contrastive learning 20200607
Contrastive learning 20200607Contrastive learning 20200607
Contrastive learning 20200607
 
[DL輪読会]Recent Advances in Autoencoder-Based Representation Learning
[DL輪読会]Recent Advances in Autoencoder-Based Representation Learning[DL輪読会]Recent Advances in Autoencoder-Based Representation Learning
[DL輪読会]Recent Advances in Autoencoder-Based Representation Learning
 
[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−
[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−
[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−
 
ConvNetの歴史とResNet亜種、ベストプラクティス
ConvNetの歴史とResNet亜種、ベストプラクティスConvNetの歴史とResNet亜種、ベストプラクティス
ConvNetの歴史とResNet亜種、ベストプラクティス
 
自動微分変分ベイズ法の紹介
自動微分変分ベイズ法の紹介自動微分変分ベイズ法の紹介
自動微分変分ベイズ法の紹介
 
一般化線形モデル (GLM) & 一般化加法モデル(GAM)
一般化線形モデル (GLM) & 一般化加法モデル(GAM) 一般化線形モデル (GLM) & 一般化加法モデル(GAM)
一般化線形モデル (GLM) & 一般化加法モデル(GAM)
 
PRML第6章「カーネル法」
PRML第6章「カーネル法」PRML第6章「カーネル法」
PRML第6章「カーネル法」
 
正準相関分析
正準相関分析正準相関分析
正準相関分析
 
深層学習 勉強会第5回 ボルツマンマシン
深層学習 勉強会第5回 ボルツマンマシン深層学習 勉強会第5回 ボルツマンマシン
深層学習 勉強会第5回 ボルツマンマシン
 
ELBO型VAEのダメなところ
ELBO型VAEのダメなところELBO型VAEのダメなところ
ELBO型VAEのダメなところ
 
[DL輪読会]Transframer: Arbitrary Frame Prediction with Generative Models
[DL輪読会]Transframer: Arbitrary Frame Prediction with Generative Models[DL輪読会]Transframer: Arbitrary Frame Prediction with Generative Models
[DL輪読会]Transframer: Arbitrary Frame Prediction with Generative Models
 
深層学習の不確実性 - Uncertainty in Deep Neural Networks -
深層学習の不確実性 - Uncertainty in Deep Neural Networks -深層学習の不確実性 - Uncertainty in Deep Neural Networks -
深層学習の不確実性 - Uncertainty in Deep Neural Networks -
 
【DL輪読会】Factory: Fast Contact for Robotic Assembly
【DL輪読会】Factory: Fast Contact for Robotic Assembly【DL輪読会】Factory: Fast Contact for Robotic Assembly
【DL輪読会】Factory: Fast Contact for Robotic Assembly
 
[DL輪読会]ドメイン転移と不変表現に関するサーベイ
[DL輪読会]ドメイン転移と不変表現に関するサーベイ[DL輪読会]ドメイン転移と不変表現に関するサーベイ
[DL輪読会]ドメイン転移と不変表現に関するサーベイ
 
モンテカルロサンプリング
モンテカルロサンプリングモンテカルロサンプリング
モンテカルロサンプリング
 
Optimizer入門&最新動向
Optimizer入門&最新動向Optimizer入門&最新動向
Optimizer入門&最新動向
 
Iclr2016 vaeまとめ
Iclr2016 vaeまとめIclr2016 vaeまとめ
Iclr2016 vaeまとめ
 
Control as Inference (強化学習とベイズ統計)
Control as Inference (強化学習とベイズ統計)Control as Inference (強化学習とベイズ統計)
Control as Inference (強化学習とベイズ統計)
 
Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...
Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...
Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...
 

識別モデルと生成モデルと損失データ