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.

わかりやすいパターン認識_2章

  • Login to see the comments

わかりやすいパターン認識_2章

  1. 1. 1 15分ではなす? ぞくパタ #3 LT @weda_654 わかりやすいパターン認識 2章 学習と識別関数 ver0.8
  2. 2. 2 自己紹介 TwitterID : weda_654 所属 : GoogleMapとAWSとデータ分析の会社 業務 : 前処理! 集計! 資料作成! 使用言語 : R(メイン), Python(たまに) こんなアイコンエアロバイクが欲しくなってきた
  3. 3. 注意事項 本資料は個人の意見・認識によるものです 所属する組織の意見・認識とは無関係です ご了承おねがいいたします
  4. 4. 4 目次 学習の必要性 最近傍決定則と線形識別関数 パーセプトロンの学習規則 区分線形識別関数 * ニューラルネットワークとの関係は省略
  5. 5. 5 はじめに 持っていない人は書店にGO
  6. 6. 6 学習の必要性
  7. 7. 7 プロトタイプの配置 学習の必要性 !2 !1 !3 重心にプロトタイプを配置した場合 !2 !1 !3 プロトタイプを重心からずらした場合 プロトタイプが重心にあっては各クラスを正しく分類できてない 正しく分類できて いない! 正しく分類できるようにプロトタイプの配置を調整する 学習
  8. 8. 8 学習とは 学習の必要性 学習パターンを用いて,学習パターンをすべて正しく識別できる ようなクラス間分離面を見出すこと プロトタイプを設定して特徴空間を分割する方法 * 学習パターン:識別部を設計するために収集されたパターン
  9. 9. 9 最近傍決定則と線形識別関数
  10. 10. 10 最小距離識別法 最近傍決定則と線形識別関数 1クラスあたり1プロトタイプの最近傍決定則(NN法) !1, !1, ...!c p1, p2, ...pc (i = 1, 2, ..., c) • c個のクラス に対してプロトタイプ を割り当てる x• 入力パターンは とする • NN法ではkx pik が最小となる i を求める kx pik = kxk2 2pt ix + kpik2 = kxk2 2(pt ix 1 2 kpik2 ) > 0 gi(x)とおきかえる (1)
  11. 11. 11 最小距離識別法 最近傍決定則と線形識別関数 式(1)が最小になるためには gi(x)が最大になればいい max i=1,...,c {gi(x)} = gk(x) x 2 !k 最大となるi が x の属するクラスとなる (2) gi(x)•   を識別関数とよぶ • 各クラスに gi(x) を対応させ,その値によってxの属する クラスを判定する 識別関数法 * 入力パターンに対して線形な識別関数を線形識別関数とよぶ
  12. 12. 12 線形識別関数 最近傍決定則と線形識別関数 g(x) = w0 + dX j=1 wjxj g(x) = w0 + wt x g(x) = Wt X w0, w1, ..., wd重み係数 ベクトルで表現 d+1次元の拡張(特徴・重み)ベクトルを使用 w = (w1, ..., wd)t x = (x1, ..., xd)t W = (w0, w)t X = (x0, x)t (3a) (3b) (3c)
  13. 13. 13 線形識別関数 最近傍決定則と線形識別関数 gi(x) = wi0 + dX i=1 wijxj = wi0 + wt ix = Wt iX クラス !i の線形識別関数を gi(x) とすると wi = (wi1, ..., wid)t Wi = (wi0, wi1, ..., wid)t (4a) (4b) (4c) 式(4b)を !i0 = 1 2 kpk2 wi = p, と置き換えると式(1)となる
  14. 14. 14 線形識別関数 最近傍決定則と線形識別関数 入力x gc(x) gi(x) g1(x) 識別関数 g1 gi gc 最 大 値 選 択 機 出力 !k クラス 図1:線形識別法のイメージ図
  15. 15. 15 線形識別関数 最近傍決定則と線形識別関数 入力x gc(x) gi(x) g1(x) 識別関数 g1 gi gc 最 大 値 選 択 機 出力 !k クラス 図1:線形識別法のイメージ図 x0 x1 xd wi0 wi1 wid X ・・・ ・・・ 線形和と最大値選択からなる識別系をパーセプトロンとよぶ
  16. 16. 16 パーセプトロンの学習規則
  17. 17. 17 パーセプトロンの学習規則 線形識別関数の学習とは :学習パターン全体 i (i = 1, 2, ..., c)!i:クラス に属する学習パターンの集合 i に属する全ての x に対して gi(x) > gj(x) (j = 1, 2, ...c i 6= j) (5) 式(5)が成り立つようなwi が1組存在するとき は線形分離可能という wiwi0となるような , を決定することを指す
  18. 18. 18 パーセプトロンの学習規則 例題:2つのクラスの識別 g1(x) g2(x)識別関数 , を以下のように表す g(x) = g1(x) g2(x) = (W1 W2)t X = Wt X W = W1 W2ただし • この識別関数の識別法は g(x) = Wt X > 0 g(x) = Wt X < 0 x 2 !1 x 2 !2 g(x) = Wt X = 0 は2つのクラスの決定境界である•   (6a) (6b)
  19. 19. 19 パーセプトロンの学習規則 例題:1次元の特徴空間 !2!1 -1.5 -1.0 -0.5 -0.2 0.2 1.2 図2:1次元の特徴空間 図2より線形分離可能であることがわかる x1 x2 x3 x4 x5 x6 Wの張るd+1次元空間 = 重み空間を考えてみる  * 今回は2次元の重み空間となる
  20. 20. 20 パーセプトロンの学習規則 例題:1次元の特徴空間 w0 w1 重み空間上に引かれている直線は 任意のパターンXに対して Wt X = 0 が成り立つ超平面である 重み空間では各学習パターン によって定まる超平面が存在する * 今回は6つのパターン (n=6) n個の超平面によって重み空間に 存在すべきWの領域を見つける 解領域 図3:2次元の重み空間 重み空間ではWは重み係数を 座標に持った点になる (5, 2)
  21. 21. 21 パーセプトロンの学習規則 パーセプトロンの学習規則 (1) 重みベクトルW の初期値を適当に選ぶ (2) の中から学習パターンを1つ選ぶ (3) 識別関数 g(x) = Wt X によって識別を行い 正しく識別できなかった場合のみ修正を行いW 0 を作る (4) (2),(3)を の全パターンで繰り返す (5) の全パターンを正しく認識すれば終了 誤りがあれば(2)へ戻る W 0 = W ± ⇢X (⇢ > 0) (7)
  22. 22. 22 パーセプトロンの収束定理   が線形分離可能ならば,パーセプトロンの学習規則を 有限回繰り返すことで解領域の重みベクトルに達する パーセプトロンの学習規則 パーセプトロンの収束定理による学習はΦ関数の重みに 対して適用できる Φ関数 x 1(x), 2(x), ..., d(x)の任意の関数 の 線形結合で表される関数
  23. 23. 23 重みの空間における重みベクトルの移動 パーセプトロンの学習規則 w0 w1 図4:2次元の重み空間 ⇢ の値が小さいと小刻みな 修正を繰り返す ⇢ の値が大きすぎると 解領域をまたいでしまう この学習法は⇢ の値を固定する 方法である 固定増分法
  24. 24. 24 多クラス(c>2)への拡張 パーセプトロンの学習規則  !i !j !i !j に属するパターンを と誤ったとき あるいは , の双方が候補になったとき 重みベクトルの修正を式(8)のように行う W 0 i = Wi + ⇢X W 0 j = Wj + ⇢X パーセプトロンの学習則は誤認識が発生したときのみ 重みの修正を行うため誤り訂正法とも呼ばれる (8)
  25. 25. 25 区分的線形識別関数
  26. 26. 26 区分的線形識別関数 線形分離が不可能な例 d=2,c=3の線形分離が不可能な分布 !1 !2 !3 図5:線形分離が不可能な分布 図5を分離するためには プロトタイプを増やす
  27. 27. 27 区分的線形識別関数 線形分離が不可能な例 d=2,c=3の線形分離が不可能な分布 図6:ボロノイ図 図5を分離するためには プロトタイプを増やす いくつもの超平面によって 決定境界が構成される
  28. 28. 28 区分的線形識別関数 区分的線形識別関数 区分的線形識別関数は複数の線形識別関数の組で表される gi(x) = maxl=1,...Li g (l) i (x) g (l) i (x) = w (l) i0 + Pd j=1 w (l) ij xj (i = 1, 2, ..., c) g (l) i (x)gi(x) Liクラス!i の識別関数 は 個の線形識別関数 (l = 1, 2, ..., Li) の内,最大値を取るものが採択される Li !i: のプロトタイプの数 g (l) i (x):区分的線形識別関数 gi(x):副次識別関数 (9a) (9b)
  29. 29. 29 区分的線形識別関数 入力x gc(x) gi(x) g1(x) 識別関数 g1 gi gc 最 大 値 選 択 機 出力 !k クラス 図1:線形識別法のイメージ図 区分的線形識別関数 g (l) i g (1) i g (Li) i g (Li) i (x) g (l) i (x) g (1) i (x) 最 大 値 選 択 機 ・・・・・・ max{g (l) i (x)}
  30. 30. 30 区分的線形識別関数 区分的線形識別関数 区分的線形識別関数にはパーセプトロンの学習則は適用できない なぜなら 区分的線形識別関数はΦ関数ではないため
  31. 31. 31 ご清聴ありがとうございました

×