-- Views
April 16, 26
スライド概要
東北大学で2023年に開講していた「パターン認識論」のスライドです
本スライドはパターン認識論の入門として、自然界の情報を分類・識別する仕組みを説明します。身長や縦横比、色空間などの具体例を通じて、特徴量(特徴ベクトル)の抽出方法と次元削減の重要性を示します。その上で、しきい値や線形判別などの識別関数を人手で設計する方法と、教師データから自動的に学習させる手法(パラメトリック・ノンパラメトリック、ニューラルネット、K‑NN など)を比較します。次元の呪い、過学習のリスク、学習に必要なデータ量についても触れ、距離測度(ユークリッド距離、マンハッタン距離、重み付き距離)と最近傍法の原理を示します。全体を通して、問題に応じた特徴量選択と適切な分類器設計のポイントを整理しています。
I'll be writing programs, papers, and ramblings.
パターン認識論 第1回 伊藤 彰則 [email protected] 1
講師紹介 ◼ 伊藤彰則(いとうあきのり) ◼ ◼ ◼ ◼ ◼ 1963年生まれ 東北大学工学研究科 通信工学専攻教授 人工知能を志して夢破れる 気を取り直して音声認識の 研究に従事 音声認識/音声対話/音声・ オーディオ符号化/外国語 教育システム/音楽情報処 理など 2014年 万里の長城入 口にて 2
パターン認識とは? 自然界にあるさまざまな情報を元に、物事を 分類・識別する ● 人間の能力を模倣するもの 顔の認識 情景の認識 音声の認識 文字の認識 ジェスチャーの認識 ● 人間の能力とは(あまり)関係ないもの リモートセンシング タッチパネル 3
簡単な例(1) ◼ 簡単な計測で男女を自動的に識別すること を考えてみよう ◼ 身長? 何かの量を計測 して,それを元に 識別を行う →特徴量 識別するものの 数→クラス 4
しきい値による識別 ◼ 1次元の量を元に識別 ◼ ある値(しきい値/閾値)より大きいか小さいか 大学生の身長分布 (健康白書より) 8 7 [%] 6 5 4 3 2 1 0 130 140 150 160 170 180 190 200 [cm] 5
簡単な例(1)認識のプロセス 人間 計測 原データから、認識 に有効な特徴を数 値で取り出す過程 特徴量 (身長) 識別関数 (閾値) 答え (0/1) 特徴量を使って、 クラスの識別を行 う関数 𝑔(𝑥) = 𝑥 − 165 +なら男 -なら女 6
簡単な例(2) OK NG これはどうよ? これは? 7
簡単な例(2)特徴量を探そう 例えば「縦横比=短辺/長辺>0.65ならOK」 8
簡単な例(2)認識のプロセス 原データ (長方形) 特徴抽出 (縦横比計算) 原データから、認識 に有効な特徴を数 値で取り出す過程 min( 𝑤, ℎ) 𝑥= max( 𝑤, ℎ) 特徴量 (縦横比) 識別関数 (閾値) 答え OK/NG 特徴量を使って、 クラスの識別を行 う関数 𝑔(𝑥) = 𝑥 − 0.65 9
簡単な例(3) 色の識別 OK NG これはどうよ? 10
簡単な例(3)特徴量を探そう 色空間は3次元 (R,G,B) 1つの色は3つの数字からなるベクトルで表さ れる→特徴ベクトル 11
簡単な例(3)他の特徴量? (R,G,B)を(色相(H),彩度(S),明度(V))に してみたら? 色相:色の種類(色相環での角度) 青(-120)~赤(0)~緑(120) 彩度:色の鮮やかさ 白(0)~純色(1) 明度:色の強さ 黒(0)~ 12
RGB空間とHSV空間 B 色空間内の(R,G,B)座標と(H,S,V)座標 G (r,g,b) G b (H,S,V) H V S g r R R B 𝐺−𝐵 if R ≥ G,B 𝑀𝐴𝑋 − 𝑀𝐼𝑁 𝐺−𝐵 𝐻 = 60 × + 120 if G ≥ R,B 𝑀𝐴𝑋 − 𝑀𝐼𝑁 𝐺−𝐵 60 × + 240 if B ≥ 𝑅, G 𝑀𝐴𝑋 − 𝑀𝐼𝑁 60 × 𝑀𝐴𝑋 = max( 𝑅, 𝐺, 𝐵) 𝑀𝐼𝑁 = min( 𝑅, 𝐺, 𝐵) 𝑀𝐴𝑋 − 𝑀𝐼𝑁 𝑆= 𝑀𝐴𝑋 𝑉 = 𝑀𝐴𝑋 13
簡単な例(3) HS空間での分布 1 彩度(S) 0.8 OK NG ?? 0.6 0.4 0.2 0 -180 -80 20 120 色相(H) 14
簡単な例(2)識別関数の設計 1 彩度(S) 0.8 OK NG ?? 0.6 0.4 0.2 0 -180 ◼ -80 例えば 𝑔(𝐻, 𝑆) = 1 − 20 色相(H) 𝑆−1 0.5 2 120 𝐻 + 20 2 15
簡単な例(2)識別関数の設計 識別関数は1通りではない 1 彩度(S) 0.8 OK NG ?? 0.6 0.4 0.2 0 -180 -80 20 色相(H) 120 |𝐻| 𝑔(𝐻, 𝑆) = 𝑆 − 0.5 − 60 16
簡単な例(2)識別関数の設計 識別関数は1通りではない 1 彩度(S) 0.8 OK NG ?? 0.6 0.4 0.2 0 -180 -80 20 120 色相(H) 𝑔(𝐻, 𝑆) = ቊ 𝑆 > 0.5and|𝐻| < 60 otherwise 1 −1 17
パターン認識のポイント ◼ 特徴量(特徴ベクトル)の選択 生データからどういう特徴を選ぶか ◼ 次元は低いほうが望ましい(次元の呪い) ◼ ◼ 識別関数の設計 人間が設定 vs. データから自動設計 ◼ 自動設計の方法 ◼ ◼ ◼ パラメトリック vs. ノンパラメトリック 識別関数のタイプ(1次,2次,それ以上…) 18
特徴量の選択 どんな問題にも適用できる設計方針はない ◼ 問題に応じて考える ◼ 顔画像認識:顔の部品の位置 ◼ 文字認識:方向線素特徴量など ◼ 音声認識:スペクトル,ケプストラムなど ◼ 衛星画像リモートセンシング:色,テクスチャ ◼ ◼ データから特徴量を自動選択 線形な方法:LDA ◼ 非線形な方法:ニューラルネット(CNNなど) ◼ ◼ 次元はできれば低いほうが良い 次元が高いほうが表現能力は高い ◼ 次元が高いと,特徴関数の自動推定が困難に ◼ 19
特徴量の次元と表現能力 ◼ 1つのデータを表すのに使う数値の数=次元 「縦横比」は1次元,(H,S)は2次元,(R,G,B)は3次元 ◼ 音声や画像では10~100次元も珍しくない ◼ ◼ できるだけいろいろな情報があったほうがデータの記述能力 は上がる(当然) ◼ 例:(H,S)では明るさの情報が表せない. (R,G,B)または(H,S,V)ならすべての色が表現できる 次元が高いと識別関数の設計が難しくなる(後述) ◼ 問題に対して必要かつ十分な次元を選ぶ ◼ 20
識別関数(2クラス) ◼ 入力を2つのクラスに分類することを考える OK と NG とか ◼ 一方をクラス𝜔,もう一方を𝜔とする ഥ ◼ ◼ クラス𝜔についての識別関数𝑔(𝒙)を考える 𝑔(𝐱) > 0 → 𝐱 ∈ 𝜔 𝑔(𝐱) < 0 → 𝐱 ∉ 𝜔 21
識別関数の設計 ◼ 人間が設計する方法 さっきは人間が設計した ◼ 次元が高いと破綻する ◼ ◼ ◼ 50次元空間での識別関数を想像できる? データから自動設計する方法 「教師データ」を与えて,それをできるだけうまく表現でき るモデルを自動生成 ◼ 「どういうタイプのモデルか」は既知 ◼ これを「学習(learning)」と呼ぶ ◼ 22
識別関数の自動設計 実はこの部分が狭義の「パターン認識理論」なの だ ◼ どういう形式の識別関数を使うか? ◼ 1次関数,2次関数,ニューラルネットワーク,… ◼ K-NN法,マハラノビス距離,ベイズ識別,… ◼ ◼ その識別関数をどうやって学習するか? パーセプトロン学習 ◼ 学習ベクトル量子化 ◼ 逆誤差伝播学習(BP法) ◼ ... ◼ 23
識別関数のパラメータと表現力 手動で設定するにしても学習するにしても,識 別関数の「形」だけ最初に決めてしまい,その パラメータだけを後から決めることが多い ◼ 識別関数とパラメータの例 ◼ ◼ 1次元:しきい値(パラメータ1個) 𝑔(𝑥) = 𝑥 − 𝜃 ◼ 2次元:線形判別関数(パラメータ実質3個) 𝐱 = (𝑥1 , 𝑥2 ) 𝑔(𝐱) = 𝑎0 + 𝐚𝑇 𝐱 = 𝑎0 + 𝑎1 𝑥1 + 𝑎2 𝑥2 24
識別関数と識別境界 ◼ 「識別」とは 特徴量空間上の点をいくつかのクラスに分ける ◼ 特徴量空間にはクラスの境界面ができる →識別境界 ◼ 25
いろいろな識別境界 26
いろいろな識別境界 x<2 Yes No y>3 Yes No x<4 Yes No y>2.8 Yes No 27
いろいろな識別境界 28
いろいろな識別境界 29
識別境界について 境界の複雑さ 単純 複雑 表現力 低い 高い パラメータ数 少ない 多い 必要な学習データ量 少ない 多い 過学習 起きにくい 起きやすい 30
過学習 学習 実際 微妙な識別境界 の曲り具合に意味 があるのか? 31
表現力と学習の容易さ ◼ 識別関数の表現能力が高くても,パラメータ が適切に学習できなければ無意味 適切な学習アルゴリズムがあるか ◼ データ量は十分か ◼ ◼ 一般にパラメータが多いほど多くの学習デ ータを必要とする 空間に対して学習用のサンプルデータが密に 配置されているのが望ましい ◼ 次元が上がるほどサンプルは疎になる (次元の呪い) ◼ 32
識別関数の設計 ◼ では,どうやって識別関数を決めればいい のか 一般的な方法はない ◼ 何に依存するか ◼ 問題の複雑さ ◼ 特徴ベクトルの次元 ◼ サンプル数 ◼ 33
いろいろな識別手法の紹介 34
最近傍決定則(NN法) ◼ あるクラスを代表する点(「プロトタイプ」また は「標準パターン」)を用意する 𝐩11 , . . . , 𝐩1𝑛 ∈ 𝜔 𝐩12 , . . . , 𝐩𝑛2 ∈ 𝜔 新しいデータ x について,距離が最も近い プロトタイプを探す 𝐩1𝑖 が最も近ければ 𝐱 ∈ 𝜔 ,そうでなければ ◼ ◼ 𝐱∈𝜔 35
距離とは何か?(1) 2点間の近さ加減を表す尺度 ◼ 距離の公理 ◼ 𝑑(𝐱, 𝐱) = 0 𝑑(𝐱, 𝐲) = 𝑑(𝐲, 𝐱) 𝑑(𝐱, 𝐲) ≤ 𝑑(𝐱, 𝐳) + 𝑑(𝐳, 𝐲) 36
距離とは何か?(2) 𝑥1 𝐱 = (𝑥1 , 𝑥2 , . . . , 𝑥𝑑 )𝑡 = ⋮ 𝑥𝑑 𝑦1 𝐲 = (𝑦1 , 𝑦2 , . . . , 𝑦𝑑 )𝑡 = ⋮ 𝑦𝑑 ◼ 距離(距離尺度)の例 ◼ ユークリッド距離 𝑑 𝑑(𝐱, 𝐲) = (𝑥𝑖 − 𝑦𝑖 )2 𝑖=1 37
距離とは何か?(3) ◼ 市街地距離 𝑑 𝑑(𝐱, 𝐲) = |𝑥𝑖 − 𝑦𝑖 | 𝑖=1 ◼ 重みつきユークリッド距離 𝑑 𝑑(𝐱, 𝐲) = 𝑤𝑖 (𝑥𝑖 − 𝑦𝑖 )2 (𝑤1 . . . 𝑤𝐷 ≥ 0) 𝑖=1 38
距離とは何か?(4) ◼ 距離が一定の点の軌跡を見てみよう (2次元の場合) ユークリッド距離 市街地距離 重みつきユーク リッド距離 39
NN法再び ◼ 2つのプロトタイプとユークリッド距離を使っ た識別 𝜔 𝑝1𝑂 𝜔 超平面(2次元の場合は 直線)によってクラスを分 離→線形識別関数 𝑥 𝑝1𝑁 識別境界の超平面 40
補足:多次元空間での境界 ◼ 2つの領域を分けるものは? 1次元:点 ◼ 2次元:線 ◼ 3次元:面 ◼ N次元: (N-1)次元超平面 ◼ 41
演習 ◼ 2次元空間でユークリッド距離を使って識別 をする場合、プロトタイプが2つの場合の識 別境界が直線になることを示せ. プロトタイプ (𝑥1 , 𝑦1), (𝑥2 , 𝑦2) ◼ これらの点からのユークリッド距離が等しい点 の軌跡を調べよ ◼ 42
演習の例 ◼ 例を見てみよう 𝑝1 = (1,1), 𝑝2 = (2,3) 1 3 𝑦 =− 𝑥+ +2 2 4 43