2021 年 20 巻 2 号 p. 60-70
Fisher Discriminant Orthogonal Decomposition (FDOD)は,Fisher Discriminant Analysis (FDA)に正則化係数と直交分解を適用した判別分析法である.これにより,多変量データの判別分析において過学習を回避すること,グループ数以上の判別軸を求めることが可能になった.しかし,FDODは計算時間やメモリを多く消費する方法である.そこで,分析データを特異値分解して冗長データを取り除くことで,計算時間やメモリを節約する方法,Fast Fisher Discriminant Orthogonal Decomposition (FFDOD)を開発した.7054波数のデータからなる6種のセルロール系繊維の赤外級数スペクトル275個にFFDODを適用した場合,FDODと比較して約1/84の計算時間となった.特異値分解の計算を除外すると,約1/290と顕著な高速化が実現できた.また,FFDODとFDODの結果を比較することとで,計算精度においても同等であることが示された.
Fisher Discriminant Orthogonal Decomposition (FDOD) is a discriminant analysis method incorporating regularization coefficient and orthogonal decomposition into ordinary Fisher Discriminant Analysis (FDA). This method makes it possible to avoid overfitting in discriminant analyses of multivariate data and to obtain discriminant axes whose number is greater than that of groups. However, FDOD requires long calculation time and large memory. To solve these problems, a novel technique, Fast Fisher Discriminant Orthogonal Decomposition (FFDOD), has been developed. FFDOD saves calculation time and memory by singular value decomposition of the data to be analyzed to remove redundant data. When FFDOD was applied to 275 infrared spectra of 6 types of cellulosic fibers each of which consists of data at 7054 wavenumbers, the calculation time was reduced to 1/84 of that when using FDOD. If the time required for the singular value decomposition is not considered, a remarkable speedup to about 1/290 was realized. The calculation accuracy of FFDOD has been found equivalent with that of FDOD by comparing the results by FFDOD and FDOD.
判別分析法は,複数の変数が組になったデータと,そのデータが属するグループインデックスを基にして,変数からグループを推測するモデルを構築する方法である.Fisher Discriminant Analysis (FDA) [1]は,パラメータの射影を求めたときに,グループ内の変動が最も小さくなり,グループ平均間の変動が最も大きくなるような判別軸を求める方法である.有名なアヤメのデータを使った解析 [1]のように変数が4つで観測数がこれを超えている場合,FDAは優れた結果を示す.
しかし,観測数よりも変数の数の方が多い場合,判別分析ではしばしば過学習を引き起こす原因となる.このような場合,正則化係数を適用した判別分析法,Regularized Discriminant Analysis (RDA)によって過学習を防ぐことができる [2, 3].また,カーネルをFDAに適用したKernel Discriminant Analysis (KDA)でも,過学習を防ぐために正則化係数を用いている [4, 5].
RDAやKDAでは正則化係数を1つ決定し,グループ数より1つ少ない数の判別軸が得られる.例えば2つのグループを判別する場合,1次元上での判別となる.しかし,より多くの次元の判別軸を用いたほうが,判別性能が高くなる可能性がある.また,3グループ以上の判別では2つ以上の判別軸が得られるが,1つの正則化係数のみなので,繊細な条件調整をすることができない.そこで,我々はRDAを改良し,グループ数以上の判別軸を求めることができ,判別軸ごとに正則化係数を設定できる,Fisher Discriminant Orthogonal Decomposition (FDOD)を開発した.赤外吸収スペクトルをFDODで解析することにより,セルロース系繊維の判別に非常に有効であることが示された [6, 7],特許を取得した [8].
FDAやRDAでは一般化固有値問題を1回解けばよいのに対し,FDODでは求めたい判別軸の数だけ一般化固有値問題を解かなくてはならない.正則化係数の最適化のためにはさらに多くの一般化固有値問題を解く必要がある.一般化固有値問題の求解は,通常の固有値問題と比べると計算時間を要する.正則化係数を精緻に決めていくためには,一般化固有値問題の迅速な求解が不可欠である.本研究では,高速化したFDOD,fast FDOD (FFDOD)を開発したので解説する.また,FDODとの性能比較を行う.
m変数からなるデータを,観測数n収めた
ここで各観測データはG個のグループのどれかに属しているとする.FDAではtのグループ間変動bが大きくなり,かつtのグループ内変動wが小さくなるように,すなわちb / wが最大となるvを求める.Xのグループ間変動行列をB,グループ内変動行列をWとすると,b / wが最大となるvは以下の一般化固有値問題,
Wのランクrank (W)は最大で
FDAにおける過学習は,Wがランク落ちとなる条件であることに起因している.そこで,式(2)の右辺に正則化項を加えた次のような一般化固有値問題を考える.
ここで,
前述したようにBのランクは最大で
3グループ以上の判別では複数の判別軸が見つかるが,2グループの場合と同様に,より高次元の判別軸を使うことで,より良好な判別が可能であると期待できる.また,
FDODではRDAでの課題であった,
準備: 判別モデル校正用試料のスペクトルを収めた行列XをX1と置く
以下の反復計算を
1: Xiのグループ間変動行列Bi, グループ内変動行列Wiを求める.
2: 適当な第i正則化係数
3: スコアtiを求める.
4: viとtiを使ってXiをデフレーションしてXi+1を求める.
5:
このようにして,反復計算を行い必要な数の判別軸を求めることができる.手順2で判別軸ごとに正則化係数を設定している.また手順7で直交分解を行っているため,判別軸は互いに直交するようになる.さらに,手順5のBiは反復を繰り返すごとに更新されるため,Xiのランク以下にはならない.このようにして,前述の課題が解決されている.
2.3.2 FDODの問題点FDA, RFDAそしてFDODでは一般化固有値問題を解くことがもっとも重要な過程である.一般化固有値問題は,
スペクトルを取り扱うときのように
FFDODではX1の冗長なデータを取り除くために,まず特異値分解を行う.
ここで,X1のランクをrとすれば,Lはr個の左特異ベクトルからなる
グループ間変動行列Biやグループ内変動行列WiをXiから求める行列をそれぞれDB, DWとして,式(4)を書き換えると
次にデフレーションについて考える.Xiのデフレーションは式(7)で表される.式(7)に式(11), (12)を代入すると,
X1ではなくXs1を初期行列としてFDODを適用していくのがFFDODとなる.
2.4.2 FFDODの手順準備: 判別モデル校正用試料のスペクトルを収めた行列XをX1と置く
1: X1を特異値分解する.
2: Xs1を得る.
3: Xsiのグループ間変動行列Bsi, グループ内変動行列Wsiを求める.
4: 適当な第i正則化係数
5: スコアtiを求める.
6: 判別軸viを求める.
7: vsiとtsiを使ってXsiをデフレーションしてXsi+1を求める.
8:
このようにFDODと同様,反復計算を行い必要な数の判別軸を求めていく.FDODとの主な違いは,手順1で特異値分解を行っていることと,手順6で判別軸を求めていることである.いったん求めた判別軸は以後の計算には使われないので,手順6をとばして必要な反復が終わったのちにまとめて求めても構わない.この場合,
FFDODによる計算の高速化を検証するために,セルロース繊維の赤外吸収スペクトルを用いた.供試試料として,cotton 40点,linen 39点,ramie 42点,rayon 66点,cupra 47点,lyocell 41点の6種,計275点の繊維布地を用意した.これらの布地の赤外吸収スペクトルは,ATRアタッチメント(JASCO ATRPRO450S)を取り付けた分光光度計(JASCO FT/IR 4700)により測定した.ATRプリズムは ZnSeを用いた.1回反射法によりATR測定を行った.検出器にはTGS検出器を用いた.記録波数領域は4000 − 600 cm−1,波数分解能は2 cm−1,積算回数は16回とした.アポダイゼーション関数はコサイン関数を用いた. ATR 法では波長によるもぐりこみ深さの差異を小さくするためATR 補正(強度のみ)を行った.
得られたATR赤外吸収スペクトル275個(n = 275)に対して,FDODとFFDODによる6グループ判別(G = 6)を行った.本稿では判別アルゴリズムの計算速度比較を目的とするため,スペクトルに対して前処理および正則化係数の最適化は行わなかった.第6判別軸まで求めることとし,正則化係数は各軸において1次から6次判別軸への順に10−2.5, 10−3, 10−3, 10−3, 10−3, 10−4.5とした.これらはスコアプロットを行った際に,目視によって良好な判別が可能であることより決定した.
解析に供するスペクトルの波数領域は,最低波数600 cm−1は固定し,最高波数を4000 cm−1から50 cm−1程度減らしながら,732 cm−1まで変化させた.4000 − 600 cm−1では波数の数は7054個であり,つまりm = 7054となる.732 − 600 cm−1の場合はm = 276である.
計算にはMATLAB Onlineを用いた.計算時間の計測は変動があることを考慮し,各波数領域条件において10回行った.
測定された6種類の繊維種のスペクトルをFigure 1に示した.各繊維種の平均スペクトルが示してある.また,スペクトルの重なりを避けるために各スペクトルに定数を足してずらしてある.どれもセルロース系繊維であるため,スペクトルが似通っていることが分かる.そのため,視覚的にスペクトルから繊維種を判断するのは難しいと言える.
Infrared absorption spectra of six kind cellulose fabrics. Spectra are shown with shifted baselines to avoid overlapping each other.
解析波数領域を4000 − 600 cm−1としたとき,FODOおよびFFDODによって得られた,第1−2判別軸2次元スコアプロット(以後"1−2プロット"と記す.他も同様)および5−6プロットをFigure 2に示した.ここでの目的は手法の比較であるため,FDODによる結果を"×",FFDODによる結果を"+"で表してあり,繊維種ごとの表記は行わなかった.すべてのプロットが"*"のように見えている.これは,2つの手法で各プロットの座標が一致しており,2種類のマーカーが重なったことによる.つまり,2つの手法での判別結果が一致していることを示している.
Score plots for (a) 1-2 discriminant axis plane and (b) 5-6 discriminant axis plane.
Each marker looks like [*] because × and + overlap.
1−2プロットでは,天然繊維のうち麻に分類されるlinenとramieが重なってしまい判別不能となった.これは麻同士のスペクトルが似通っているため,第1判別軸と第2判別軸ではlinenとramieのスペクトルの差異を分離できなかったためである.これ以外に関しては,互いに異なる領域にプロットされていた.5−6プロットでは,天然繊維のcottonとramieが重なってしまったものの,linenが異なる領域にプロットされた.再生繊維である,rayon, cupra, lyocellは近い範囲にブロットされ判別は難しい結果となった.1−2プロットでは分離されなかったlinenが,5−6プロットで分離されており,複数の次元でのスコアを用いることの有用性がわかる結果となった.
また,第6判別軸は通常のFDAやRFDAでは得られない次元の軸であり,FDODやFFDODがより高次の判別軸を見つけられることを示している.
前述した1−2プロットや5−6プロットだけでなく,ほか組み合わせのスコアプロットもFDODとFFDODのスコアが一致していた.とくに5−6プロットは反復計算の最後に得られる2つの判別軸である.第5や第6判別軸は,反復初期に求まる第1や第2判別軸に比べ,より多くの計算を経て求まる.そのため,誤差が蓄積しているのでFDODとFFDODの結果に差が生じることが考えられる.
しかしFigure 2を見る限りFDODとFFDODのスコアの間には差が見られなかった.
FDODとFFDODの計算時間の比較のために,計算時間についていくつか定義をしておく.FDOD,FFDODともに,計算を始めてから終了(第6判別軸・DA6を求める)までを総計算時間ttotalとする.特異値分解に要した時間をtsvdとする.FDODには特異値分解はないので,tsvdは含まれない.FDODルーチンの所要時間をtfdodとする.FDODの場合,FDODルーチンそのものであるので,tfdod = ttotalである.一般化固有値問題の求解時間をtgepとする.第6判別軸まで求めているため,tgepは一般化固有値問題の求解6回の合計となる.
Figure 3-5に変数の数mと計算速度の関係をグラフに示した.Figure 3ではFDODとFFDODのttotalを比較した.変数の数mが500程度よりも大きいときはFFDODのほうがFDODよりも計算時間が短いことが分かった.mの増加につれて,FDODでは急激にttotalが増加しているのに対し,FFDODでは変化が緩やかであった.そのため,mが増加するほど計算速度の差が顕著になった.FFDODではm = 1500 − 3000の範囲で計算時間の上昇が見られるが,この現象には再現性があるが,Linux版MATLAB 2019aで計算したときには,このような傾向が別の範囲で見られた.よってこの現象はデータ依存ではなく,MATLAB Onlineの計算システムの特性によるものと考えられる.
Comparison of total calculation time (ttotal) for FDOD and FFDOD.
Figure
4はFDODおける変数の数の二乗m2とttotalとtgepの関係を示した.このようにすると,m2と計算時間の間に比例関係があることが分かる.一般化固有値問題はBiとWiを用いるので,これらの行列サイズ
Relation between the square of the number of variables and calculation time for FDOD.
Figure
5にはFFDODの計算時間の変化をまとめた.このグラフでは横軸はmである.全体的な傾向では,mの増加に伴いttotalとtsvdは直線的に上昇していた.前述したm
= 1500 −
3000程度の範囲においてttotalが長くなるのは,この範囲におけるtsvdの影響であることが分かる.全体的な傾向は,特異値分解は元のデータXに対して行われるので,mの変化に影響を受けて直線的に上昇すると説明できる.一方,tfdodやtgepは変化に乏しくほぼ一定であった.これはFFDODでは,mに関係なく行列サイズが一定(
Relation between the number of variables and calculation time for FFDOD.
FDODとFFDODをより詳細に比較するため,最高波数が4000, 2300, 1450, 1025, 813, 732 cm−1の場合について,変数の数,行列サイズ,計算時間,Vの規格直交性についてFDODとFFDODの比較をTable 1, 2にまとめた.各計算時間は10回の試行の平均値と簡略化形式で標準不確かさを示した.また,FDODとFFDODで得られたVやTの同等性も評価した.
range (cm−1) | 4000 − 600 | 2300 − 600 | 1450 − 600 | |||
the number of variables | 7054 | 3528 | 1765 | |||
method | FDOD | FFDOD | FDOD | FFDOD | FDOD | FFDOD |
matrix size of B or W | ||||||
7054 × 7054 | 275 × 275 | 3528 × 3528 | 275 × 275 | 1765 × 1765 | 275 × 275 | |
calculation time*1(s) | ||||||
ttotal*2 | 9.1 (1) | 0.108 (4) | 2.15 (1) | 0.074 (2) | 0.498 (7) | 0.090 (3) |
tsvd*3 | – | 0.077 (3) | – | 0.046 (1) | – | 0.060 (2) |
tfdod*4 | 9.1 (1) | 0.031 (1) | 2.15 (1) | 0.028 (1) | 0.498 (7) | 0.030 (1) |
tgep*5 | 5.8 (1) | 0.0168 (7) | 1.34 (1) | 0.0156 (9) | 0.336 (5) | 0.0162 (6) |
orthonormality of V | ||||||
2.22 | 2.22 | 2.22 | 1.11 | 1.11 | 1.11 | |
8.67 | 1.26 | 3.50 | 0.55 | 3.54 | 0.59 | |
maximum difference between each elements of matrices obtained by FDOD and FFDOD*6 | ||||||
T(×10−12) | 7.52 | 2.02 | 2.16 | |||
V(×10−14) | 4.84 | 6.69 | 4.00 |
*1: Average of 10 times calculations. The values in parentheses are uncertainty. *2: Total calculation time. *3: Calculation time spent on singular value decomposition routine. *4: Calculation time spent on FDOD routine. *5: Calculation time spent solving general eigenvalue problem. *6: Since the signs corresponding values may be different, the difference was calculated for their absolute values.
range (cm−1) | 1025 − 600 | 813 − 600 | 732 − 600 | |||
the number of variables | 884 | 444 | 276 | |||
method | FDOD | FFDOD | FDOD | FFDOD | FDOD | FFDOD |
matrix size of B or W | ||||||
884×884 | 275×275 | 444×444 | 275×275 | 276×276 | 275×275 | |
calculation time (s) | ||||||
ttotal | 0.142 (2) | 0.065 (2) | 0.048 (1) | 0.053 (2) | 0.030 (1) | 0.051 (2) |
tsvd | – | 0.033 (1) | – | 0.0231 (8) | – | 0.020 (1) |
tfdod | 0.142 (2) | 0.032 (2) | 0.048 (1) | 0.030 (2) | 0.030 (1) | 0.030 (1) |
tgep | 0.088 (1) | 0.018 (1) | 0.0267 (8) | 0.0167 (9) | 0.0167 (9) | 0.0172 (7) |
orthonormality of V | ||||||
3.33 | 2.22 | 2.22 | 3.33 | 2.22 | 3.33 | |
5.53 | 0.29 | 4.05 | 0.69 | 5.08 | 1.08 | |
maximum difference between each elements of matrices obtained by FDOD and FFDOD | ||||||
T(×10−12) | 2.07 | 0.62 | 1.05 | |||
V(×10−14) | 0.66 | 0.66 | 0.65 |
前述したように選択された波数範囲が狭くなる,つまり変数の数が少なくなるにつれてttotalが短くなる傾向となっている.ただし,波数範囲1450 − 600 cm–1(m = 1765)の場合,ttotal = 0.090 sとなり,2300– 600 cm–1(m = 3528)の0.074 sよりも長くなっていた(Table 1).これは,変数の数が前述の計算時間が長くなる1500 − 3000の範囲に入っているため,特異値分解に0.060 sを要していることによる.
m = 7054変数の場合(Table 1)ttotalがFDODでは9.1 sだったのに対し,FFDODでは0.108 sと約1/84と大幅な時間節約となっていた.さらにtfdodで比較すると,FDODは9.1 sであるが,FFDODでは0.031 sとさらに短くなり,約1/290となった.FDODで最適な判別軸を探索するためには,1つのX1に対して様々な正則化係数を適用した計算を繰り返す必要がある.この過程には多くの繰り返しが必要なので,変数の数が多くなると多大な時間が必要となる.FFDODを使えば大幅に時間を短縮できるようになる.さらにFFDODでは元のデータ行列X1に変化がない限り,Xs1も変化しない.つまり,一度特異値分解でXs1を求めておけば,正則化係数を変化させた計算はXs1に対して行えばよい.特異値分解を繰り返す必要がないので,さらなる時間の短縮を期待することができる.
FFDODではmに関係なくBiやWiの行列サイズが
FDODに対する優位性が低くなっていく.波数範囲が813 − 600 cm–1の場合,ttotalがFDODでは0.048 s,FFDODでは0.053 sとなっていた.不確かさを考慮するとこの2つの結果の間に有意差があるとは言えないため,FFDODの有意性は認められないこととなった.ただし,FFDODのtfdodは0.030 sとなり,FDODの0.048 sと比較して37.5%の時間短縮となった.繰り返し計算を行う場合には,FFDODを選択することで効果を得ることができるようになる.
波数範囲が732 − 600 cm–1(m = 276)場合,tfdod, tgepに関しては2つの手法で同等の結果となったが,ttotalではFFDODのほうが劣る結果となった.この場合FFDODを選択する理由はないと言える.
FFDODによって時間が短縮されたとしても,Vの規格直交性が悪かったり,FDODとの結果に差異があったりした場合,FFDODは利用できない.Vの規格直交性を検証するため,
たとえ規格直交性が保たれたとしても,得られるTやVがFDODとFFDODの結果の間で異なっていた場合にはFFDODを利用できない.Figure 2に示したように,7054変数の場合の1−2プロットや5−6プロットがFDODとFFDODで一致していることがわかった.視覚的だけでなく,数値的にもこのことを確認するため,スコア行列Tおよび判別軸行列Vについて,FDODとFFDODで対応する
要素同士の差の絶対値を求めた.この差の絶対値のうち,最大値をTable 1, 2に提示した.どの変数条件においても,Tでは10−12程度,Vでは10−14程度と十分に小さい値になっており,FFDODによってFDODと等しい判別軸とスコアが得られることが数値的にも示された.
FDODはFDAを基にして,判別軸ごとの正則化係数を適用することで優れた判別性能を持つ方法である.サポートベクターマシン(SVM)やディープラーニング(DL)などの非線形判別法と比較してもいくつかの利点がある.とくに,SVMは多グループ判別に向いていないが,FDAやFDODは多グループ判別が前提となっていることがある.また,SVMやDLは非線形であるがゆえに,判別の要因の解読は難解,もしくは不可能である.これに対しFDAやFDODの判別軸には,どの変量が判別に有効であるかの情報が含まれている.スペクトルのように化学的な情報が含まれるデータの場合,判別軸を調べることで判別に有用な化学的情報を得ることも可能である.
FDODの真価を発揮するためには,適切な正則化係数を見つける必要がある.しかし一般化固有値問題の求解に計算時間の多くが費やされるので,正則化係数をきめ細かく決めるためにFDODを繰り返すと多大な時間がかかることが欠点であった.FDODを行う前に,特異値分解を行うFFDODを用いることで,行列サイズや計算時間を大幅に節約することができた.また,FDODとFFDODOで同じ判別軸やスコアプロットが得られることも示された.
FDODにおける一般化固有値の求解のCPUへの負担は大きく,筆者のPCでも変数が多い条件での連続したFDODの実行は,CPUが高温となりシステム暴走の危険があったため続行を断念した(そのためクラウド上で実行されるMATLAB Onlineを利用した).これに対し,FFDODでは連続計算であっても,適切な温度が保たれていた.つまり,FFDODの採用は,システムの安定運用という面からも有用であることが分かる.
さらに,近年,小型で安価な近赤外などの分光計が入手可能になってきている.これらの分光計に,シングルボードコンピュータ(SBC)などを組み合わせることで,作業現場や屋外に手軽に持ち運び可能な小型分光システムを構築できる.SBCはCPU性能やメモリ容量などがPCに比べ低く抑えられている.FFDODであれば,このような小型のシステムでであっても採用することが可能である.
FFDODの適用で計算速度を向上させることができるようになったが,最適な正則化係数を得るためには判別モデルのバリデーション法や判別の評価指標も今後の課題である.既報 [7]では,校正用試料と検証用試料を別に用意する外部バリデーションを用いた.また,各グループは正規分布を形成していると仮定し,確率密度を判別指標として用いた.試料が少ない場合などは,クロスバリデーションが有効であると考えられる.評価指標としては,マハラノビス距離や事後確率なども用いることができる.最適な正則化係数の探索法を確立することで,FDODの真価が発揮されると期待される.
赤外吸収スペクトルは,東京農工大学農学府修了生の齋藤健悟氏に提供していただいた.ここに感謝の意を表する.