第12回「はじめてのパターン認識」読書会
9.5 カーネル主成分分析
9.6 カーネル部分空間法
2014/2/18(火)

@Prunus1350
9.5 カーネル主成分分析
9.5 カーネル主成分分析
• 学習データ

𝒙 𝑖 ∈ ℛ 𝑑 (𝑖 = 1, ⋯ , 𝑁) を入力空間より次元の大きな 𝑀 次元
非線形特徴空間に写像して、そこで主成分分析を行う。

• うまく非線形写像

𝝋 を選べば、識別能力が上がる。(かもしれない)

• もし、「非線形特徴ベクトルの平均が
1
𝑪=
𝑁

𝟎 」ならば、共分散行列は

𝑁

𝝋(𝒙 𝑖 ) 𝝋(𝒙 𝑖 ) 𝑇
𝑖=1

となり、固有値問題を解けば非線形特徴空間の固有値と固有ベクト
ルが求まり、入力空間で行ったのと同様の方法で主成分分析ができ
る。
9.5 カーネル主成分分析
• 問題点
•

非線形特徴変換を行っているので、非線形特徴ベクトルの平均が 𝟎 になること
1
𝑁

𝑁

𝝋(𝒙 𝑖 ) = 𝟎
𝑖=1

が保証されない。
⇒ 各特徴ベクトル 𝝋(𝒙 𝑖 ) から平均ベクトルを引いてしまえば中心化できる。
𝝋 𝒙𝑖 = 𝝋 𝒙𝑖 −

•

1
𝑁

𝑁

𝝋(𝒙 𝑗 )
𝑗=1

高次元での計算は大変。
⇒ カーネル法を用いることにより 𝑑 次元空間での計算で、高次元非線形特徴
空間における主成分を得ることができる。
(非線形特徴変換後に中心化してもカーネルトリックは使える?)
9.5 カーネル主成分分析
• 平均を
•

𝟎 にした 𝑁 × 𝑁 グラム行列 𝑲 𝑿, 𝑿 の 𝑛, 𝑘 要素は、

𝐾 𝒙 𝑛, 𝒙 𝑘 = 𝝋 𝒙 𝑛
=

=

𝑇

𝝋 𝒙𝑘

𝝋 𝒙𝑛 −

𝑇

𝝋 𝒙𝑛

= 𝝋 𝒙𝑛

= 𝝋 𝒙𝑛

𝑇

𝑇

1
𝑁

−

𝝋(𝒙 𝑗 )

𝝋 𝒙𝑘 −

𝑗=1

1
𝑁

𝝋 𝒙𝑘

𝝋 𝒙𝑘

= 𝐾 𝒙 𝑛, 𝒙 𝑘

𝑇

𝑁

1
−
𝑁

1
𝑁

𝑁

𝝋(𝒙 𝑗 ) 𝑇

𝝋 𝒙𝑘 −

𝑗=1

1
−
𝑁
1
−
𝑁

𝝋 𝒙𝑘

𝑗=1
𝑁

𝝋 𝒙𝑗

𝑇

𝝋 𝒙𝑘

𝑗=1

𝑁

𝐾 𝒙𝑗, 𝒙 𝑘
𝑗=1

𝑇

1
−
𝑁

𝑁

𝑙=1

𝝋(𝒙 𝑙 )
𝑙=1

1
𝑁

𝑁

𝝋 𝒙𝑗

𝑁

𝑁

𝝋(𝒙 𝑙 )
𝑙=1

1
−
𝝋 𝒙𝑛
𝑁

1
−
𝑁

𝑁
𝑇
𝑙=1

𝑁

𝝋 𝒙𝑛
𝑙=1

1
𝐾 𝒙 𝑛, 𝒙 𝑙 + 2
𝑁

𝑇

1
𝝋 𝒙𝑙 + 2
𝑁

1
𝝋 𝒙𝑙 + 2
𝑁
𝑁

𝑁

𝑁

𝑗=1

𝝋 𝒙𝑙
𝑙=1

𝑁

𝑗=1 𝑙=1

