SlideShare une entreprise Scribd logo
1  sur  50
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

深層生成モデルと世界モデル(2020/11/20版)
深層生成モデルと世界モデル(2020/11/20版)深層生成モデルと世界モデル(2020/11/20版)
深層生成モデルと世界モデル(2020/11/20版)Masahiro Suzuki
 
Active Learning 入門
Active Learning 入門Active Learning 入門
Active Learning 入門Shuyo Nakatani
 
[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習Deep Learning JP
 
Rでisomap(多様体学習のはなし)
Rでisomap(多様体学習のはなし)Rでisomap(多様体学習のはなし)
Rでisomap(多様体学習のはなし)Kohta Ishikawa
 
GAN(と強化学習との関係)
GAN(と強化学習との関係)GAN(と強化学習との関係)
GAN(と強化学習との関係)Masahiro Suzuki
 
Triplet Loss 徹底解説
Triplet Loss 徹底解説Triplet Loss 徹底解説
Triplet Loss 徹底解説tancoro
 
[DL輪読会]Focal Loss for Dense Object Detection
[DL輪読会]Focal Loss for Dense Object Detection[DL輪読会]Focal Loss for Dense Object Detection
[DL輪読会]Focal Loss for Dense Object DetectionDeep Learning JP
 
PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説弘毅 露崎
 
生成モデルの Deep Learning
生成モデルの Deep Learning生成モデルの Deep Learning
生成モデルの Deep LearningSeiya Tokui
 
【DL輪読会】Scaling Laws for Neural Language Models
【DL輪読会】Scaling Laws for Neural Language Models【DL輪読会】Scaling Laws for Neural Language Models
【DL輪読会】Scaling Laws for Neural Language ModelsDeep Learning JP
 
12. Diffusion Model の数学的基礎.pdf
12. Diffusion Model の数学的基礎.pdf12. Diffusion Model の数学的基礎.pdf
12. Diffusion Model の数学的基礎.pdf幸太朗 岩澤
 
勾配降下法の 最適化アルゴリズム
勾配降下法の最適化アルゴリズム勾配降下法の最適化アルゴリズム
勾配降下法の 最適化アルゴリズムnishio
 
機械学習モデルの判断根拠の説明
機械学習モデルの判断根拠の説明機械学習モデルの判断根拠の説明
機械学習モデルの判断根拠の説明Satoshi Hara
 
[DL輪読会]近年のエネルギーベースモデルの進展
[DL輪読会]近年のエネルギーベースモデルの進展[DL輪読会]近年のエネルギーベースモデルの進展
[DL輪読会]近年のエネルギーベースモデルの進展Deep Learning JP
 
負の二項分布について
負の二項分布について負の二項分布について
負の二項分布についてHiroshi Shimizu
 
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)RyuichiKanoh
 
変分ベイズ法の説明
変分ベイズ法の説明変分ベイズ法の説明
変分ベイズ法の説明Haruka Ozaki
 
グラフニューラルネットワークとグラフ組合せ問題
グラフニューラルネットワークとグラフ組合せ問題グラフニューラルネットワークとグラフ組合せ問題
グラフニューラルネットワークとグラフ組合せ問題joisino
 

Tendances (20)

深層生成モデルと世界モデル(2020/11/20版)
深層生成モデルと世界モデル(2020/11/20版)深層生成モデルと世界モデル(2020/11/20版)
深層生成モデルと世界モデル(2020/11/20版)
 
Active Learning 入門
Active Learning 入門Active Learning 入門
Active Learning 入門
 
[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習
 
Rでisomap(多様体学習のはなし)
Rでisomap(多様体学習のはなし)Rでisomap(多様体学習のはなし)
Rでisomap(多様体学習のはなし)
 
GAN(と強化学習との関係)
GAN(と強化学習との関係)GAN(と強化学習との関係)
GAN(と強化学習との関係)
 
Triplet Loss 徹底解説
Triplet Loss 徹底解説Triplet Loss 徹底解説
Triplet Loss 徹底解説
 
[DL輪読会]Focal Loss for Dense Object Detection
[DL輪読会]Focal Loss for Dense Object Detection[DL輪読会]Focal Loss for Dense Object Detection
[DL輪読会]Focal Loss for Dense Object Detection
 
PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説
 
実装レベルで学ぶVQVAE
実装レベルで学ぶVQVAE実装レベルで学ぶVQVAE
実装レベルで学ぶVQVAE
 
生成モデルの Deep Learning
生成モデルの Deep Learning生成モデルの Deep Learning
生成モデルの Deep Learning
 
【DL輪読会】Scaling Laws for Neural Language Models
【DL輪読会】Scaling Laws for Neural Language Models【DL輪読会】Scaling Laws for Neural Language Models
【DL輪読会】Scaling Laws for Neural Language Models
 
12. Diffusion Model の数学的基礎.pdf
12. Diffusion Model の数学的基礎.pdf12. Diffusion Model の数学的基礎.pdf
12. Diffusion Model の数学的基礎.pdf
 
coordinate descent 法について
coordinate descent 法についてcoordinate descent 法について
coordinate descent 法について
 
勾配降下法の 最適化アルゴリズム
勾配降下法の最適化アルゴリズム勾配降下法の最適化アルゴリズム
勾配降下法の 最適化アルゴリズム
 
機械学習モデルの判断根拠の説明
機械学習モデルの判断根拠の説明機械学習モデルの判断根拠の説明
機械学習モデルの判断根拠の説明
 
[DL輪読会]近年のエネルギーベースモデルの進展
[DL輪読会]近年のエネルギーベースモデルの進展[DL輪読会]近年のエネルギーベースモデルの進展
[DL輪読会]近年のエネルギーベースモデルの進展
 
負の二項分布について
負の二項分布について負の二項分布について
負の二項分布について
 
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
 
変分ベイズ法の説明
変分ベイズ法の説明変分ベイズ法の説明
変分ベイズ法の説明
 
グラフニューラルネットワークとグラフ組合せ問題
グラフニューラルネットワークとグラフ組合せ問題グラフニューラルネットワークとグラフ組合せ問題
グラフニューラルネットワークとグラフ組合せ問題
 

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