第 9 章 . 寺社仏閣における不審者検知のための行動分類
A.2. SVM の特徴
A.2.3. 線形 SVM
入力空間𝜒 ∈ 𝐑𝑛およびデータ集合𝒙1, 𝒙2, … , 𝒙𝑟が与えられたとすると,線形SVMの識別関 数は次のように定義できる:
𝑓(𝐱) = 𝑠𝑖𝑔𝑛(𝑔(𝐱)) = 𝑠𝑖𝑔𝑛(𝐰T𝐱 + 𝑏) (A.5) 関数𝑠𝑖𝑔𝑛(𝑢)は,𝑢 >0のとき1,𝑢 ≤0のとき-1をとる符号関数である.また,自由度とし て係数𝐰と𝑏をパラメータとして与えている.係数𝐰は線形識別器の重みベクトルと呼ばれ,
𝑏はバイアス項と呼ばれるパラメータである.ここで,n個の学習パターン𝐱𝒊(𝑖 = 1,2, … , 𝑛)
の満たすべき条件を,
𝑔(𝐱) = 𝐰T𝐱𝒊+ 𝑏 {≥ 1 𝐱𝒊 ∈ 𝜒1
≤ −1 𝐱𝒊∈ 𝜒2 (A.6) とする.点𝐱𝑖から平面𝑔(𝐱) = 0までの距離は|𝑔(𝐱𝒊)| ‖𝐰‖⁄ であるから,式(A.6)は,識別関数
𝑔(𝐱) = 0から距離1 ‖𝐰‖⁄ の範囲内,すなわち平面𝑔(𝐱) = ±1の間に学習パターンが存在しな
x|wtxib1
x|wtxib1
x|wtxib0
H1 H2
いことを意味する.ここで,𝐱𝑖の属するクラスを変数𝑦𝑖で表し,
𝑦𝑖 = {1 𝐱𝒊 ∈ 𝜒1
−1 𝐱𝒊 ∈ 𝜒2 (A.7)
と定義し,𝐱𝑖の教師信号と呼ぶ.また𝒚 = (𝑦1, 𝑦2, … , 𝑦𝑛)𝑇とすると,式(A.6)は𝑦𝑖を用いて,
𝑦𝑖⋅ (𝐰T𝐱𝒊+ 𝑏) ≥ 1 𝑖 = 1,2, … , 𝑛 (A.8) と書ける.図A.2の平面𝐻1, 𝐻2間の距離(マージン)は2 ‖𝐰‖⁄ であり,これを最大にする𝑓(𝐱) は,扱いやすくするために‖𝐰‖2を考えて,式(A.8)で表現される制約関数のもと,
𝜏(𝐰) =1
2‖𝐰‖2 (A.9)
を最小化することで推定できる.
図 A.2:制約付き線形識別関数
一般に,制約付きの最適化問題は,その双対問題を考えたほうがより簡単な問題に帰着 する場合が多い.そこで,この凸最適化問題を解くため,式(A.9)のラグランジュ関数を計 算する.制約条件である式(A.8)は,以下のように書き換えることができる:
1 − 𝑦𝑖⋅ (𝐰T𝐱𝒊+ 𝑏) ≤ 0 (A.10) この制約条件から,以下のラグランジュ関数が導き出せる:
𝐿(𝐰, 𝑏, 𝛂) =1
2‖𝐰‖2− ∑ 𝛼𝑖(𝑦𝑖(𝐰𝑡𝐱𝑖+ 𝑏) − 1)
𝑛
𝑖=1
(A.11) ここで,𝛼𝑖 ≥ 0はラグランジュ乗数である.最適化問題を解くには,このラグランジュ関 数を𝛼𝑖について最大化し,𝐰と𝑏について最小化する.
最適解においては,パラメータ𝐰と𝑏についての𝐿の導関数は鞍点において,𝐿の勾配が0 となるので,次式が成立する:
𝜕
𝜕𝑏𝐿(𝐰, 𝑏, 𝛂) = 0 (A.12)
𝜕
𝜕𝐰𝐿(𝐰, 𝑏, 𝛂) = 0 (A.13)
式(A.12)から次式が成立する:
∑ 𝛼𝑖𝑦𝑖 = 0
𝑛
𝑖=1
(A.14) また,式(A.13)から次式が成立する:
𝐰 = ∑ 𝛼𝑖𝑦𝑖𝐱𝑖
𝑛
𝑖=1
(A.15)
結局,𝐰は学習データの展開式となる.𝐰の解はただ一つに決まるが,ラグランジュ乗数𝛼𝑖は
その必要がない.
最適解において,以下の条件が満たされる:
𝛼𝑖[1 − 𝑦𝑖(𝐰𝑡𝐱𝑖+ 𝑏)] = 0 𝑖 = 1,2, … , 𝑛 1 − 𝑦𝑖(𝐰𝑡𝐱𝑖+ 𝑏) ≤ 0 𝑖 = 1,2, … , 𝑛
𝛼𝑖≥ 0 𝑖 = 1,2, … , 𝑛
} (A.16)
これはクーン・タッカー(Kuhn-Tucker)条件と呼ばれ,ラグランジュ未定乗数法を用いた 際,成り立つ.この条件を満たし,𝛼𝑖 ≥ 0を有する学習データ𝐱𝑖をサポートベクターと呼
ぶ.𝛼𝑖 = 0となるサポートベクター以外の学習データは凸最適化問題の解放には関係ない
ものとなる.つまり,サポートベクター以外の学習データは式(A.8)の制約条件を自動的に 満たし,式(A.15)の展開項の部分には現れない.
式(A.11)のラグランジュ関数に式(A.14),式(A.15)の条件を代入すると,双対問題となる 以下の凸最適化問題を得ることができる:
目的関数 ∑ 𝛼𝑖
𝑛
𝑖=1
−1
2 ∑ 𝛼𝑖𝛼𝑗
𝑛
𝑖,𝑗=1
𝑦𝑖𝑦𝑗(𝐱𝑖T𝐱𝒋) → 𝛂について最小化
制約条件
𝛼𝑖 ≥ 0, 𝑖 = 1,2, … , 𝑛
∑ 𝛼𝑖𝑦𝑖= 0
𝑛
𝑖=1
(A.17)
最適な𝛂から𝐰を得るには,式(A.15)の関係を用いる.また𝑏は 𝑏 = −1
2(𝐰𝐭𝐱+𝟏+ 𝐰𝐭𝐱−𝟏) (A.18)
で求められる.ここで,𝐱+𝟏, 𝐱−𝟏は,それぞれクラス 1,-1に属するサポートベクターであ る.
式(A.15)の展開式を識別関数の式(A.5)に代入することによって,式(A.5)の識別関数を,分 類されるパターンとサポートベクターとの内積で評価される次式に書き換えることができ る:
𝑓(𝐱) = 𝑠𝑖𝑔𝑛 (∑ 𝛼𝑖𝑦𝑖𝐱𝑖T𝐱𝒋
𝑛
𝑖=1
+ 𝑏) (A.19)
以上より,凸二次計画問題を解くことで,識別関数
𝑓(𝐱) = 𝑠𝑖𝑔𝑛(𝐰𝐭𝐱 + 𝑏) (A.20)
を得ることができる.
実際に線形SVMを実装し,識別関数の決定を行った例を図A.3に示す.
図 A.3:線形SVMによる識別結果