*注意)この「べじぱみゅの学習メモ」のカテゴリー記事は、ワタクシ自身がこれまでに勉強したいろいろな項目について、テキストにあんまり書いてない内容などを勝手に妄想したメモです。
ワタクシ自身の備忘録のために書いており「初学者にわかりやすく説明する」というものではございません。
導入なしに唐突に話が始まり、おそらく意味不明な文章かもしれません。
しかし、せっかく考えたことなので、記事の内容がもし誰か1人でもお役に立てれば幸いです。


オールマイティだが万能ではない?

前回、カーブフィッティングではうまくいかなそうなスペクトル列に対してNMFを実践してみました。ワタクシ的にはそれなりにまともな結果が得られたと思っていますが、ラストにちょっと深いお話をしておきます。

実はNMFには本質的な弱点があります。それは

解がひとつに定まらない

というものです。このことを式で説明してもいいですが、ここはまず、べじぱみゅ流に乗っ取り「日本語」で説明してみましょう。

そもそもNMFとは何をしていたのか、を考えましょう。要は

掛け算してもとのデータ行列になるような
2つの行列の組を探してください

と命令しただけです。この意味を考えると、本質的な弱点が見えてきます。
行列だと分かりにくいかもしれないので、普通の掛け算で考えましょう。NMFはいわば

xy = 3 を満たす実数x, yの組を求めよ

と言っているようなものです。
x, yが整数なら、この解は(x, y) = (1, 3) (3, 1)しかありません。しかし実数となると解は無限に存在します。
同じノリで、掛け算してもとのデータ行列に(ほぼ等しく)なるような2つの行列の組は無限に存在するのです。式でちゃんと書くと、

簡単なスペクトル(列)の分解(式)


を満たす(十分に近い)行列T, Vに対して、逆行列をもつ任意の2×2行列およびその逆行列を乗じた

結果の「回転」


も解となります。行列は掛ける順序を変えてもいいのでね。

前回のループ計算により、2つのスペクトルおよび係数の組が得られました。しかしそれは、(無数にある)答えのひとつが求められたに過ぎないのです。掛け算してもとのデータ行列になる組合わせは他にいくらでもあります。

というわけで、答えをひとつに定めたければ、追加の縛りを課す必要があります。
NMFはカーブフィッティングに比べて恣意性が入りにくいのが強みですが、この追加の縛りによっては結局恣意的になってしまいます。

方針としてはいろいろあります。完璧な正解はないと思いますが、ワタクシの経験からすると現実的な対応は以下の2つかと思います。

1:気にしない
2:最初あるいは最後のスペクトルを純物質のスペクトルとみなす

1はなかなか潔い?方法です。「ループ計算の初期値として最初と最後のスペクトルを入力」というルールだけを守り、その結果出てきた分解行列を信ずるのみ、ということです。
「恣意」の要素は入りません。実はこれでもまあまあな結果が得られるので(あとで比較します)、これでいいのかもしれません。

2はもう少し現実的なもがきです。多数のスペクトルが得られたときに最初と最後のスペクトルは純物質のスペクトルだ、とみなせるケースは実際に多いです。そのことを利用してより「真実」に近づこう、というものです。

前回の実践例でいうと、ループ計算の結果出てきた2つの「純物質のスペクトル」は、最初と最後のスペクトルとは微妙に異なっています。
そこで、得られた2つの「純物質のスペクトル」を、

結果の「回転」T

この変換で最初と最後のスペクトルになるべく近づけるような2×2の行列を求めます。
求めた2×2行列の逆行列を

結果の「回転」V

という具合に「係数行列」のほうにかけて、「補正」を完了します。

前回の実践例で、上記2つの方法をとったときの結果を、もともとワタクシがスペクトル構成に使った「真実」と比較します。

「回転」スペクトル
「回転」係数


補正をかけた場合、純物質のスペクトルは「真実」にかなり近づいています。その結果、係数のほうも「真実」により近づいています。
実際に成分分離するときは、係数の「絶対値」はあまり問題にせず、「比率」だけを問題にすることが多いです。そこで「比率」を比べてみましょう。

係数の比


補正ありはほぼ「真実」にピタリ賞です。でも補正なしでもなかなかいい感じです。
このケースだと補正したほうがいい、となりましたが、もちろんダメなケースもあります。最初と最後のスペクトルが純物質のスペクトルとみなせない場合はダメですね。
よくわからないまま怪しい仮定をして補正してしまうぐらいなら、いっそ補正せずに出た結果でゴリ押し、もアリかもしれませね。その「補正」がわりと恣意的なので、「恣意性を排除する」という本来のメリットを排除することになってしまうので。

先程も申し上げたように、完璧な対応策はありません。ケースバイケースです。
ただ、「NMFは本質的に解が不定である」ということだけは認識しておきましょう!困ったときに助けになるかもしれません。



はっぴぃ理系らいふ、いぇい

ヽ(・ε・)人(・ε・)ノ キミモナカマニナロウゼ   

【文責 べじぱみゅ】