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.

単純パーセプトロン

3,956 views

Published on

全然理解していない中でパーセプトロンを紹介しようとした
駄スライドになりまする…。
どちらかといえば発表までのタイムマネジメントミスなので
そういうのも含めて勉強になったかなと。

自戒の意も込めて晒して置く次第です(;´・ω・)

Published in: Data & Analytics
  • Be the first to comment

単純パーセプトロン

  1. 1. 単純パーセプトロン (2014/11/17) 情報系学部3年 T2C_ ( TwitterID: @T2C_ )
  2. 2. 本日の流れ 1. 前回の流れ 2. 単純パーセプトロン 1. 簡単な例題 2. 実際の手法 3. 何が出来るか 4. 所見 5. まとめ 1
  3. 3. 対象: 単純パーセプトロン 2
  4. 4. 前回の流れ • 深層学習(Deep Learning)とはなんぞや? →従来のニューラルネットワークを 多層化したもの(手法)である。 • パーセプトロン→誤差逆伝搬(多層パーセプトロン) →DL 3 とりあえず流れを追う
  5. 5. (単純)パーセプトロン • ニューラルネットワークの一種 • 入力層と出力層の2層から成る • 学習能力を持つパターン識別器(教師あり) • 線形分離不可能な問題は解けない(前回参照) • 小脳はパーセプトロンと同じ動きをするという 説が提示されている 4
  6. 6. イメージ • 퐲 = 풘푻풙 5 入力信号 返り値重みベクトル (学習結果)
  7. 7. 簡単な例題 • メールのSPAM判定 6 퐲 = 풘푻풙 スパムか 非スパムか 重みベクトル (学習結果) 入力信号 (メールの単語頻度) 푥 = 「予算」という語の数 「見積もり」という語の数 「セール」という語の数 = 2 1 0 푤 = 푤1 푤2 푤3 = 1 1 −1 「予算」は非SPAM 「見積もり」は非SPAM 「セール」はSPAM
  8. 8. 簡単な例題 • ここでyを計算してみると 7 푦 = 푤푇푥 = 1 1 − 1 2 1 0 = 2 yが正であるので正しく分類 (非SPAMを非SPAMであると分類)
  9. 9. 簡単な例題 • SPAMではないがxの上ではSPAMらしい メールが来た場合は? 8 푥 = 「予算」という語の数 「見積もり」という語の数 「セール」という語の数 = 1 1 3
  10. 10. 簡単な例題 • yを計算してみると 9 푦 = 푤푇푥 = 1 1 − 1 1 1 3 = −1 yが負であるので誤分類 (非SPAMをSPAMと分類)
  11. 11. 簡単な例題 • 重みを更新する • μ(学習係数)を、例として0.2とすると 푤푛푒푤 = 1.2 1.2 −0.4 10 푤푛푒푤 = 푤표푙푑 + 휇 1 1 3 = 1 + 휇 1 + 휇 −1 + 3휇
  12. 12. 簡単な例題 • 改めて同じ入力信号xでyを求めてみると 11 푦 = 푤푇푥 = 1.2 1.2 − 0.4 1 1 3 = 1.2 yが正であるので正しく分類 (非SPAMを非SPAMと分類)
  13. 13. 実際 • ある関数ax + by + c を境界として分類する • a、b、cを調整していく 12
  14. 14. 実際 • データ点(푥푛, 푦푛)(푛 = 1, … , 푁) • 正解ラベル푡푛 ∈ {+1, −1} • 分離関数f x, y = 푠푔푛+ ax + by + c ▫ sgn…+1か-1を返す関数(sgn+は0の時+1) ▫ データを分類するためxとyを入れると2値で返す関数 • a,b,cが適切に決まれば欲しい分類関数が得られる ▫ その分類関数こそ境界 13
  15. 15. 実際 • 適切の基準にはsgnの誤りの総和を用いる ▫ M=a,b,cを与えた後に不正解になったデータ数 ▫ これが最も小さくなるa,b,cを選べば良い 14
  16. 16. イメージ 15
  17. 17. イメージ 16
  18. 18. イメージ 17
  19. 19. プログラミング • 説明は簡単のため2次元上 • プログラミングの際はD次元空間の点に対して M次元空間への写像(特徴関数)を用いて を拡張した を使う。 18
  20. 20. 何が出来るか • 分類関数獲得後、新たなデータに対しても 分類が出来る • 今回は簡単な2次元だが、N次元にも拡張可能 ▫ 人間が扱えるのは3次元まで、それ以上にも • 単純モデルにして機械学習(&NN)の重要な基礎 19
  21. 21. 所見 • 単純モデルでさえ(個人的には)難しい • Pythonすごい ▫ 溢れんばかりのライブラリ ▫ 充実したフォーラム(英語だけども) ▫ 導入が一瞬  cmdでpip install (ライブラリ名)で一瞬 ▫ 凄まじい処理量でも短いコード&可読性高 • 収束定理など意外に証明済みのものが多い • 思った以上に壮大な規模(要勉強時間) 20
  22. 22. まとめ • 単純パーセプトロンの構築 • NNを用いた分類、機械学習との邂逅 • 意欲↑↑↑ 21
  23. 23. 参考文献 • 中谷秀洋第15回分類問題ことはじめ:機械学習は じめようhttp://gihyo.jp/dev/serial/01/machine-learning/ 0015?page=1 第17回パーセプトロンを実装してみよう:機械学習 はじめようhttp://gihyo.jp/dev/serial/01/machine-learning/ 0017?page=1 • 単純パーセプトロンをPythonで組んでみる- 銀座で働 くData Scientistのブログ http://tjo.hatenablog.com/entry/2013/05/01/190247 他、Python関係の書籍・Webサイト多数 (Webサイトは全て2014年10月26日~2014年11月16日アクセス) 22
  24. 24. ありがとうございました 23

×