SlideShare. Present yourself.
Upload

PRML 4.1 Discriminant Function

8 months ago

Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

No comments yet

    Embed Video
    Post Comment
    Edit your comment Cancel

    PRML 4.1 Discriminant Function - Presentation Transcript

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

    stakemurastakemura + Follow Processing...

    714 views, 0 favs, 1 embed more

    About this presentation

    Usage Rights

    © All Rights Reserved

    Stats

    • 0 Favorites
    • 0 Comments
    • 4 Downloads
    • 472 Views on
      SlideShare
    • 242 Views on
      Embeds
    • 714 Total Views

    Embed views

    • 242 views on http://d.hatena.ne.jp

    more

    Embed views

    • 242 views on http://d.hatena.ne.jp

    less

    Accessibility

    Additional Details

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint

    Categories

    Follow SlideShare