𝐾 𝒙𝑗, 𝒙 𝑙

𝑇

𝝋 𝒙𝑗

𝝋 𝒙𝑗

𝑁

𝑗=1 𝑙=1

𝑁

𝑇

𝝋 𝒙𝑙
9.5 カーネル主成分分析

•

𝐾(𝒙 𝑛 , 𝒙 𝑘 ) は 𝐾 𝒙 𝑖 , 𝒙 𝑗 (𝑖, 𝑗 = 1, ⋯ , 𝑁) を用いて表現できることが分かっ
た。

•

⇒カーネルトリックが使えて、𝑑 次元空間での計算で 𝑀 次元非線形特徴空間の
内積を評価できる。
9.5 カーネル主成分分析

• 非線形変換と中心化を行った学習データを
𝑿𝜑=

𝝋 𝒙1 , ⋯ , 𝝋 𝒙 𝑁

∈ 𝑀 𝑀×𝑁 (ℛ)

とする。

• 特異値分解により
•

𝑿 𝜑 = 𝑼𝜦𝑽 𝑇 と分解できる。

𝑼 = 𝑿 𝜑 𝑽𝜦−1 と変形できるので、
9.5 カーネル主成分分析
𝒖1 , ⋯ , 𝒖 𝑟 = 𝑿 𝝋 𝒗1 , ⋯ , 𝒗 𝑟 𝜦−1
1

•

λ1

=

=

𝑿 𝝋 𝒗1 , ⋯ , 𝑿 𝝋 𝒗 𝑟

1
λ1

𝑿 𝝋 𝒗1 , ⋯ ,

• よって、 𝑖 番目の要素は

1
λ𝑟

𝒖𝑖 =

⋮
0

⋯

0

⋱
⋯

⋮

𝑿 𝝋 𝒗𝑟
1
λ𝑖

𝑿 𝝋 𝒗𝑖

1
λ𝑟
9.5 カーネル主成分分析
• 非線形変換と中心化を行った特徴ベクトル
𝑇

𝒖𝑖 𝝋 𝒙 =

•

=

=

•

𝑇

1
λ𝑖

𝑿 𝝋 𝒗𝑖

1
λ𝑖

1
λ𝑖

𝒗𝑖 𝑇

𝒗𝑖

𝑇

𝝋 𝒙 =

𝝋 𝒙1
⋮
𝝋 𝒙𝑁

1
λ𝑖

𝒗𝑖 𝑇 𝑿 𝝋 𝑇 𝝋 𝒙

𝑇

𝝋 𝒙 =
𝑇

𝐾 𝒙1 , 𝒙
⋮
𝐾 𝒙 𝑁, 𝒙

=

𝝋 𝒙 の 𝒖 𝑖 方向への射影は

1
λ𝑖

1
λ𝑖

𝒗𝑖 𝑇

𝑇

𝝋 𝒙1

𝝋 𝒙

𝑇

𝝋 𝒙

⋮
𝝋 𝒙𝑁

𝒗 𝑖 𝑇 𝑲(𝑿, 𝒙)

𝑑 次元空間での内積カーネル計算と 𝑟 回の 𝑁 次元ベクトルの内積計算
で、すべての基底方向への射影を求めることができる。
9.6 カーネル部分空間法
9.6 カーネル部分空間法
• CLAFIC法も、内積カーネルを用いた非線形特徴空間内の部分空間法へ
拡張できる。

• クラス 𝑖 (𝑖 = 1, ⋯ ,
•

•

𝐾) の学習データを 𝑿 𝑖 = (𝒙 𝑖1 , 𝒙 𝑖2 , ⋯ , 𝒙 𝑖𝑁 𝑖 ) とする。

𝑁 𝑖 :クラス 𝑖 のデータ数, 𝑁 =

𝐾
𝑖=1

𝑁𝑖

𝑖 番目のクラスのデータ 𝑿 𝑖 = (𝒙 𝑖1 , 𝒙 𝑖2 , ⋯ , 𝒙 𝑖𝑁 𝑖 ) は、非線形特徴写像に
より 𝑿 𝑖𝝋 =

