非負行列因子分解で潜在因子の最適数を選択する方法は?


15

行列の所与Vm×n非負行列因子分解(NMF)は、2つの非負行列発見Wm×k及びHk×n(すなわち、すべての要素と0)として分解行列を表します。

VWH,

WH

VWH2

NMFで数値を推定する一般的な方法はありますか?たとえば、そのためにクロス検証をどのように使用できますか?k


引用はありません(実際、Googleの学者でクイック検索を行ったが見つかりませんでした)が、相互検証は可能であると考えています。
アメーバは、モニカを復活させる14

2
NMFの相互検証を実行する方法の詳細を教えてください。フロベニウスノルムのK値は、Kの数が増えると常に減少します。
スティーブ

何のためにNMFをやっているの?低次元空間でを表すのか(監視なし)、推奨事項を提供するのか(監視あり)。あなたのVはどれくらい大きいですか?分散の特定の割合を説明する必要がありますか?客観的なメトリックを定義した後、CVを適用できます。アプリケーションについて考え、意味のあるメトリックを見つけることをお勧めします。VV
無知14年

回答:


10

非負行列因子分解で最適な潜在因子数を選択するには、交差検定を使用します。

あなたが書いたように、NMFの目的は、低次元見つけることであるWH再構成誤差最小化し、すべての非負の要素を持つVWH2V 1つの要素、たとえばVabを除外し、1つの欠損セルで結果の行列のNMFを実行するとします。これは、すべての非欠損セルで再構成エラーを最小化するWおよびH見つけることを意味します

ijab(Vij[WH]ij)2.

これが完了すると、[ W H ] a bを計算することにより除外された要素Vabを予測し、予測誤差e a b = V a b[ W H ] a b2を計算できますこの手順を繰り返して、すべての要素V a bを一度に1つずつ除外し、すべてのにわたって予測誤差を合計できます[WH]ab

eab=(Vab[WH]ab)2.
Vabaおよびbます。これにより、全体的なPRESS値(予測される残差平方和)E(k)=abeab k )には、「最適な」 kとして使用できる最小値があります。それはk依存します。うまくいけばE(k)k

NMFは各除外値に対して繰り返す必要があるため、計算コストが高くなる可能性があり、プログラムするのも難しい場合があることに注意してください(欠損値でNMFを実行するのがいかに簡単かによって異なります)。PCAでは、V行全体を除外することでこれを回避できます(これにより、計算が大幅に加速されます)。主成分の数を決定するためにPCAの相互検証を実行する方法の応答を参照してください、しかし、これはここでは不可能です。

もちろん、ここでは交差検証のすべての通常の原則が適用されるため、一度に多くのセルを除外することができます(単一のセルではなく)、および/またはすべてのセルをループする代わりにランダムなセルのみに対して手順を繰り返すことができます。どちらのアプローチもプロセスの加速に役立ちます。

編集(2019年3月):@AlexWilliamsによるこの非常に素晴らしいイラスト付きの記事を参照してくださいhttp://alexhwilliams.info/itsneuronalblog/2018/02/26/crossval。Alexは、欠損値のあるNMFに対してhttps://github.com/kimjingu/nonnegfac-pythonを使用します


4

私の知る限り、2つの良い基準があります:1)共表現相関係数、2)ランクのセットのランダム化されたデータに対する残差平方和の比較(名前があるかもしれませんが、覚えていない)

  1. コフェネティック相関係数: ランクごとにNMFを数回繰り返し、結果がどの程度似ているかを計算します。言い換えれば、初期シードがランダムであると仮定すると、識別されたクラスターはどの程度安定しています。共係数が低下する前に最高のKを選択します。

  2. ランダム化されたデータに対するRSS 次元削減アプローチでは、元のデータ(RSSで推定)と比較して、常に情報が失われます。次に、Kを増やすためにNMFを実行し、元のデータセットとランダム化されたデータセットの両方でRSSを計算します。Kの関数でRSSを比較すると、元のデータセットのKが増加するとRSSは減少しますが、これはランダム化されたデータセットの場合は少なくなります。両方の勾配を比較すると、交差する場所にKが存在するはずです。言い換えれば、ノイズにさらされる前にどれだけの情報を失うことができるか(=最高のK)。

私が十分に明確であったことを願っています。

編集:それらの記事を見つけました。

1.ジャン-P。ブルネット、パブロタマヨ、トッドR.ゴラブ、ジルP.メシロフ。マトリックス分解を使用したメタ遺伝子と分子パターンの発見。米国科学アカデミー論文集、101(12):4164-4169、2004年。

2.Attila FrigyesiとMattias Hoglund。複雑な遺伝子発現データの分析のための非負行列因子分解:臨床的に関連する腫瘍サブタイプの識別。Cancer Informatics、6:275-292、2008。


Kが小さいときに、ランダムデータのRSSが元のデータで計算されたRSSよりも低くなる理由は明らかではありませんか?残りの部分については、ランダムのRSSは元のデータのRSSよりもゆっくりと減少するはずであることを理解しています。
マリクコネ

1

krVk<min(m,n)VWwi , i=1,2,,kWHkWHVkk<min(m,n)V

詳細については、S。TheodoridisとK. Koutroumbasによる本書の第6章を参照してください。

WHkVVV

kWk


4
k

kk

2
NMF因数分解の説明は完全に理にかなっていますが、最初の質問は、kを推定する一般的な方法に関するものでした。これで、「異なる機能サブスペースで作業することにより」「経験的に」(大丈夫)kを選択できることを書きました。「異なる機能サブスペースでの作業」が何を意味するのか理解できませんが、それを拡張していただけますか?どのように彼らと一緒に働くべきですか?? kを選択するレシピは何ですか?これが質問の目的です(少なくとも私が理解したように)。私のdownvoteを元に戻したいです!
アメーバは、モニカを復活させる14

2
k

1
k
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.