partial least squares回帰と画像認識への応用
DESCRIPTION
第10回広島画像情報学セミナー資料 2014年10月10日TRANSCRIPT
Partial least squares 回帰と画像認識への応用
名城大学熊谷 章平 堀田 一弘
はじめに• Partial Least Squares(PLS)– 部分最小二乗、偏最小二乗
• 1975 年に Herman Wold によって提案された
• CV では 2009 年の ICCV にて人検出に適用
HOG共起特徴17 万次元
PLS20 次
元
2 次判別分析
高速かつ高精度な検出
イマイチ分かりづらい ☹ 資料によってアルゴリズムの書き方が
バラバラ
☹ アルゴリズムを完全に説明した資料は殆ど無い
シンプルで有力な方法…しかし、取っ付きづらい
PLS 回帰の概要
PCA :データの分布をよく表す部分空間
PLS :クラスラベルを考慮、識別に有効な部分空間
➡ 予測・識別に有効な部分空間を作成できる
・・・ y
相関性を考慮
X
PLS 回帰の概要• 回帰分析・識別器・次元圧縮法
• 多出力可能
y1y
…
説明変数部分空間
目的変数t1
t2
tm
x1
x2
x3
xn…
… …
PLS アルゴリズム
NIPALS(Nonlinear Iterative Partial Least Squares)
• 一般的な PLS アルゴリズム
• シンプルで実装が容易• PLS 1…単出力• PLS 2…多出力
NIPALS PLS1入力説明変数: X∈Rn×d
目的変数: y∈Rn×1
(n: サンプル数, d: 次元数 )
出力回帰係数: b
1. X , y を標準化2. w = XTy / ||XTy||2
3. t = Xw4. c = yTt (tTt)-1
5. p = XTt (tTt)-1
6. X = X-tpT
7. y = y-tcT
8. 任意の数まで繰り返す9. b = W(PTW)-1cT
SIMPLS• 特異値分解を用いたアル
ゴリズム
学習データ• 学習サンプル: X∈R サンプル数 × 次元数
• 教師ラベル: y∈R サンプル数 ×1
X yサンプル数
次元数
サンプル数
1
前処理• 標準化(平均0分散1)
• 中心化(平均0)
標準化もしくは中心化アルゴリズムによってバラバラ…
μx: 学習データの平均ベクトル : 学習データの標準偏差μy :ラベルの平均値 :ラベルの標準偏差
X と y の相関を計算
XT
X と y の共分散 ( 相関 ) を求める
w
X と y の共分散w :部分空間の基底ベクトル
y
(※ i は繰り返し数)
スコアを求める相関から得た係数 w と X の内積
X
w の空間に射影し、スコア t を得る
t :部分空間に射影した X※ ここまでが第 1 成分を得る処理
w
説明変数
目的
変数
w
t =
情報の削除部分空間の生成に使った情報の削除
y
t
スコア t からラベル y を予測する回帰係数 c を求める
回帰係数 c とスコア t と内積をとり、減算→ y を更新、情報の削除
情報の削除
X についても同じ処理をする
X
tX の更新
繰り返し再度、共分散を求める処理に戻る
→ 前の基底 wi-1 と新しい基底 wi は直交するw1w2
新たな基底ベクトル wi から第 2 成分を求める…
繰り返す度、部分空間の次元が増える最適な成分数 ( 次元数 ) は Cross validation で最適
化
テストデータの射影注意⚠
テストデータの部分空間へ射影する場合…
…
第 1 成分の基底:
第 2 成分の基底:
…
第 n 成分の基底:
異なる基準の X, y から基底ベクトルを求めている→ テストデータも情報を削除する必要がある
スコア テストデータ基底
テストデータの射影
…
射影、削除を繰り返し…テストデータのスコアを得る
成分数繰り返し 計算回数が多い⇨ ☹
W* を導入
W* とは
W,P… 繰り返す度に得られる w, p を並べて行列を構成する
W
成分数 ( 繰り返し数 )
次元
数 = w1 …Pw2 wn
繰り返さずに射影できる基底 W*
W* 、 xtest との内積PLS の部分空間に射影したスコア ttest が得られる
証明困難…
PLS 回帰の回帰係数主成分回帰など
PLS 回帰の回帰係数 X から直接予測
特徴量 xtest部分空間
ttest
ラベルy
射影 予測
特徴量 xtest部分空間
ttest
ラベルy
射影 予測
PLS 回帰の回帰係数スコア T よりラベル y を予測する場合を考える
最終的な回帰係数 b
c… スコア t から y を予測する係数
回帰分析回帰係数 b
中心化・標準化を補正
実装• MATLAB– plsregress 関数(要 Statistics toolbox )– SIMPLS algorithm
(SVD により回帰係数を求める )
• Python– scikit-learn
訳本カーネル法によるパターン解析 John Shawe-Taylor ( 著 ), Nello Cristianini ( 著 ), 大北 剛 ( 翻訳 )
Kernel Method for Pattern AnalysisJohn Shawe-Taylor ( 著 ), Nello Cristianini ( 著 )
✓ 多クラス PLS の MATLAB コード掲載 ✓ オープンアクセス
参考資料
参考資料Multivariate Data Analysis and Chemometrics
http://statmaster.sdu.dk/courses/ST02/
PLS 回帰の比較実験
実験• 識別器– PLS vs SVM
• 回帰分析– PLS vs
主成分回帰, SVR
実験• 識別器– PLS vs SVM
• 回帰分析– PLS vs
主成分回帰, SVR
実験環境• INRIA Person Dataset–学習画像• positive : 2416枚• negative : 12180枚• 5-fold Cross Validation
– SVM のコスト / PLS の成分数最適化
–評価画像• positive : 1126枚• negative : 4530枚
–評価画像に negative追加• SceneClass13(36140枚 )
PLS による人検出• 説明変数–HOG 特徴量 (14,580 次元 )
• 目的変数 – Positive +1– Negative -1
ROC曲線による PLS と SVM の比較
実験• 識別– PLS vs SVM
• 回帰– PLS vs
主成分回帰, SVR
回帰による比較粒子計数–細胞内の脂肪滴–目的変数 ( ラベル ) :粒子数–説明変数 ( 特徴量 ) : HLAC 特徴
脂肪滴計数の特徴量複数特徴量間 HLAC 特徴- 異なる特徴量にマスクパターンを適用- 9種類の特徴量
• 81(= 9x9) 特徴組み合わせ• 1 次のマスクパターンの拡張
→ 9✕9 画素マスクパターン (41 マスクパターン )• 3,321 次元 (41 マスク✕ 81組み合せ )
実験環境評価指標
Mean absolute error Mean deviation error
• 学習画像: 80枚⁃ 5-fold Cross Validation
• 評価実験: 19枚
実験結果
MAE MDE 最適な成分数
サポートベクター回帰 11.05 0.314 ー
主成分回帰 6.16 0.264 948
PLS 回帰 5.16 0.126 139
PLS 回帰の計数誤差が最小
最適な成分数 PCA の 1/7 成分→ 識別・回帰の次元削減に有効
歩行者計数Mall datasetショッピングモールに設置したカメラの映像目的変数:画像中の人数説明変数: HLAC 特徴
歩行者計数比較実験 元の空間で SVR Original PLSR (PLS の部分空間+重回帰 ) PLS+ SVR ( PLS の部分空間+ SVR )
PLS の部分空間ラベルごとに分離した空間
歩行者計数
MAE MDE
SVR 3.57 0.111
Original PLS(PLS+重回帰 ) 2.98 0.093
PLS+ SVR 2.86 0.090
実験設定 学習画像 1,200枚、テスト画像 800枚 5 fold cross validation 平均人数 32 人(最小 13 人、最大 53 人)
比較結果
まとめPLS 回帰– PLS 回帰のアルゴリズムについて説明–シンプルなアルゴリズム–分離に有効な部分空間を生成できる–部分空間上で回帰分析、識別