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

最後は「分散」


さて、偏差二乗和への「追加縛り」として「二乗和」「一乗和」を考えてきました。最後3つ目の例として「
分散」を考えます。
 
CS成分の分散

これはその名のとおり、「分布」C および「スペクトル」S の各 k 成分の「バラつき具合」の和を表します。これを最小化する、ということは分布とスペクトルを「のっぺりさせる」ことになります。パラメータで微分すると
 
分散最小化時のMCRループ

こうなります。ここで右辺の行列は
 
分散最小化時のMCRループ_2

のような、「位置 i による和」「波長 j による和」がずらっと並んだものです。ループ式はこれらを位置の数 I および波長の数 J で割っているので、それぞれ「分布の平均値」「スペクトルの平均値」に相当します。

更新すべき C, S の成分がそれぞれ右辺にも入っており、解いたことになっていませんが表記およびプログラム実装が簡単だし、右辺を「更新前の値」として「自己無動着計算」とすれば問題ないのでこのままで行きます。
 
この例でも K=2 として成分を書き出してみると

分散最小化時のMCRループ_成分

こうなります。この意味の解釈はこれまでの 2 例より難しいのですが、ポイントとしては「位置 i 以外の C 成分」「波長 j 以外の S 成分」が式に入ってきている、ということでしょうか。

この「平均値」の項はすべての i、すべての j について同一なので、すべての位置 i またはすべての波長 j の成分計算に対して「同じ値を足す」という動作が加わるため、「成分同士が似る」方向に行くことがわかります。この話はλ→∞にすると明瞭になります。 
 

 分散最小化時のMCRループ_極限

こうなり、「完全のっぺり」な解が得られることになります。 

のっぺりさせる意義は?

Rとして「分散」を用いると分布およびスペクトルがのっぺりするのですが、のっぺりさせる意義は?というところです。


これは少し深い話になりますが、一般に「最小二乗法」は「オーバーフィッティング」の傾向があります。少しノイジーなデータがあると、なんとかして全データに追従しようとして分解するC,Sが激しく振動するものになることも(もちろんそうなったほうが有難い場合もあるので難しい)。


これは宗教に近いですが「自然に作ったものはのっぺりしている」といえます。何かを熱拡散させたものとか、長時間放置したものなどは、そんなに「シャープ」なプロファイルではありません。最小二乗法だけだと時に「自然界ではあり得ないぐらいのシャープな解」になることがあるので、そこを補正する意味で「分散を小さく」という縛りをかけるのもアリです。


実はこの辺の話、「最大エントロピー法」なんかも絡んでくるのですが、そっちも機会があれば書きます。


さて、能書きはこれまでにして、次回からは実例で考えてみましょう!



はっぴぃ理系らいふ、いぇい
ヽ(・ε・)人(・ε・)ノ キミモナカマニナロウゼ
   

【文責 べじぱみゅ