SlideShare a Scribd company logo
1 of 26
Download to read offline
人工知能 第12回
確率モデルによる分類を理解する
2017年7月7日 八谷 大岳
1
前回のおさらい
 カーネルモデル:






2
前回のおさらい
 カーネルモデル:
 モデルパラメータ 、 の線形性を維持したまま、線形SVMを
非線形な識別境界(曲線・曲面)を表現できるように拡張





3
前回のおさらい
 カーネルモデル:
 モデルパラメータ 、 の線形性を維持したまま、線形SVMを
非線形な識別境界(曲線・曲面)を表現できるように拡張
 入力データを高次元空間に非線形写像




4
前回のおさらい
 カーネルモデル:
 モデルパラメータ 、 の線形性を維持したまま、線形SVMを
非線形な識別境界(曲線・曲面)を表現できるように拡張
 入力データを高次元空間に非線形写像
 カーネル関数:高次元空間でのデータ間の内積
 モデルの自由度を、入力データの次元からデータ数へと拡張


5
前回のおさらい
 カーネルモデル:
 モデルパラメータ 、 の線形性を維持したまま、線形SVMを
非線形な識別境界(曲線・曲面)を表現できるように拡張
 入力データを高次元空間に非線形写像
 カーネル関数:高次元空間でのデータ間の内積
 モデルの自由度を、入力データの次元からデータ数へと拡張
 正定値カーネル:高次元空間でのベクトルの内積を簡単に計算

6
前回のおさらい
 カーネルモデル:
 モデルパラメータ 、 の線形性を維持したまま、線形SVMを
非線形な識別境界(曲線・曲面)を表現できるように拡張
 入力データを高次元空間に非線形写像
 カーネル関数:高次元空間でのデータ間の内積
 モデルの自由度を、入力データの次元からデータ数へと拡張
 正定値カーネル:高次元空間でのベクトルの内積を簡単に計算
 線形性を保持しているため、従来のSVMの実装をそのまま活用可能
7
前回のおさらい 続き
 カーネルの種類:ガウスカーネル、多項式カーネルなど
 ハイパーパラメータを、交差確認法(cross validation)を用いて、推定誤差を
最小化するハイパーパラメータを選択
:ガウスカーネルの幅に対応するハイパーパラメータ
:多項式カーネルの次数に対応するハイパーパラメータ
交差確認の平均誤差
:ガウスカーネルの幅
を選択
8
SVMの限界
 SVMの出力:符号関数(シグナム関数)の
 2つのカテゴリのどちらかが必ず選ばれる
 境界線付近の分類が難しいデータ点もどちらかのカテゴリに分類
 犬55%、猫45%のような曖昧さや、「わからない」を表現できない。
 2つのカテゴリを前提
 複数のカテゴリを分類では、複数のSVMを学習
線形分類モデル:
符号関数(シグナム関数)
?
9
構成
1. カーネルモデルのおさらい & SVMの限界
2. 確率生成モデルとロジスティックモデル
3. ロジスティックモデルの学習
4. ロジスティックモデルの実装
10
学習データの確率生成モデル
 各カテゴリデータは、ある確率分布に従って生成されると仮定
 カテゴリの条件付き確率密度(尤度関数):
 各カテゴリ において独立にデータ が生成される確率を表す
 カテゴリの事前確率:
 カテゴリの割合に対する人間の事前知識を入れることができる
 例えば、日本で撮影した写真:犬50%, 猫35%、羊5%とか
例:動物の写真
11
分類の確率生成モデル
 カテゴリの事後確率:ベイズ定理より、尤度関数と事前確率
を用いて、以下のように表す
 ロジスティックモデル:非線形な(部分的には線形)モデル
を用いてカテゴリの事後確率を近似するモデル
事後確率
事前確率尤度関数
周辺確率
:カテゴリ のモデルパラメータ :データの次元
不確実さを表す確率
ベイズの定理?
12
ロジット:線形モデル
:モデルパラメータ
Softmax関数:
ロジットを割合を
なまして確率化
事後確率の近似
演習1 ソフトマックス関数の導入
 カテゴリ事後確率をロジスティックモデルに変形してみよう
