Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
わかりやすいパターン認識2章 / Pattern Recognition Manual Eas...
Search
masso
December 07, 2020
Science
0
740
わかりやすいパターン認識2章 / Pattern Recognition Manual Easy to understand SS 02
masso
December 07, 2020
Tweet
Share
More Decks by masso
See All by masso
Stacktrace for rs/zerolog users
masso
0
140
データ解釈学入門 第一部 / Data hermeneutics Part 1
masso
8
2.1k
時系列分析と状態空間モデリングの基礎 / Foundations of Time Series Analysis and State Space Models 0
masso
0
490
分析環境紹介LT / the introduction of as my analysis env is
masso
0
96
わかりやすいパターン認識1章 / Pattern Recognition Manual Easy to understand SS 01
masso
0
140
データ解析のための統計モデリング入門6章 / Handbook-of-statistical-modeling-for-data-analysis-section6
masso
0
470
DLGが目指すコミュニティの形 / DLG Community Objective
masso
0
2.4k
PowerAutomateによる社員健康状態集計システム / Employee health status tabulation system with Power Automate
masso
0
1.4k
Other Decks in Science
See All in Science
Non-Gaussian methods for causal discovery
sshimizu2006
0
260
理論計算機科学における 数学の応用: 擬似ランダムネス
nobushimi
1
290
Pokemon Roughs
shoryuuken
0
550
解説!データ基盤の進化を後押しする手順とタイミング
shomaekawa
1
310
作業領域内の障害物を回避可能なバイナリマニピュレータの設計 / Design of binary manipulator avoiding obstacles in workspace
konakalab
0
140
『データ可視化学入門』を PythonからRに翻訳した話
bob3bob3
1
460
Introduction to Graph Neural Networks
joisino
PRO
4
1.9k
事業会社における 機械学習・推薦システム技術の活用事例と必要な能力 / ml-recsys-in-layerx-wantedly-2024
yuya4
3
170
いまAI組織が求める企画開発エンジニアとは?
roadroller
2
1.2k
DEIM2024 チュートリアル ~AWSで生成AIのRAGを使ったチャットボットを作ってみよう~
yamahiro
3
1.2k
WeMeet Group - 採用資料
wemeet
0
2.3k
20分で分かる Human-in-the-Loop 機械学習におけるアノテーションとヒューマンコンピューターインタラクションの真髄
hurutoriya
4
2k
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Building Better People: How to give real-time feedback that sticks.
wjessup
359
19k
Designing Experiences People Love
moore
138
23k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
354
29k
Fashionably flexible responsive web design (full day workshop)
malarkey
401
65k
Designing on Purpose - Digital PM Summit 2013
jponch
114
6.8k
Why You Should Never Use an ORM
jnunemaker
PRO
53
8.9k
The Power of CSS Pseudo Elements
geoffreycrofte
71
5.3k
Facilitating Awesome Meetings
lara
49
5.9k
What the flash - Photography Introduction
edds
67
11k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
28
1.6k
VelocityConf: Rendering Performance Case Studies
addyosmani
322
23k
Transcript
わかりやすいパターン認識 第⼆章 学習と識別関数
⽬次 1. 学習の必要性 2. 最近傍決定則と線形識別関数 3. パーセプトロンの学習規則 4. 区分的線形識別関数
1. 学習の必要性 • 今回の例は、以下の点において、前 章の例のようには⾏かない – プロトタイプを各クラスの重⼼に設定では、 適切にクラス間分離できない – 2次元じゃないので、プロトタイプを直感
的に設定できない • 図(b)のように、プロトタイプを重⼼ からずらした妥当な結果を導き出す ために、学習が必要である
その前に⽤語の定義を… • 前章で述べた識別部設計⽤に収集したパターン(⼿書き⽂字認識の ために、実際の⼿書き⽂字画像を集めよう…という⽂脈で登場した 話)を⼀般に「学習パターン(learning pattern)」、「訓練パ ターン(training pattern)」、「設計パターン(designing pattern)」などと呼ばれる •
本書では、学習パターン(learning pattern)と呼ぶことにする
学習とは︖ 統計的パターン認識において、学習とは 学習パターンをすべて正しく識別できるようなクラス間分離⾯を⾒出 すことと⾔える。
2. 最近傍決定則と線形識別関数 この節の結論 1クラスあたり1プロトタイプのNN法(最近傍決定則) は、線形識別関数による識別法である。 このとき認識系では、 識別辞書に「重み係数」が格納されており、 識別演算部では、重みベクトルと特徴ベクトルの内積計算 と最⼤値選択処理を⾏う
結論までの流れ 1. 1クラスあたり1プロトタイプのNN法を定式化しましょ 2. 識別関数法というものが現れる(識別関数というのを使う) 3. ⼊⼒パターンに対して、クラスごとに識別関数 g(x)を実⾏し、そ の結果に対して最⼤値を選択する(←最⼤値選択とか最⼩値選択 とかが典型的)
4. ⼊⼒のパターンに対して線形演算を施す識別関数を線形識別関数 と呼び、今回の例はまさにそれらしい。(後述のパーセプトロン もそう)
数式とか図とか • 図22 – 識別関数法のイメージ図 – ⼊⼒値xに対して、各クラスごと に識別関数をかまして、結果の最 ⼤値などを選択する •
図23 – 線形識別関数法のイメージ図 – d次元の⼊⼒値xについて、d次元 の重みベクトルwと内積をとる 図2-2 図2-3
3. パーセプトロンの学習規則 この節の⼩⾒出し 1. 重み空間と解領域 2. パーセプトロンの収束定理 3. 学習とプロトタイプの移動
3. パーセプトロンの学習規則 この節の流れ 1. 重み空間と解領域 – 学習の流れを数式で表現する(重み空間、線形分離可能、解領域 などの⾔葉が登場する)、また特徴空間だけでなく、重み空間も 考える –
識別するということを数式と平⾯図で考える 2. パーセプトロンの収束定理 – 線形識別関数の重み学習⽅法として有名な「パーセプトロンの学 習規則」というものがあるが、それは「パーセプトロンの収束定 理」に基づいているものだ 3. 学習とプロトタイプの移動 – 学習とは重みを修正すること、であると同時にプロトタイプを設 定すること(前述)と述べた。それらが等しい(というか関連が ある)ことを数式を添えて説明している
3.1. 重み空間と解領域 識別関数法の数式表現 • クラス数︓c • 特徴空間の次元数︓d 識別関数 識別関数(ベクトル表現) d+1次元の
・拡張特徴ベクトル ・拡張重みベクトル 同次座標系っぽい 雰囲気を感じる 拡張特徴ベクトル、 拡張重みベクトルの定義より 導かれる
3.1. 重み空間と解領域 • クラス︓ωi (i=1, 2, 3...c) • 学習パターンの全体集合︓X •
学習パターンのうちクラスωi に属する集合︓Xi (i= 1, 2, 3, … c) • クラスiの識別関数︓gi () とするとき、線形識別関数の学習とは… Xi に属するすべてのxに対して、 が成り⽴つような重みを決定すること 線形分離可能とは、上記条件を満たす 重みベクトルが少なくとも1組 存在することを⾔う 線形識別関数の学習の数式表現
3.1. 重み空間と解領域 • d+1次元の拡張重みベクトルwが張る空間を重み空間という • 例えば、1次元特徴空間の例であれば • 識別関数の出⼒結果=拡張重みベクトルと拡張特徴ベクトルの内積 • =2次元空間における超平⾯=直線を表す↓↓
• 具体的に計算すると • w=(w0, w1) • x=(1, 2)とすると • g(x) = w0 + 2w1 • となり、 • 直線であることがわかる • g(x)=wTx=0となるとき • そのwは決定境界を表す d+1次元の重み空間の導⼊
3.1. 重み空間と解領域 解領域 • なんか説明が回りくどいし、事例も分かりづらいので、書いてあることを正確に理 解するのは難しい。 • たぶん、以下のようなことを⾔いたいとみなした • 重み空間上の⼀つの点を定めることは、識別関数を⼀つ定めることに等し
い • したがって、重み空間上の領域は、識別関数のとりうる範囲を⽰すといえ る • 線形分離可能であるための条件式 • =重み空間上で領域を⽰す式の集合体 • 上記領域内の点(=識別関数)によって、 • 線形分離を実現できる • が、上記領域内に点が存在し得ない場合は、 • 線形分離不可能である。(0.1より⼤&0.05より⼩みたいなケース)
3.1. 重み空間と解領域 たぶん、この節で⾔いたかったのは 線形分離可能な重みベクトルが存在する条件 (=解の存在条件)は、 拡張重みベクトルが張る空間である重み空間上の領域とい う表現ができる。 ということかなと思う。
3.2. パーセプトロンの収束定理 この節の正しいタイトルは、 「パーセプトロンの学習規則(別名︓誤り訂正 法)と呼ばれる線形識別関数の重みを学習によっ て求める⽅法の解説」であろう
パーセプトロンの学習規則とは︖ このやり⽅で、なんで上⼿く⾏くのか︖ 上記(3)の部分の調整は、 解領域を⽰す超平⾯に直⾏な移動を表す なので、有限回繰り返すことで 解領域に到達できる︕ これをパーセプトロンの収束定理という
学習過程図化 on 重み空間 学習過程図化 on 特徴空間 (決定境界の移動≒プロトタイプの移動) 3.3. 学習とプロトタイプの移動
4. 区分的線形識別関数 この節の⼩⾒出し 1. 区分的線形識別関数の機能 2. ニューラルネットワークとの関係
4. 区分的線形識別関数 この節の流れ • 線形分離不可能な問題では、1クラス1プロトタイプだと学習パターンすべ てを適切に識別する識別関数は作れない • 1クラスL個のプロトタイプの場合の識別関数を区分的線形識別関数と呼び、 NN法はL=1の特別な場合の話だった •
区分的線形識別関数を使えば、有限個の学習パターンを完全にクラス間分 離することができるが、NN法などのような学習アルゴリズムを適⽤できな い、という問題がある。収束条件が詳しくわかっていない。 • ⼀⽅、ニューラルネットワークは、⾮線形識別関数を実現する⼿段である。 区分的線形識別関数と⾮線形識別関数は、極限において等価である。した がって、両者は「決定境界を任意の精度で近似できる」という点は同じ • ニューラルネットワークの表現⼒がすごいのではなく、「誤差逆伝播法」 という学習アルゴリズムがすごいのだ。勘違いしないようにね • 学習法は誤差逆伝播法以外にも、学習ベクトル量⼦化や全数記憶式もある ので、適宜選択するようにしましょう(平成10年の書籍…)
4.1. 区分的線形識別関数の機能 ここでは、線形分離不可能な問題を扱う。 線形分離不可能な場合は、1クラス1プロトタイプでは駄⽬で、複数 個必要になる。その極端な場合(プロトタイプ数=学習パターン数) が全数記憶⽅式といえる。
4.1. 区分的線形識別関数の機能
4.2. ニューラルネットワークとの関係 「この節の流れ」の後半を参照
参考 • わかりやすいパターン認識_2章 | SlideShare