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
810
わかりやすいパターン認識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
180
データ解釈学入門 第一部 / Data hermeneutics Part 1
masso
8
2.1k
時系列分析と状態空間モデリングの基礎 / Foundations of Time Series Analysis and State Space Models 0
masso
0
530
分析環境紹介LT / the introduction of as my analysis env is
masso
0
100
わかりやすいパターン認識1章 / Pattern Recognition Manual Easy to understand SS 01
masso
0
150
データ解析のための統計モデリング入門6章 / Handbook-of-statistical-modeling-for-data-analysis-section6
masso
0
500
DLGが目指すコミュニティの形 / DLG Community Objective
masso
0
2.5k
PowerAutomateによる社員健康状態集計システム / Employee health status tabulation system with Power Automate
masso
0
1.4k
Other Decks in Science
See All in Science
The Incredible Machine: Developer Productivity and the Impact of AI
tomzimmermann
0
420
Inductive-bias Learning: 大規模言語モデルによる予測モデルの生成
fuyu_quant0
0
120
Factorized Diffusion: Perceptual Illusions by Noise Decomposition
tomoaki0705
0
270
マテリアルズ・インフォマティクスの先端で起きていること / What's Happening at the Cutting Edge of Materials Informatics
snhryt
1
150
Causal discovery based on non-Gaussianity and nonlinearity
sshimizu2006
0
200
構造設計のための3D生成AI-最新の取り組みと今後の展開-
kojinishiguchi
0
640
20240420 Global Azure 2024 | Azure Migrate でデータセンターのサーバーを評価&移行してみる
olivia_0707
2
930
メール送信サーバの集約における透過型SMTP プロキシの定量評価 / Quantitative Evaluation of Transparent SMTP Proxy in Email Sending Server Aggregation
linyows
0
430
ベイズ最適化をゼロから
brainpadpr
2
900
2024-06-16-pydata_london
sofievl
0
550
Snowflakeによる統合バイオインフォマティクス
ktatsuya
PRO
0
530
ACL読み会2024@名大 REANO: Optimising Retrieval-Augmented Reader Models through Knowledge Graph Generation
takuma_matsubara
0
100
Featured
See All Featured
The Invisible Side of Design
smashingmag
298
50k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
GitHub's CSS Performance
jonrohan
1030
460k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.2k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
VelocityConf: Rendering Performance Case Studies
addyosmani
326
24k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Why Our Code Smells
bkeepers
PRO
335
57k
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
Unsuck your backbone
ammeep
669
57k
Gamification - CAS2011
davidbonilla
80
5.1k
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