1. 周辺確率 を加法定理用いて表す
2. 1の結果を、乗法定理を用いて表し、
カテゴリ事後確率に代入
3. 2の結果の分子と分母の共通項に、指数をとりソフトマックスの形にする
4. 線形モデルで近似している項を確認する
【カテゴリ事後確率】
【ロジスティックモデル】
:写真の集合
共通集合
14
構成
1. カーネルモデルのおさらい & SVMの限界
2. 確率生成モデルとロジスティックモデル
3. ロジスティックモデルの学習
4. ロジスティックモデルの実装
16
ロジスティックモデルの学習
 学習データの定義:複数カテゴリに対応するために拡張
 カテゴリを、カテゴリ数のC次元のベクトルで表す
 One-hotベクトル:データ点 が属するカテゴリのみ1でそれ以外は0
 例:データ点 がカテゴリ2に属している場合:
 ロジスティック回帰:学習データのカテゴリが生成される
事後確率を最大になるように、モデルパラメータ を調整
学習データのカテゴリがロジスティックモデルにより生成される確率
17
各データ点 がカテゴリ 属する確率
勾配法を用いた事後確率最大化
 事後確率最大化解は、交差エントロピー損失の最小化解と等価
 ニューラルネットワークでは、交差エントロピー損失最小化で解くことが多い
 制約なしの最小化問題であるが、解析的な方法が無いため、勾配法で解く
マイナスをつけて最小化問題にする【事後確率の最大化】
交差エントロピー
等価
19
最急降下法による最小化
 制約なしの最小化問題
 解析的なアプローチがない場合、最急降下法を用いて を最適化
 を と について微分し勾配 を求める
 モデルパラメータの初期値 をランダムに決めて、勾配を用いて
更新を繰り返す
:学習率(学習の早さを決めるハイパーパラメータ)
20
損失関数 の等高線
演習2 交差エントロピーの勾配
 交差エントロピーの勾配を求めよう
1. とおき、 に、 を代入して、
詳細な式を書いてみる。
2. を について偏微分し を求める。
3. 2の結果と以下のチェインルールを用いて、交差エントロピーの
関する偏微分(勾配)を求める。
4. 同様に に関する勾配を求める。
【交差エントロピー損失】
22
は、 の要素
勾配の解釈
 勾配法の更新式:
 が属しているカテゴリに対応するパラメータに対して:
 が属していないカテゴリに対応するパラメータに対して:
正しい事後確率と
予測した事後確率
との差
引き上げ
引き下げ
より事後確率が高くなるように
より事後確率が低くなるように
24
構成
1. カーネルモデルのおさらい & SVMの限界
2. 確率生成モデルとロジスティックモデル
3. ロジスティックモデルの学習
4. ロジスティックモデルの実装
25
Pythonでの実装例
 勾配を求めてパラメータ更新を繰り返すだけなので実装が容易
 SVMとは違い最適化ソルバーは特に必要ない
Wとbの勾配を求めて、更新
学習したWとbを用いて、
ソフトマックスで事後確率を計算
26
実行例:3カテゴリの分類
 ロジスティック回帰で推定した各カテゴリの事後確率
事後確率を推定することにより、分類
の確信度合、曖昧さを表現できる
27
実行例:非線形3カテゴリの分類
ロジスティックモデルは、分類境界は線
形なので、2つのカテゴリ間の非線形な
境界を表現できていない
28
ロジスティックモデルの非線形化
 カーネルモデルによる非線形化
 ロジスティックモデルの線形部分をカーネルモデルに置き換える
 パラメータwとbに関して線形性を保持するので、勾配法をそのまま使える
 ニューラルネットワークによる非線形化
 パラメータw,bおよびデータxに関して非線形で複雑な表現が可能なモデル
 Deep Learning(深層学習)で最近注目を集めている
次回、ニューラルネットワークで非線形化
29
次回の内容
 第13回 特徴量を学習する機械
 深層モデル(Deep Learning)
【非線形モデル】
【線形モデル】
【カーネルモデル】
【深層モデル(Deep Learning)】
30
ベイズの定理
 条件付き確率でも、呼び方が異なる
 カテゴリが「原因」、写真が「結果」とする
 尤度関数:
 「カテゴリが犬」の時に、「写真X」が撮影される割合
 「原因」のもとで「結果」の確率を考えるので、「結果の尤もらしさ」を表す
 事後確率:
 「写真X」が撮影された時に、「カテゴリが犬」だった割合
 「結果」のもとで「原因」の確率、つまり「事後に原因」を考える
 批判もあるが未観測事象や、不確実性を表すことができる
 2つの条件付き確率の間には、以下の関係
