Upgrade to Pro — share decks privately, control downloads, hide ads and more …

わかりやすいパターン認識2章 / Pattern Recognition Manual Easy to understand SS 02

02a84f9b8af46c6c3ef7c4b1f9bbb56f?s=47 masso
December 07, 2020

わかりやすいパターン認識2章 / Pattern Recognition Manual Easy to understand SS 02

02a84f9b8af46c6c3ef7c4b1f9bbb56f?s=128

masso

December 07, 2020
Tweet

Transcript

  1. わかりやすいパターン認識 第⼆章 学習と識別関数

  2. ⽬次 1. 学習の必要性 2. 最近傍決定則と線形識別関数 3. パーセプトロンの学習規則 4. 区分的線形識別関数

  3. 1. 学習の必要性 • 今回の例は、以下の点において、前 章の例のようには⾏かない – プロトタイプを各クラスの重⼼に設定では、 適切にクラス間分離できない – 2次元じゃないので、プロトタイプを直感

    的に設定できない • 図(b)のように、プロトタイプを重⼼ からずらした妥当な結果を導き出す ために、学習が必要である
  4. その前に⽤語の定義を… • 前章で述べた識別部設計⽤に収集したパターン(⼿書き⽂字認識の ために、実際の⼿書き⽂字画像を集めよう…という⽂脈で登場した 話)を⼀般に「学習パターン(learning pattern)」、「訓練パ ターン(training pattern)」、「設計パターン(designing pattern)」などと呼ばれる •

    本書では、学習パターン(learning pattern)と呼ぶことにする
  5. 学習とは︖ 統計的パターン認識において、学習とは 学習パターンをすべて正しく識別できるようなクラス間分離⾯を⾒出 すことと⾔える。

  6. 2. 最近傍決定則と線形識別関数 この節の結論 1クラスあたり1プロトタイプのNN法(最近傍決定則) は、線形識別関数による識別法である。 このとき認識系では、 識別辞書に「重み係数」が格納されており、 識別演算部では、重みベクトルと特徴ベクトルの内積計算 と最⼤値選択処理を⾏う

  7. 結論までの流れ 1. 1クラスあたり1プロトタイプのNN法を定式化しましょ 2. 識別関数法というものが現れる(識別関数というのを使う) 3. ⼊⼒パターンに対して、クラスごとに識別関数 g(x)を実⾏し、そ の結果に対して最⼤値を選択する(←最⼤値選択とか最⼩値選択 とかが典型的)

    4. ⼊⼒のパターンに対して線形演算を施す識別関数を線形識別関数 と呼び、今回の例はまさにそれらしい。(後述のパーセプトロン もそう)
  8. 数式とか図とか • 図2­2 – 識別関数法のイメージ図 – ⼊⼒値xに対して、各クラスごと に識別関数をかまして、結果の最 ⼤値などを選択する •

    図2­3 – 線形識別関数法のイメージ図 – d次元の⼊⼒値xについて、d次元 の重みベクトルwと内積をとる 図2-2 図2-3
  9. 3. パーセプトロンの学習規則 この節の⼩⾒出し 1. 重み空間と解領域 2. パーセプトロンの収束定理 3. 学習とプロトタイプの移動

  10. 3. パーセプトロンの学習規則 この節の流れ 1. 重み空間と解領域 – 学習の流れを数式で表現する(重み空間、線形分離可能、解領域 などの⾔葉が登場する)、また特徴空間だけでなく、重み空間も 考える –

    識別するということを数式と平⾯図で考える 2. パーセプトロンの収束定理 – 線形識別関数の重み学習⽅法として有名な「パーセプトロンの学 習規則」というものがあるが、それは「パーセプトロンの収束定 理」に基づいているものだ 3. 学習とプロトタイプの移動 – 学習とは重みを修正すること、であると同時にプロトタイプを設 定すること(前述)と述べた。それらが等しい(というか関連が ある)ことを数式を添えて説明している
  11. 3.1. 重み空間と解領域 識別関数法の数式表現 • クラス数︓c • 特徴空間の次元数︓d 識別関数 識別関数(ベクトル表現) d+1次元の

    ・拡張特徴ベクトル ・拡張重みベクトル 同次座標系っぽい 雰囲気を感じる 拡張特徴ベクトル、 拡張重みベクトルの定義より 導かれる
  12. 3.1. 重み空間と解領域 • クラス︓ωi (i=1, 2, 3...c) • 学習パターンの全体集合︓X •

    学習パターンのうちクラスωi に属する集合︓Xi (i= 1, 2, 3, … c) • クラスiの識別関数︓gi () とするとき、線形識別関数の学習とは… Xi に属するすべてのxに対して、 が成り⽴つような重みを決定すること 線形分離可能とは、上記条件を満たす 重みベクトルが少なくとも1組 存在することを⾔う 線形識別関数の学習の数式表現
  13. 3.1. 重み空間と解領域 • d+1次元の拡張重みベクトルwが張る空間を重み空間という • 例えば、1次元特徴空間の例であれば • 識別関数の出⼒結果=拡張重みベクトルと拡張特徴ベクトルの内積 • =2次元空間における超平⾯=直線を表す↓↓

    • 具体的に計算すると • w=(w0, w1) • x=(1, 2)とすると • g(x) = w0 + 2w1 • となり、 • 直線であることがわかる • g(x)=wTx=0となるとき • そのwは決定境界を表す d+1次元の重み空間の導⼊
  14. 3.1. 重み空間と解領域 解領域 • なんか説明が回りくどいし、事例も分かりづらいので、書いてあることを正確に理 解するのは難しい。 • たぶん、以下のようなことを⾔いたいとみなした • 重み空間上の⼀つの点を定めることは、識別関数を⼀つ定めることに等し

    い • したがって、重み空間上の領域は、識別関数のとりうる範囲を⽰すといえ る • 線形分離可能であるための条件式 • =重み空間上で領域を⽰す式の集合体 • 上記領域内の点(=識別関数)によって、 • 線形分離を実現できる • が、上記領域内に点が存在し得ない場合は、 • 線形分離不可能である。(0.1より⼤&0.05より⼩みたいなケース)
  15. 3.1. 重み空間と解領域 たぶん、この節で⾔いたかったのは 線形分離可能な重みベクトルが存在する条件 (=解の存在条件)は、 拡張重みベクトルが張る空間である重み空間上の領域とい う表現ができる。 ということかなと思う。

  16. 3.2. パーセプトロンの収束定理 この節の正しいタイトルは、 「パーセプトロンの学習規則(別名︓誤り訂正 法)と呼ばれる線形識別関数の重みを学習によっ て求める⽅法の解説」であろう

  17. パーセプトロンの学習規則とは︖ このやり⽅で、なんで上⼿く⾏くのか︖ 上記(3)の部分の調整は、 解領域を⽰す超平⾯に直⾏な移動を表す なので、有限回繰り返すことで 解領域に到達できる︕ これをパーセプトロンの収束定理という

  18. 学習過程図化 on 重み空間 学習過程図化 on 特徴空間 (決定境界の移動≒プロトタイプの移動) 3.3. 学習とプロトタイプの移動

  19. 4. 区分的線形識別関数 この節の⼩⾒出し 1. 区分的線形識別関数の機能 2. ニューラルネットワークとの関係

  20. 4. 区分的線形識別関数 この節の流れ • 線形分離不可能な問題では、1クラス1プロトタイプだと学習パターンすべ てを適切に識別する識別関数は作れない • 1クラスL個のプロトタイプの場合の識別関数を区分的線形識別関数と呼び、 NN法はL=1の特別な場合の話だった •

    区分的線形識別関数を使えば、有限個の学習パターンを完全にクラス間分 離することができるが、NN法などのような学習アルゴリズムを適⽤できな い、という問題がある。収束条件が詳しくわかっていない。 • ⼀⽅、ニューラルネットワークは、⾮線形識別関数を実現する⼿段である。 区分的線形識別関数と⾮線形識別関数は、極限において等価である。した がって、両者は「決定境界を任意の精度で近似できる」という点は同じ • ニューラルネットワークの表現⼒がすごいのではなく、「誤差逆伝播法」 という学習アルゴリズムがすごいのだ。勘違いしないようにね • 学習法は誤差逆伝播法以外にも、学習ベクトル量⼦化や全数記憶式もある ので、適宜選択するようにしましょう(平成10年の書籍…)
  21. 4.1. 区分的線形識別関数の機能 ここでは、線形分離不可能な問題を扱う。 線形分離不可能な場合は、1クラス1プロトタイプでは駄⽬で、複数 個必要になる。その極端な場合(プロトタイプ数=学習パターン数) が全数記憶⽅式といえる。

  22. 4.1. 区分的線形識別関数の機能

  23. 4.2. ニューラルネットワークとの関係 「この節の流れ」の後半を参照

  24. 参考 • わかりやすいパターン認識_2章 | SlideShare