Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
PATTERN RECOGNITION
AND MACHINE LEARNING
4.1 Discriminant Function
Shintaro TAKEMURA
d.hatena.ne.jp/taos
twitter.com/stake...
開発環境、何がお勧め?
• R
– 線形代数や最適化問題が簡単に扱える
– パッケージ管理やExcel連携機能(RExcel)が強み
• Python
– 統計に特化したRと違い、汎用スクリプト言語
– 科学計算モジュールが豊富
– 統合開発環...
本発表で用いる開発環境の紹介
• Pythonxy
– カスタマイズ済みIDEの提供
• Eclipse+PyDev 一般的な開発はこちらで
• Spider ちょっとした検証に便利
– 膨大なプリインストールライブラリ
• numpy 多次元...
参考文献(Pythonソースコード)
• id:aidiaryさん「人工知能に関する断想録」より
– 分類における最小二乗
◎高速 △要逆行列計算(大規模化が困難)
×精度 △クラス内において多変量ガウス分布を仮定
– フィッシャーの線形判別
...
線形識別モデル
• 目的
– ある入力ベクトル𝐱の要素を、K個の離散クラス𝐶 𝑘に分
類。各クラスは互いに重ならず、各入力は一つのクラ
スに割り当てられる
– 分類された入力空間を決定領域、
決定領域の境界を決定境界・決定面と呼ぶ
• 線形識別...
分類問題の表記方法について
• 回帰問題
– 目的変数𝑡 は実数値ベクトル
• 分類問題
– 離散的なクラスラベルを表現する方法は様々
– 2クラス分類問題の場合、2値表現が一般的
𝑡 ∈ 0,1
– K>2クラスの場合は、目的変数に対して1-...
分類問題への3アプローチ
• 識別関数(4.1)
– 入力ベクトル𝐱から直接クラス𝐶 𝑘を推定する識別関数を
構築。推論と決定を分離しない
• 確率的生成モデル(4.2)
– 条件付き確率分布𝑝(𝐱|𝐶 𝑘)と、クラスの事前確率𝑝(𝐶 𝑘)
を...
識別関数の表現
• 最も簡単なモデル
– 入力ベクトル𝐱に対して線形の識別関数を考える
このとき𝑦は実数値
𝑦 𝐱 = 𝐰T 𝐱 + 𝑤0
• モデルの一般化
– 領域(0,1)の値を取る事後確率を予測するため、パラ
メータ𝐰の線形関数を、非線...
2クラスの線形識別
• 2クラスの線形識別を考える
– 𝑦 𝐱 ≥ 0ならば、 𝐱はクラス𝐶1に割り当てられ、それ以
外は𝐶2に割り当てられる
– 𝐰は重みベクトルと呼ばれ、決定境界の傾きを決める
– 𝑤0はバイアスパラメータと呼ばれ、原点から...
識別関数の幾何的表現
– 赤で示された決定面は𝐰に垂直である
– 原点から面までの距離はバイアスパラメータ𝑤0によっ
て制御され、決定面(境界)のどちら側にあるかに
よって、入力ベクトルのクラスを判別する
決定面
重みベクトル
入力ベクトル
多クラスへの拡張・問題点
• 2クラス線形識別をK > 2に拡張
– 複数の2クラス識別関数の組み合わせで
Kクラスの識別が構成可能
– しかし、単純に行うと曖昧な領域が生
まれてしまう
• 1対他分類器(one-versus-the-rest...
多クラスへの拡張・解決案
• 単独のKクラス識別を考える
– 𝐾個の線形関数で構成 𝑘 = 1, … , 𝐾
yk 𝐱 = 𝐰 𝑘
T
𝐱 + 𝑤 𝑘0
– 𝑗 ≠ 𝑘としてyk 𝐱 > yj 𝐱 なら点𝐱は
𝐶 𝑘に分類。決定境界は、(D-1...
分類における最小二乗
• 最小二乗法による線形回帰
– 3章でパラメータに関する線形モデルを考えた
– 二乗和誤差の最小化によるパラメータの算出を、分類
問題に適用してみる
– 目的変数ベクトルを𝐭とすると、最小二乗法が入力ベク
トルが与えられ...
分類における最小二乗
• ベクトル表記の導入
– K個の識別関数を以下のように記述
yk 𝐱 = 𝐰 𝑘
T
𝐱 + 𝑤 𝑘0
𝐲(𝐱) = 𝐖T 𝐱
– 𝐖は、k番目の列をD+1次元の拡張重みベクトル
𝐰 𝒌 = 𝑤 𝑘0, 𝐰 𝑘
T T
...
分類における最小二乗
• パラメータ行列𝐖の決定
– 𝐖に関する導関数を0とおき、整理すると
𝐖 = 𝐗T
𝐗
−𝟏
𝐗T
𝐓 = 𝐗+
𝐓
– 疑似逆行列𝐗+を用いて識別関数を以下のように導出
𝐲 𝐱 = 𝐖T 𝐱 = 𝐓T 𝐗+ T
𝐱.
...
識別結果のプロット
• 緑色は4.3.2のロジス
ティック回帰モデル、紫
は最小二乗によって得ら
れる決定面
• 外れ値が右下にある場合
最小二乗は過敏に反応し
ていることがわかる
• 下段は3クラスの分類
• 左図は最小二乗による分
類.緑色...
次元の削減
• 2クラス線形識別モデル
– D次元の入力ベクトルを、1次元に射影
𝑦 = 𝐰T
𝐱
– 𝑦に対し−𝑤0を閾値とした、線形識別器が得られる
– 一般的に1次元への射影は相当量の情報の損失が発生
元のD次元空間では分離されていたクラ...
フィッシャーの線形判別
• クラス分離度の最大化
– 𝐶1に𝑁1個, 𝐶2に𝑁2個、入力ベクトルが属するとき、2
つのクラスの平均ベクトル𝐦1,𝐦2は
𝐦1 =
1
𝑁1
𝐱 𝑛
𝑛∈𝐶1
, 𝐦2 =
1
𝑁2
𝐱 𝑛
𝑛∈𝐶2
– m 𝑘を...
フィッシャーの線形判別
• クラス内分散を最小化
– 𝐶 𝑘から射影されたデータ𝑦𝑛 = 𝐰T 𝐱 𝑛のクラス内分散
𝑠 𝑘
2
= 𝑦𝑛 − 𝑚 𝑘
2
𝑛∈𝐶 𝑘
– フィッシャーの判別基準 𝐽 𝐰 は、クラス内分散とクラ
ス間分散の比で定...
フィッシャーの線形判別
• フィッシャーの判別基準 𝐽 𝐰 =
𝐰T 𝐒B 𝐰
𝐰T 𝐒W 𝐰
– クラス間共分散行列
𝐒B = 𝐦2 − 𝐦1 𝐦2 − 𝐦1
T
– 総クラス内共分散行列
𝐒W = 𝐱 𝑛 − 𝐦1 𝐱 𝑛 − 𝐦1
T
𝑛...
フィッシャーの線形判別
• フィッシャーの線形判別
– 単に線形判別分析と称することも
(Linear Discriminant Analysis)
• 結果
– 上の図では、射影空間では無視で
きないくらいにクラスが重なり
合っていることがわ...
最小二乗との関連
• 最小二乗法の目標
– 目的変数値の集合にできるだけ近い予測をすること
• フィッシャーの判別基準の目標
– 出力空間でのクラス分離を最大にすること
– 2クラス問題において、最小二乗の特殊ケースに該当
• 2つのアプローチ...
最小二乗との関連
• 最小二乗法による2クラスフィッシャー判別
𝐸 =
1
2
𝐰T 𝐱 𝑛 + 𝑤0 − 𝑡 𝑛
2
𝑁
𝑛=1
– 𝑤0と𝐰に関する二乗和誤差関数𝐸の導関数を0とする
と、バイアス𝑤0と全データ集合の平均𝐦は
𝑤0 = −𝐰...
多クラスにおけるフィッシャーの判別
• K>2 クラスへの一般化 (K < D, k=1,...,D’)
– 重みベクトル 𝐰 𝑘 を列とする行列Wを考える
𝐲 = 𝐖T 𝐱
– クラス内共分散を一般化
𝐒W = 𝐱 𝑛 − 𝐦 𝑘 𝐱 𝑛 −...
多クラスにおけるフィッシャーの判別
• フィッシャー判別基準の最大化
– D’次元に射影 𝐒W → sW 𝐒B → sB
– クラス間共分散が大きく、クラス内共分散が小さい場
合に大きくなるようなスカラーを構成(以下その例)
𝐽 𝐖 = Tr ...
パーセプトロンアルゴリズム
• パーセプトロン
– あるきまった非線形変換を用いて、入力ベクトル𝐱を
変換して特徴ベクトル𝜙(𝐱)を得て、以下の式で表わ
される一般化線形モデルを構成
𝑦(𝐱) = 𝑓(𝐰T
𝜙(𝐱))
– 2クラス分類問題では...
パーセプトロンアルゴリズム
• アルゴリズム導出が困難な理由
– 誤差が𝐰の区分的な定数関数であり、 𝐰の変化に伴い
変化する決定境界が、データ点を横切るたびに不連続
– 関数の勾配を使って𝐰を変化させる方法が使えない
• パーセプトロン規準に...
パーセプトロンアルゴリズム
• パーセプトロン基準
𝐸P 𝐰 = − 𝐰T 𝜙 𝑛 𝑡 𝑛
𝑛∈ℳ
– 𝜙 𝑛 = 𝜙(𝐱 𝑛)で、ℳは誤分類された全パターンの集合
– 𝐰空間でパターンが正しく分類される領域内ではパ
ターンの誤差への寄与は0、...
パーセプトロンの収束特性
• プロット図の解説
– 初期のパラメータベクトル𝐰を、決定境界(黒直線)
とともに黒矢印で表示
– 緑の円で囲まれたデータは誤分類されており、その特
徴ベクトルが現在の重みベクトルに追加される
– さらに考慮すべき次...
パーセプトロンの弱み
• 考察
– 更新の対象としていない誤分類パターンからの誤算関
数への寄与は減少しているとは限らない
– 重みベクトルの変化は、以前正しく分類されていたパ
ターンを誤分類させるようなこともあり得る
• パーセプトロンの収束...
Upcoming SlideShare
Loading in …5
×

PRML 4.1 Discriminant Function

7,347 views

Published on

パターン認識と機械学習 4.1 識別関数
11/5 改訂版

Published in: Education
  • Dating direct: ❶❶❶ http://bit.ly/2u6xbL5 ❶❶❶
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Dating for everyone is here: ❶❶❶ http://bit.ly/2u6xbL5 ❶❶❶
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

PRML 4.1 Discriminant Function

  1. 1. PATTERN RECOGNITION AND MACHINE LEARNING 4.1 Discriminant Function Shintaro TAKEMURA d.hatena.ne.jp/taos twitter.com/stakemura facebook.com/shintaro.takemura
  2. 2. 開発環境、何がお勧め? • R – 線形代数や最適化問題が簡単に扱える – パッケージ管理やExcel連携機能(RExcel)が強み • Python – 統計に特化したRと違い、汎用スクリプト言語 – 科学計算モジュールが豊富 – 統合開発環境でお手軽インストール →Pythonxy(無償)やEnthought(有償) • C++ – 速度を要求するモジュール実装のための言語 – GPUなどハードに特化した最適化が可能
  3. 3. 本発表で用いる開発環境の紹介 • Pythonxy – カスタマイズ済みIDEの提供 • Eclipse+PyDev 一般的な開発はこちらで • Spider ちょっとした検証に便利 – 膨大なプリインストールライブラリ • numpy 多次元配列操作や数値解析など • scipy 統計、最適化、積分、ODE ソルバなど • cvxopt より強力な数値最適化 • matplotlib R並みのグラフ描画機能 • pylab MATLABライクなインターフェースを提供 – 現時点では、Windows/Ubuntuに対応 (EnthoughtはMacOSなどより幅広く対応)
  4. 4. 参考文献(Pythonソースコード) • id:aidiaryさん「人工知能に関する断想録」より – 分類における最小二乗 ◎高速 △要逆行列計算(大規模化が困難) ×精度 △クラス内において多変量ガウス分布を仮定 – フィッシャーの線形判別 ◎高速 △K>2で要特異値分解(大規模化が困難) △精度 △クラス間では平均のみ異なると仮定 – パーセプトロン ◎オンライン学習 ×収束判定が難しい – ロジスティック回帰 (4.3.2) ○高速 ○大規模データにも適用可能 ◎上記線形判別のような分布、パラメータの制約がない
  5. 5. 線形識別モデル • 目的 – ある入力ベクトル𝐱の要素を、K個の離散クラス𝐶 𝑘に分 類。各クラスは互いに重ならず、各入力は一つのクラ スに割り当てられる – 分類された入力空間を決定領域、 決定領域の境界を決定境界・決定面と呼ぶ • 線形識別モデルとは – 決定面が入力ベクトル𝐱の線形関数 – D次元の入力空間に対し、決定面はD-1次元のモデル – 線形決定面によって正しく各クラスに分類できるデー タ集合を線形分離可能であるという
  6. 6. 分類問題の表記方法について • 回帰問題 – 目的変数𝑡 は実数値ベクトル • 分類問題 – 離散的なクラスラベルを表現する方法は様々 – 2クラス分類問題の場合、2値表現が一般的 𝑡 ∈ 0,1 – K>2クラスの場合は、目的変数に対して1-of-k表記法を 使用するのが便利。クラスが𝐶𝑗の場合、j番目の要素を 除くtの要素がすべて0となる、長さKのベクトルが使用 される。 𝑡 = (0,1,0,0,0)T (4.1)
  7. 7. 分類問題への3アプローチ • 識別関数(4.1) – 入力ベクトル𝐱から直接クラス𝐶 𝑘を推定する識別関数を 構築。推論と決定を分離しない • 確率的生成モデル(4.2) – 条件付き確率分布𝑝(𝐱|𝐶 𝑘)と、クラスの事前確率𝑝(𝐶 𝑘) をモデル化 – 事後確率𝑝(𝐶 𝑘|𝐱)は、モデル化した 𝑝(𝐱|𝐶 𝑘)と𝑝(𝐶 𝑘)から、 ベイズの定理で計算する • 確率的識別モデル(4.3) – 条件付き確率分布𝑝(𝐶 𝑘|𝐱) を直接モデル化 – 𝑝(𝐶 𝑘|𝐱)を通じて得られる尤度関数を最大化する
  8. 8. 識別関数の表現 • 最も簡単なモデル – 入力ベクトル𝐱に対して線形の識別関数を考える このとき𝑦は実数値 𝑦 𝐱 = 𝐰T 𝐱 + 𝑤0 • モデルの一般化 – 領域(0,1)の値を取る事後確率を予測するため、パラ メータ𝐰の線形関数を、非線形関数𝑓(∙)によって変換す るように一般化する 𝑦 𝐱 = 𝑓(𝐰T 𝐱 + 𝑤0) – 𝑓(∙)を活性化関数(activation function)とよぶ – 𝑓(∙)の逆関数は連結関数(link function) (4.3)
  9. 9. 2クラスの線形識別 • 2クラスの線形識別を考える – 𝑦 𝐱 ≥ 0ならば、 𝐱はクラス𝐶1に割り当てられ、それ以 外は𝐶2に割り当てられる – 𝐰は重みベクトルと呼ばれ、決定境界の傾きを決める – 𝑤0はバイアスパラメータと呼ばれ、原点からの境界の ずれを決める(マイナスの場合は閾値パラメータ) 重みベクトル バイアスパラメータ 入力ベクトル (4.4)𝑦 𝐱 = 𝐰T 𝐱 + 𝑤0
  10. 10. 識別関数の幾何的表現 – 赤で示された決定面は𝐰に垂直である – 原点から面までの距離はバイアスパラメータ𝑤0によっ て制御され、決定面(境界)のどちら側にあるかに よって、入力ベクトルのクラスを判別する 決定面 重みベクトル 入力ベクトル
  11. 11. 多クラスへの拡張・問題点 • 2クラス線形識別をK > 2に拡張 – 複数の2クラス識別関数の組み合わせで Kクラスの識別が構成可能 – しかし、単純に行うと曖昧な領域が生 まれてしまう • 1対他分類器(one-versus-the-rest classifier) – ある特定のクラスに入る点と入らない 点を識別する2クラスをK − 1個用意 • 1対1分類器(one-versus-one classifier) – すべてのクラスの組み合わせを考え、 K(K − 1)/2個の2クラスを用意
  12. 12. 多クラスへの拡張・解決案 • 単独のKクラス識別を考える – 𝐾個の線形関数で構成 𝑘 = 1, … , 𝐾 yk 𝐱 = 𝐰 𝑘 T 𝐱 + 𝑤 𝑘0 – 𝑗 ≠ 𝑘としてyk 𝐱 > yj 𝐱 なら点𝐱は 𝐶 𝑘に分類。決定境界は、(D-1)次元の超平面に相当 • 決定境界の性質 – 領域ℛ 𝑘内の点𝐱 𝐀と𝐱 𝐁と2点の線分上の点𝐱を考える – 0 ≤ 𝜆 ≤ 1とすると、ベクトル𝐱は次式が成立 𝐱 = 𝜆𝐱A + 1 − 𝜆 𝐱B – 次式から𝑦 𝑘 𝐱 > 𝑦𝑗(𝐱)が示され、任意の𝐱はℛ 𝑘内に 𝑦 𝑘 𝐱 = 𝜆𝑦 𝑘 𝐱A + 1 − 𝜆 𝑦 𝑘 𝐱B (4.9) (4.11) (4.12)
  13. 13. 分類における最小二乗 • 最小二乗法による線形回帰 – 3章でパラメータに関する線形モデルを考えた – 二乗和誤差の最小化によるパラメータの算出を、分類 問題に適用してみる – 目的変数ベクトルを𝐭とすると、最小二乗法が入力ベク トルが与えられた際の目的変数値の条件付き期待値 𝔼,𝐭|𝐱-を近似する • 結果 – 推定された確率は一般的に非常に近似が悪い – 線形モデルの柔軟性が低いために、確率の値が(0,1)の 範囲を超えてしまうこともある
  14. 14. 分類における最小二乗 • ベクトル表記の導入 – K個の識別関数を以下のように記述 yk 𝐱 = 𝐰 𝑘 T 𝐱 + 𝑤 𝑘0 𝐲(𝐱) = 𝐖T 𝐱 – 𝐖は、k番目の列をD+1次元の拡張重みベクトル 𝐰 𝒌 = 𝑤 𝑘0, 𝐰 𝑘 T T で構成されるパラメータ行列 – 𝐱 = 1, 𝐱T T は、同じくD+1次元の拡張入力ベクトル – 学習データ集合 *𝐱 𝑛, 𝐭 𝑛+が与えられたとき、次式の二乗 和誤差関数を最小化して、パラメータ行列𝐖を決定 𝐸 𝐷 𝐖 = 1 2 𝑇𝑟 𝐗 𝐖 − 𝐓 𝑇 𝐗 𝐖 − 𝐓 (4.14) (4.13) (4.15)
  15. 15. 分類における最小二乗 • パラメータ行列𝐖の決定 – 𝐖に関する導関数を0とおき、整理すると 𝐖 = 𝐗T 𝐗 −𝟏 𝐗T 𝐓 = 𝐗+ 𝐓 – 疑似逆行列𝐗+を用いて識別関数を以下のように導出 𝐲 𝐱 = 𝐖T 𝐱 = 𝐓T 𝐗+ T 𝐱. • 考察 – 最小二乗法は識別関数のパラメータを求めるための解 析解を与えるが、外れ値に弱く、3クラスの分類に対し ても満足のいく解を与えられない(次スライドにて) – 最小二乗法は条件付き確率分布にガウス分布を仮定し た場合の最尤法であることに起因 (4.17) (4.16)
  16. 16. 識別結果のプロット • 緑色は4.3.2のロジス ティック回帰モデル、紫 は最小二乗によって得ら れる決定面 • 外れ値が右下にある場合 最小二乗は過敏に反応し ていることがわかる • 下段は3クラスの分類 • 左図は最小二乗による分 類.緑色のクラスについ ては誤識別が大きい • 右図はロジスティック回 帰モデルで、うまく分類 できていることがわかる
  17. 17. 次元の削減 • 2クラス線形識別モデル – D次元の入力ベクトルを、1次元に射影 𝑦 = 𝐰T 𝐱 – 𝑦に対し−𝑤0を閾値とした、線形識別器が得られる – 一般的に1次元への射影は相当量の情報の損失が発生 元のD次元空間では分離されていたクラスが、1次元空 間では大きく重なり合う可能性がある • 改善案 – 重みベクトル𝐰の要素を調整することで、クラスの分 離を最大にする射影を選択することができる (4.20)
  18. 18. フィッシャーの線形判別 • クラス分離度の最大化 – 𝐶1に𝑁1個, 𝐶2に𝑁2個、入力ベクトルが属するとき、2 つのクラスの平均ベクトル𝐦1,𝐦2は 𝐦1 = 1 𝑁1 𝐱 𝑛 𝑛∈𝐶1 , 𝐦2 = 1 𝑁2 𝐱 𝑛 𝑛∈𝐶2 – m 𝑘を𝐶 𝑘から射影されたデータの平均とおくと、分離度 を最大化する単位長の𝐰は次式から𝐰 ∝ (𝒎 𝟐 − 𝒎 𝟏) 𝑚2 − 𝑚1 = 𝐰T(𝐦2 − 𝐦1) 𝑚 𝑘 = 𝐰T 𝐦 𝑘 – しかしこの方法では、射影結果に 重なりが生じてしまう(右図) →クラス分布の非対角な 共分散が強いため (4.21) (4.22) (4.23)
  19. 19. フィッシャーの線形判別 • クラス内分散を最小化 – 𝐶 𝑘から射影されたデータ𝑦𝑛 = 𝐰T 𝐱 𝑛のクラス内分散 𝑠 𝑘 2 = 𝑦𝑛 − 𝑚 𝑘 2 𝑛∈𝐶 𝑘 – フィッシャーの判別基準 𝐽 𝐰 は、クラス内分散とクラ ス間分散の比で定義される 𝐽 𝐰 = 𝑚2 − 𝑚1 2 𝑠1 2 + 𝑠2 2 – また𝑚 𝑘 = 𝐰T 𝐦 𝑘から𝐰で以下のように記述可能 𝐽 𝐰 = 𝐰T 𝐒B 𝐰 𝐰T 𝐒W 𝐰 (4.24) (4.26) (4.25)
  20. 20. フィッシャーの線形判別 • フィッシャーの判別基準 𝐽 𝐰 = 𝐰T 𝐒B 𝐰 𝐰T 𝐒W 𝐰 – クラス間共分散行列 𝐒B = 𝐦2 − 𝐦1 𝐦2 − 𝐦1 T – 総クラス内共分散行列 𝐒W = 𝐱 𝑛 − 𝐦1 𝐱 𝑛 − 𝐦1 T 𝑛∈𝐶1 + 𝐱 𝑛 − 𝐦2 𝐱 𝑛 − 𝐦 𝟐 T 𝑛∈𝐶2 • 𝐽 𝐰 の最大化条件(微分して算出) (𝐰T 𝐒B 𝐰) 𝐒W 𝐰 = (𝐰T 𝐒W 𝐰) 𝐒 𝐵 𝐰 𝐰 ∝ 𝐒W −1 𝐦2 − 𝐦1 – クラス内分散が等方的であるとすると、𝐒Wは単位行列 に比例し、𝐰はクラス平均の差に比例 (4.27) (4.28) (4.29) (4.30)
  21. 21. フィッシャーの線形判別 • フィッシャーの線形判別 – 単に線形判別分析と称することも (Linear Discriminant Analysis) • 結果 – 上の図では、射影空間では無視で きないくらいにクラスが重なり 合っていることがわかる – 下の図のプロットはフィッシャー の線形判別に基づく射影を示す – クラス分離度を大きく改善してい ることがわかる
  22. 22. 最小二乗との関連 • 最小二乗法の目標 – 目的変数値の集合にできるだけ近い予測をすること • フィッシャーの判別基準の目標 – 出力空間でのクラス分離を最大にすること – 2クラス問題において、最小二乗の特殊ケースに該当 • 2つのアプローチの関係 – 目的変数値𝐭 𝑛として1-of-K表記法を考えてきたが、それ とは異なる目的変数値の表記法を使うと、重みに対す る最小二乗解がフィッシャーの解と等価になる – 𝐶1, 𝐶2に対する目的変数値を𝑁/𝑁1, −𝑁/𝑁2とおく – ここで𝑁は全体のパターンの個数
  23. 23. 最小二乗との関連 • 最小二乗法による2クラスフィッシャー判別 𝐸 = 1 2 𝐰T 𝐱 𝑛 + 𝑤0 − 𝑡 𝑛 2 𝑁 𝑛=1 – 𝑤0と𝐰に関する二乗和誤差関数𝐸の導関数を0とする と、バイアス𝑤0と全データ集合の平均𝐦は 𝑤0 = −𝐰T 𝐦 𝐦 = 1 𝑁 𝐱 𝑛 𝑁 𝑛=1 = 1 𝑁 (𝑁1 𝐦1 + 𝑁2 𝐦2) – 𝐒B 𝐰が常に(𝐦2 − 𝐦1)と同じ方向になることから𝐰は 𝐒W + 𝑁1 𝑁2 𝑁 𝐒 𝐵 𝐰 = 𝑁(𝐦1 − 𝐦2) 𝐰 ∝ 𝐒W −1 𝐦2 − 𝐦1 (4.31) (4.36) (4.37) (4.38) (4.35)
  24. 24. 多クラスにおけるフィッシャーの判別 • K>2 クラスへの一般化 (K < D, k=1,...,D’) – 重みベクトル 𝐰 𝑘 を列とする行列Wを考える 𝐲 = 𝐖T 𝐱 – クラス内共分散を一般化 𝐒W = 𝐱 𝑛 − 𝐦 𝑘 𝐱 𝑛 − 𝐦 𝑘 T 𝑛∈𝐶 𝑘 𝐾 𝑘=1 – 総共分散行列 𝐒T = 𝐒W + 𝐒Bからクラス間共分散を算出 𝐒T = 𝐱 𝑛 − 𝐦 𝐱 𝑛 − 𝐦 T 𝑁 𝑛=1 𝐒B = 𝑁𝑘 𝐦 𝑘 − 𝐦 𝐦 𝑘 − 𝐦 𝑇 𝐾 𝑘=1 (4.39) (4.43) (4.41) (4.46)
  25. 25. 多クラスにおけるフィッシャーの判別 • フィッシャー判別基準の最大化 – D’次元に射影 𝐒W → sW 𝐒B → sB – クラス間共分散が大きく、クラス内共分散が小さい場 合に大きくなるようなスカラーを構成(以下その例) 𝐽 𝐖 = Tr sW −1 sB – (4.50)は一般化レイリー商から求められるらしい • 高村大也, Mining the Web : Chapter 5 (SUPERVISED LEARNING) p.9 より – 以下の式に書き直すことも可能 𝐽 𝐰 = Tr 𝐖𝐒W 𝐖T −1 (𝐖𝐒B 𝐖T) – 𝐒Bのランクは高々(𝐾 − 1)ゆえ(𝐾 − 1)個以上の線形特 徴を発見することはできない (4.50) (4.51)
  26. 26. パーセプトロンアルゴリズム • パーセプトロン – あるきまった非線形変換を用いて、入力ベクトル𝐱を 変換して特徴ベクトル𝜙(𝐱)を得て、以下の式で表わ される一般化線形モデルを構成 𝑦(𝐱) = 𝑓(𝐰T 𝜙(𝐱)) – 2クラス分類問題では目的変数値の表記法として、 𝑡 ∈ 0,1 を用いていたが、パーセプトロンでは𝑓(∙)は ステップ関数で与えられる 𝑓 𝑎 = +1(𝑎 ≥ 0) −1(𝑎 < 0) – 誤差関数として、誤識別したパターンの総数を選 択するのが自然だが、アルゴリズム導出が困難 (4.52) (4.53)
  27. 27. パーセプトロンアルゴリズム • アルゴリズム導出が困難な理由 – 誤差が𝐰の区分的な定数関数であり、 𝐰の変化に伴い 変化する決定境界が、データ点を横切るたびに不連続 – 関数の勾配を使って𝐰を変化させる方法が使えない • パーセプトロン規準による解決 – 別の誤差関数を導くため、𝐶1のパターン𝐱 𝑛に対し 𝐰T 𝜙 𝐱 𝑛 > 0、𝐶2のパターン𝐱 𝑛に対し𝐰T 𝜙 𝐱 𝑛 < 0と なるような重みベクトル𝐰を求める – 𝑡 ∈ −1, +1 という目的変数値の表記方法を用いると、 すべてのパターンは𝐰T 𝜙 𝐱 𝑛 𝑡 𝑛 > 0を満たす – 正しく分類されたパターンには誤差0を割り当て、誤分 類されたパターンには−𝐰T 𝜙 𝐱 𝑛 𝑡 𝑛の最小化を試みる
  28. 28. パーセプトロンアルゴリズム • パーセプトロン基準 𝐸P 𝐰 = − 𝐰T 𝜙 𝑛 𝑡 𝑛 𝑛∈ℳ – 𝜙 𝑛 = 𝜙(𝐱 𝑛)で、ℳは誤分類された全パターンの集合 – 𝐰空間でパターンが正しく分類される領域内ではパ ターンの誤差への寄与は0、誤分類の場合は線形関数 よって総誤差関数は区分的に線形 – 誤差関数最小化に確率的最急降下アルゴリズムを適用 𝐰 𝜏+1 = 𝐰 𝜏 − 𝜂𝛻𝐸P 𝐰 = 𝐰 𝜏 + 𝜂𝜙 𝑛 𝑡 𝑛 – 𝜂は学習率パラメータ、𝜏はアルゴリズムのステップ数 – 𝜂は1にしても一般性は失われない (4.54) (4.55)
  29. 29. パーセプトロンの収束特性 • プロット図の解説 – 初期のパラメータベクトル𝐰を、決定境界(黒直線) とともに黒矢印で表示 – 緑の円で囲まれたデータは誤分類されており、その特 徴ベクトルが現在の重みベクトルに追加される – さらに考慮すべき次の誤分類点の特徴ベクトルをまた 重みベクトルに追加、右下の決定領域を得る
  30. 30. パーセプトロンの弱み • 考察 – 更新の対象としていない誤分類パターンからの誤算関 数への寄与は減少しているとは限らない – 重みベクトルの変化は、以前正しく分類されていたパ ターンを誤分類させるようなこともあり得る • パーセプトロンの収束定理 – 厳密解が存在する場合(学習データ集合が線形に分離 可能な場合)パーセプトロン学習アルゴリズムは有限 回の繰り返しで厳密解に収束することを保証している – 実用的には、パラメータの初期値、データの提示順に 依存してさまざまな解に収束してしまい、また線形分 離可能でないデータ集合に対しては決して収束しない

×