(ベイズの定理)がり立つ
1702-1761年
イギリス・エディンバラ大にて、論理学
と神学を研究
:写真の集合
事前確率尤度関数
事後確率
31

More Related Content

More from Hirotaka Hachiya

データ解析10 因子分析の基礎
データ解析10 因子分析の基礎データ解析10 因子分析の基礎
データ解析10 因子分析の基礎Hirotaka Hachiya
 
データ解析8 主成分分析の応用
データ解析8 主成分分析の応用データ解析8 主成分分析の応用
データ解析8 主成分分析の応用Hirotaka Hachiya
 
データ解析7 主成分分析の基礎
データ解析7 主成分分析の基礎データ解析7 主成分分析の基礎
データ解析7 主成分分析の基礎Hirotaka Hachiya
 
データ解析6 重回帰分析
データ解析6 重回帰分析データ解析6 重回帰分析
データ解析6 重回帰分析Hirotaka Hachiya
 
データ解析5 単回帰分析
データ解析5 単回帰分析データ解析5 単回帰分析
データ解析5 単回帰分析Hirotaka Hachiya
 
データ解析4 確率の復習
データ解析4 確率の復習データ解析4 確率の復習
データ解析4 確率の復習Hirotaka Hachiya
 
データ解析3 最適化の復習
データ解析3 最適化の復習データ解析3 最適化の復習
データ解析3 最適化の復習Hirotaka Hachiya
 
データ解析2 線形代数の復習
データ解析2 線形代数の復習データ解析2 線形代数の復習
データ解析2 線形代数の復習Hirotaka Hachiya
 
データ解析1 ベクトルの復習
データ解析1 ベクトルの復習データ解析1 ベクトルの復習
データ解析1 ベクトルの復習Hirotaka Hachiya
 
人工知能13 deep learning
人工知能13 deep learning人工知能13 deep learning
人工知能13 deep learningHirotaka Hachiya
 
人工知能10 サポートベクトルマシン
人工知能10 サポートベクトルマシン人工知能10 サポートベクトルマシン
人工知能10 サポートベクトルマシンHirotaka Hachiya
 
人工知能11 カーネルモデル
人工知能11 カーネルモデル人工知能11 カーネルモデル
人工知能11 カーネルモデルHirotaka Hachiya
 

More from Hirotaka Hachiya (12)

データ解析10 因子分析の基礎
データ解析10 因子分析の基礎データ解析10 因子分析の基礎
データ解析10 因子分析の基礎
 
データ解析8 主成分分析の応用
データ解析8 主成分分析の応用データ解析8 主成分分析の応用
データ解析8 主成分分析の応用
 
データ解析7 主成分分析の基礎
データ解析7 主成分分析の基礎データ解析7 主成分分析の基礎
データ解析7 主成分分析の基礎
 
データ解析6 重回帰分析
データ解析6 重回帰分析データ解析6 重回帰分析
データ解析6 重回帰分析
 
データ解析5 単回帰分析
データ解析5 単回帰分析データ解析5 単回帰分析
データ解析5 単回帰分析
 
データ解析4 確率の復習
データ解析4 確率の復習データ解析4 確率の復習
データ解析4 確率の復習
 
データ解析3 最適化の復習
データ解析3 最適化の復習データ解析3 最適化の復習
データ解析3 最適化の復習
 
データ解析2 線形代数の復習
データ解析2 線形代数の復習データ解析2 線形代数の復習
データ解析2 線形代数の復習
 
データ解析1 ベクトルの復習
データ解析1 ベクトルの復習データ解析1 ベクトルの復習
データ解析1 ベクトルの復習
 
人工知能13 deep learning
人工知能13 deep learning人工知能13 deep learning
人工知能13 deep learning
 
人工知能10 サポートベクトルマシン
人工知能10 サポートベクトルマシン人工知能10 サポートベクトルマシン
人工知能10 サポートベクトルマシン
 
人工知能11 カーネルモデル
人工知能11 カーネルモデル人工知能11 カーネルモデル
人工知能11 カーネルモデル
 

人工知能12 確率モデル