•

𝝋 𝒙 𝑖1 , 𝝋 𝒙 𝑖2 , ⋯ , 𝝋 𝒙 𝑖𝑁 𝑖

に変換される。

CLAFIC法では相関行列を使うので、 𝑿 𝑖𝝋 が中心化されている必要はない。
9.6 カーネル部分空間法
•
•

𝑿 𝑖𝝋 ∈ 𝑀 𝑀,𝑁 ℛ より、 𝑟𝑖 ≔ rank(𝑿 𝑖𝝋 ) ≤ min(𝑀, 𝑁)
𝑿 𝑖𝝋 の特異値分解は次のように書ける。

𝑿 𝑖𝝋 = 𝑼 𝑖 𝜦 𝑖 𝑽 𝑖 𝑇
λ 𝑖1

•

=

𝒖 𝑖1 , 𝒖 𝑖2 , ⋯ , 𝒖 𝑖𝑑 𝑖 , ⋯ , 𝒖 𝑖𝑟 𝑖

0

⋯

0
⋮

λ 𝑖2
⋮

⋯
⋱

0

•

ここで、固有値 λ 𝑖1 ≥ λ 𝑖2 ≥ ⋯ ≥ λ 𝑖𝑑 𝑖 ≥ ⋯ ≥ λ 𝑖𝑟 𝑖 ≥ 0

0
λ 𝑖𝑑 𝑖
⋮
0

⋯
⋱
⋯

0
⋮
λ 𝑖𝑟 𝑖

𝒗 𝑖1 𝑇
𝒗 𝑖2 𝑇
⋮
𝒗 𝑖𝑑 𝑖 𝑇
⋮
𝒗 𝑖𝑟 𝑖 𝑇
9.6 カーネル部分空間法
•

大きい方から 𝑑 𝑖 個の固有値によって 𝑲 𝑿 𝑖 , 𝑿 𝑖 = 𝑿 𝑖𝜑 𝑇 𝑿 𝑖𝜑 のクラス忠実度が
満たされるとする。
𝑿 𝑖𝝋 = 𝑼 𝑖 𝜦 𝑖 𝑽 𝑖 𝑇

λ 𝑖1

•

=

𝒖 𝑖1 , 𝒖 𝑖2 , ⋯ , 𝒖 𝑖𝑑 𝑖 , ⋯ , 𝒖 𝑖𝑟 𝑖

0

⋯

0
⋮

λ 𝑖2
⋮

⋯
⋱

0

•

0
λ 𝑖𝑑 𝑖
⋮
0

𝑑 𝑖 次元の非線形部分空間は青枠内の要素で記述できる。

⋯
⋱
⋯

0
⋮
λ 𝑖𝑟 𝑖

𝒗 𝑖1 𝑇
𝒗 𝑖2 𝑇
⋮
𝒗 𝑖𝑑 𝑖 𝑇
⋮
𝒗 𝑖𝑟 𝑖 𝑇
9.6 カーネル部分空間法
𝑙𝑖

2

𝒙 =
=

•

≈
=

•

𝑑𝑖
𝑗=1

𝑇

𝒖 𝑖𝑗 𝝋 𝒙

𝑇

𝑼𝑖 𝝋 𝒙
𝜦𝑖
𝜦𝑖

−1
−1

2

(∵ ピタゴラスの定理)

2

𝑇

2

𝑇

𝑽 𝑖 𝑿 𝑖𝜑 𝝋 𝒙
𝑇

𝑽 𝑖 𝑲 𝑿 𝑖, 𝒙

2

内積カーネルの計算と、𝑁 𝑖 次元ベクトルの内積計算で射影の長さの2乗が得られ
る。

• 識別規則は、
•
•

識別クラス = arg max 𝑙 𝑖 2 𝒙
𝑖

(𝑖 = 1, ⋯ , 𝐾) となる。

リジェクトは9.4節と同様に行えばよい。
ご清聴ありがとうございました。

