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,218 views

Published on

AITCの2015年1月度クラウドテクノロジー活用部会で使ったもの

Published in: Technology
  • Be the first to comment

パターン認識にとっかかる

  1. 1. パターン認識にとっかかる
  2. 2. 今日話すこと ● パターン認識の概要的な話 ● さすがに全部は無理なので、学習とか識別関数の触りまで ● もっというと単純パーセプトロンまで ● 自分たちでやろうとした時に「感覚的」に把握する足がかりく らい ※イメージがつかめること重視で  本来数学的な裏付けとしての数式が沢山ありますが、  ほとんど端折っています(^_^;)
  3. 3. 今日話さないこと ● 実装レベルの話 ● 踏み込んだ詳細な内容 ※この部会は実装メインだと思ってるので、今日の話より先は  もし機会があれば(って自分がそこまで理解してないですが)
  4. 4. そもそもパターン認識とは? 人間や動物の実世界に対する知覚の再現 ● 視覚 ● 聴覚 ● 嗅覚 ● 味覚 ● 触覚        ・・・・etc.
  5. 5. もう少しコンピュータ的には 画像、音、匂いなどの観測された情報(パターン) を、機械(コンピュータ)にとって実行可能なやり方 で、あらかじめ定められた複数の概念(クラス)のう ち、いずれかに当てはめる処理のこと
  6. 6. だいたいの処理構成 5 入力パターン 前処理 特徴抽出 識別演算 識別辞書 識別部 出力
  7. 7. 特徴の話題 どんな特徴を抽出するかは識別精度に密接に関 連するけど、どんな特徴を選べばよいのかの決定 打的方法はない(らしい) 『次元の呪い』問題もある
  8. 8. 先によく聞く用語を整理 【特徴ベクトル】  あるパターンを表すのに必要な本質的な特徴  をパラメータとし、それらを要素として持つ  ベクトル
  9. 9. 先によく聞く用語を整理 【特徴空間】  特徴ベクトルによって張られる空間  パターンは特徴空間上の1点として表される
  10. 10. 先によく聞く用語を整理 【クラスタ】  特徴空間上での同一クラスに識別される  パターンのまとまり
  11. 11. 先によく聞く用語を整理 【プロトタイプ】  クラスタの代表となるようなパターン
  12. 12. 先によく聞く用語を整理 【決定境界】  クラス間を分離する特徴空間上の境界
  13. 13. 最も単純なパターンの識別 全パターンについて、そのクラス名とともに構成 された識別辞書を作成し参照する 辞書作成そのものに膨大な時間がかかってしまい 現実的ではない
  14. 14. 一つの解 プロトタイプを利用した最近傍法  特徴空間上で入力パターンと最も近い  プロトタイプが属するクラスを識別結果とする ※イメージ プロトタイプ 入力パターン プロトタイプと入力パターンが だいたい近い
  15. 15. (k-)NN法 引用:Wikipedia 「k近傍法」 http://ja.wikipedia.org/wiki/K%E8%BF%91%E5%82%8D%E6%B3%95 入力パターンに近いk個のプロトタイプの中で 最も多数を占めたもののクラスに識別する kがつかないNN法は1-NN法
  16. 16. プロトタイプをどこに置く? 一番単純な方法  →クラスの分布の重心に一致させる 決定境界 NN法での決定境界は2つのプロトタ イプから等距離の線(垂直2等分線)
  17. 17. そんなに単純には・・・ お行儀よく重心におけるばかりではないし、直感的 に「ここ!!」とおける2次元空間ではなく、多次元 だとさらに大変 ずらしてやる必要がある
  18. 18. 学習を導入していく ここでの学習の意味 プロトタイプを自動的に正しい位置で定める  =学習に用いるパターン(学習パターン)を   全て正しく識別できるクラス境界面を見つける   先ほどの図で境界をずらして行くのが学習   ※統計的パターン認識の場合
  19. 19. ということでパーセプトロン ちょっと間をすっ飛ばし気味ですが・・・  パーセプトロンとは?   もともとは視覚と脳の機能を、学習機能を   持つシンプルなネットワークでモデル化した   もの   今は線形識別器の基本で出てくるやつと   言ったほうが通りがよいかも
  20. 20. 本題の前にとりあえず諸々前提 【識別関数法】  各クラスに関数を適用し入力パターンの  属するクラスを判定する方法 【識別関数】  クラス判定するための関数 【線形識別関数】  特に線形の識別関数※パーセプトロンはこれ
  21. 21. 本題の前にとりあえず諸々前提 NNから2クラス分類の場合 【識別関数】※導出は飛ばしてます・・・ 導出飛ばしてるのでばくっと説明すると、入力パターンxと各プロトタイプ piとの差を距離 として一つずつ計算し、最も距離が小さいものを取れるよう、最小二乗法を適用した上 で、式展開したものから計算時に考えなくてもよいものをのけて、さらに計算上計算しや すいように定数倍して、さらにマイナスをかけて符号を逆転して最大化問題にしたもの 識別関数が誤識別した時に学習を行う
  22. 22. 「重み」の導入 識別に誤りがなくなるよう決定境界をどれだけ回転 させたり移動したりするかを定める(プロトタイプを 移動させる)もの なんで「重み」→もともとニューロンの結合度合い        だから?
  23. 23. 「重み」をプロトタイプで表現 先ほどの識別関数から重みベクトルを表す とあるプロトタイプ バイア ス 重みベクトルはプロトタイプとバイアスを合わせたもの
  24. 24. 「重み」と「バイアス」の意味 仮に2次元平面上で単純なy=ax+bのような式を考えた場合 傾きに当たるaが重みで切片bがバイアス 重みの変化→回転 バイアスの変化→移動
  25. 25. 学習規則 1.重みベクトルwの初期値を適当に設定する 2.学習パターン全体の集合から一つパターンを選ぶ 3.識別関数 で正しく識別できなかった場合のみ  重みベクトルを修正 4.2,3の処理を全パターンに対して繰り返す 5.全パターン正しく識別できたら終了、誤りがある場合は2か ら  繰り返し
  26. 26. 更新式 分かりやすく2クラス分類とすると yは更新前の判定結果で2値分類であれば、正負(単純に1,-1でラベルするのでよ い)で出るようにしておき、学習係数ρとパターン要素を掛けあわせて元の重みを更 新する 誤った時の判定結果の符号に引っ張られて座標上は回転していく 学習係数は1回の学習の程度なので、小さすぎると時間がかかり、大きすぎるとなか なかフィットしない 多値分類への拡張は割愛しますが、↑が分かっていればあ まり難しくない、はず
  27. 27. 手計算できるレベルの更新だと いい例が思いつかなかったので、 銀座で働くデータサイエンティストさんのスライドを 参照してみます http://www.slideshare.net/takashijozaki1/simple-perceptron-by-tjo
  28. 28. パーセプトロンの収束定理 学習パターンの集合が線形分離可能(超平面で分 けられる)のであれば、有限回の更新の繰り返しで 全てのパターンについて識別可能 逆に線形識別不可なパターンを対象とすると単純 なパーセプトロンは収束しないので使えない ※区分線形識別やら色々ありますが、今回はパス
  29. 29. ここからより先は? 最近は諸々いろんな手法があります 教師あり学習だけでなく教師なし学習の手法も流 行りです 基本を線形識別器で掴んで、その先は諸々調べて いくとよいのではないかと
  30. 30. まとめ ● パターン認識は人間や動物の知覚を機械で再現しようとす る試み ● 特徴を抽出し、その特徴から識別を行っていく ● 識別を効率的に精度よく行えるようにするために学習が導 入される ● 基本的な線形分類とその応用から捉えると踏み込み易い ● あとは実装してみるのみ?
  31. 31. 参考・参照 ● 『はじめてのパターン認識』 平井有三(著) 森北出版 2014 ● 『わかりやすいパターン認識』 石井健一郎他(著) オーム社 1998 ● 『フリーソフトで作る音声認識システム』 荒木雅弘(著) 森北出版 2007 ● あんちべさんブログ「テキストマイニングのための機械学習超入門 二夜目 パー セプトロン」 http://antibayesian.hateblo.jp/entry/20111125/1322202138

×