はじめてのパターン認識 第9章 9.5-9.6

  • 1.
  • 2.
  • 3.
    9.5 カーネル主成分分析 • 学習データ 𝒙𝑖 ∈ ℛ 𝑑 (𝑖 = 1, ⋯ , 𝑁) を入力空間より次元の大きな 𝑀 次元 非線形特徴空間に写像して、そこで主成分分析を行う。 • うまく非線形写像 𝝋 を選べば、識別能力が上がる。(かもしれない) • もし、「非線形特徴ベクトルの平均が 1 𝑪= 𝑁 𝟎 」ならば、共分散行列は 𝑁 𝝋(𝒙 𝑖 ) 𝝋(𝒙 𝑖 ) 𝑇 𝑖=1 となり、固有値問題を解けば非線形特徴空間の固有値と固有ベクト ルが求まり、入力空間で行ったのと同様の方法で主成分分析ができ る。
  • 4.
    9.5 カーネル主成分分析 • 問題点 • 非線形特徴変換を行っているので、非線形特徴ベクトルの平均が𝟎 になること 1 𝑁 𝑁 𝝋(𝒙 𝑖 ) = 𝟎 𝑖=1 が保証されない。 ⇒ 各特徴ベクトル 𝝋(𝒙 𝑖 ) から平均ベクトルを引いてしまえば中心化できる。 𝝋 𝒙𝑖 = 𝝋 𝒙𝑖 − • 1 𝑁 𝑁 𝝋(𝒙 𝑗 ) 𝑗=1 高次元での計算は大変。 ⇒ カーネル法を用いることにより 𝑑 次元空間での計算で、高次元非線形特徴 空間における主成分を得ることができる。 (非線形特徴変換後に中心化してもカーネルトリックは使える?)
  • 5.
    9.5 カーネル主成分分析 • 平均を • 𝟎にした 𝑁 × 𝑁 グラム行列 𝑲 𝑿, 𝑿 の 𝑛, 𝑘 要素は、 𝐾 𝒙 𝑛, 𝒙 𝑘 = 𝝋 𝒙 𝑛 = = 𝑇 𝝋 𝒙𝑘 𝝋 𝒙𝑛 − 𝑇 𝝋 𝒙𝑛 = 𝝋 𝒙𝑛 = 𝝋 𝒙𝑛 𝑇 𝑇 1 𝑁 − 𝝋(𝒙 𝑗 ) 𝝋 𝒙𝑘 − 𝑗=1 1 𝑁 𝝋 𝒙𝑘 𝝋 𝒙𝑘 = 𝐾 𝒙 𝑛, 𝒙 𝑘 𝑇 𝑁 1 − 𝑁 1 𝑁 𝑁 𝝋(𝒙 𝑗 ) 𝑇 𝝋 𝒙𝑘 − 𝑗=1 1 − 𝑁 1 − 𝑁 𝝋 𝒙𝑘 𝑗=1 𝑁 𝝋 𝒙𝑗 𝑇 𝝋 𝒙𝑘 𝑗=1 𝑁 𝐾 𝒙𝑗, 𝒙 𝑘 𝑗=1 𝑇 1 − 𝑁 𝑁 𝑙=1 𝝋(𝒙 𝑙 ) 𝑙=1 1 𝑁 𝑁 𝝋 𝒙𝑗 𝑁 𝑁 𝝋(𝒙 𝑙 ) 𝑙=1 1 − 𝝋 𝒙𝑛 𝑁 1 − 𝑁 𝑁 𝑇 𝑙=1 𝑁 𝝋 𝒙𝑛 𝑙=1 1 𝐾 𝒙 𝑛, 𝒙 𝑙 + 2 𝑁 𝑇 1 𝝋 𝒙𝑙 + 2 𝑁 1 𝝋 𝒙𝑙 + 2 𝑁 𝑁 𝑁 𝑁 𝑗=1 𝝋 𝒙𝑙 𝑙=1 𝑁 𝑗=1 𝑙=1 𝐾 𝒙𝑗, 𝒙 𝑙 𝑇 𝝋 𝒙𝑗 𝝋 𝒙𝑗 𝑁 𝑗=1 𝑙=1 𝑁 𝑇 𝝋 𝒙𝑙
  • 6.
    9.5 カーネル主成分分析 • 𝐾(𝒙 𝑛, 𝒙 𝑘 ) は 𝐾 𝒙 𝑖 , 𝒙 𝑗 (𝑖, 𝑗 = 1, ⋯ , 𝑁) を用いて表現できることが分かっ た。 • ⇒カーネルトリックが使えて、𝑑 次元空間での計算で 𝑀 次元非線形特徴空間の 内積を評価できる。
  • 7.
    9.5 カーネル主成分分析 • 非線形変換と中心化を行った学習データを 𝑿𝜑= 𝝋𝒙1 , ⋯ , 𝝋 𝒙 𝑁 ∈ 𝑀 𝑀×𝑁 (ℛ) とする。 • 特異値分解により • 𝑿 𝜑 = 𝑼𝜦𝑽 𝑇 と分解できる。 𝑼 = 𝑿 𝜑 𝑽𝜦−1 と変形できるので、
  • 8.
    9.5 カーネル主成分分析 𝒖1 ,⋯ , 𝒖 𝑟 = 𝑿 𝝋 𝒗1 , ⋯ , 𝒗 𝑟 𝜦−1 1 • λ1 = = 𝑿 𝝋 𝒗1 , ⋯ , 𝑿 𝝋 𝒗 𝑟 1 λ1 𝑿 𝝋 𝒗1 , ⋯ , • よって、 𝑖 番目の要素は 1 λ𝑟 𝒖𝑖 = ⋮ 0 ⋯ 0 ⋱ ⋯ ⋮ 𝑿 𝝋 𝒗𝑟 1 λ𝑖 𝑿 𝝋 𝒗𝑖 1 λ𝑟
  • 9.
    9.5 カーネル主成分分析 • 非線形変換と中心化を行った特徴ベクトル 𝑇 𝒖𝑖𝝋 𝒙 = • = = • 𝑇 1 λ𝑖 𝑿 𝝋 𝒗𝑖 1 λ𝑖 1 λ𝑖 𝒗𝑖 𝑇 𝒗𝑖 𝑇 𝝋 𝒙 = 𝝋 𝒙1 ⋮ 𝝋 𝒙𝑁 1 λ𝑖 𝒗𝑖 𝑇 𝑿 𝝋 𝑇 𝝋 𝒙 𝑇 𝝋 𝒙 = 𝑇 𝐾 𝒙1 , 𝒙 ⋮ 𝐾 𝒙 𝑁, 𝒙 = 𝝋 𝒙 の 𝒖 𝑖 方向への射影は 1 λ𝑖 1 λ𝑖 𝒗𝑖 𝑇 𝑇 𝝋 𝒙1 𝝋 𝒙 𝑇 𝝋 𝒙 ⋮ 𝝋 𝒙𝑁 𝒗 𝑖 𝑇 𝑲(𝑿, 𝒙) 𝑑 次元空間での内積カーネル計算と 𝑟 回の 𝑁 次元ベクトルの内積計算 で、すべての基底方向への射影を求めることができる。
  • 10.
  • 11.
    9.6 カーネル部分空間法 • CLAFIC法も、内積カーネルを用いた非線形特徴空間内の部分空間法へ 拡張できる。 •クラス 𝑖 (𝑖 = 1, ⋯ , • • 𝐾) の学習データを 𝑿 𝑖 = (𝒙 𝑖1 , 𝒙 𝑖2 , ⋯ , 𝒙 𝑖𝑁 𝑖 ) とする。 𝑁 𝑖 :クラス 𝑖 のデータ数, 𝑁 = 𝐾 𝑖=1 𝑁𝑖 𝑖 番目のクラスのデータ 𝑿 𝑖 = (𝒙 𝑖1 , 𝒙 𝑖2 , ⋯ , 𝒙 𝑖𝑁 𝑖 ) は、非線形特徴写像に より 𝑿 𝑖𝝋 = • 𝝋 𝒙 𝑖1 , 𝝋 𝒙 𝑖2 , ⋯ , 𝝋 𝒙 𝑖𝑁 𝑖 に変換される。 CLAFIC法では相関行列を使うので、 𝑿 𝑖𝝋 が中心化されている必要はない。
  • 12.
    9.6 カーネル部分空間法 • • 𝑿 𝑖𝝋∈ 𝑀 𝑀,𝑁 ℛ より、 𝑟𝑖 ≔ rank(𝑿 𝑖𝝋 ) ≤ min(𝑀, 𝑁) 𝑿 𝑖𝝋 の特異値分解は次のように書ける。 𝑿 𝑖𝝋 = 𝑼 𝑖 𝜦 𝑖 𝑽 𝑖 𝑇 λ 𝑖1 • = 𝒖 𝑖1 , 𝒖 𝑖2 , ⋯ , 𝒖 𝑖𝑑 𝑖 , ⋯ , 𝒖 𝑖𝑟 𝑖 0 ⋯ 0 ⋮ λ 𝑖2 ⋮ ⋯ ⋱ 0 • ここで、固有値 λ 𝑖1 ≥ λ 𝑖2 ≥ ⋯ ≥ λ 𝑖𝑑 𝑖 ≥ ⋯ ≥ λ 𝑖𝑟 𝑖 ≥ 0 0 λ 𝑖𝑑 𝑖 ⋮ 0 ⋯ ⋱ ⋯ 0 ⋮ λ 𝑖𝑟 𝑖 𝒗 𝑖1 𝑇 𝒗 𝑖2 𝑇 ⋮ 𝒗 𝑖𝑑 𝑖 𝑇 ⋮ 𝒗 𝑖𝑟 𝑖 𝑇
  • 13.
    9.6 カーネル部分空間法 • 大きい方から 𝑑𝑖 個の固有値によって 𝑲 𝑿 𝑖 , 𝑿 𝑖 = 𝑿 𝑖𝜑 𝑇 𝑿 𝑖𝜑 のクラス忠実度が 満たされるとする。 𝑿 𝑖𝝋 = 𝑼 𝑖 𝜦 𝑖 𝑽 𝑖 𝑇 λ 𝑖1 • = 𝒖 𝑖1 , 𝒖 𝑖2 , ⋯ , 𝒖 𝑖𝑑 𝑖 , ⋯ , 𝒖 𝑖𝑟 𝑖 0 ⋯ 0 ⋮ λ 𝑖2 ⋮ ⋯ ⋱ 0 • 0 λ 𝑖𝑑 𝑖 ⋮ 0 𝑑 𝑖 次元の非線形部分空間は青枠内の要素で記述できる。 ⋯ ⋱ ⋯ 0 ⋮ λ 𝑖𝑟 𝑖 𝒗 𝑖1 𝑇 𝒗 𝑖2 𝑇 ⋮ 𝒗 𝑖𝑑 𝑖 𝑇 ⋮ 𝒗 𝑖𝑟 𝑖 𝑇
  • 14.
    9.6 カーネル部分空間法 𝑙𝑖 2 𝒙 = = • ≈ = • 𝑑𝑖 𝑗=1 𝑇 𝒖𝑖𝑗 𝝋 𝒙 𝑇 𝑼𝑖 𝝋 𝒙 𝜦𝑖 𝜦𝑖 −1 −1 2 (∵ ピタゴラスの定理) 2 𝑇 2 𝑇 𝑽 𝑖 𝑿 𝑖𝜑 𝝋 𝒙 𝑇 𝑽 𝑖 𝑲 𝑿 𝑖, 𝒙 2 内積カーネルの計算と、𝑁 𝑖 次元ベクトルの内積計算で射影の長さの2乗が得られ る。 • 識別規則は、 • • 識別クラス = arg max 𝑙 𝑖 2 𝒙 𝑖 (𝑖 = 1, ⋯ , 𝐾) となる。 リジェクトは9.4節と同様に行えばよい。
  • 15.