ガウス分布 (値は主に -5 から 5 まで) の行列、ポアソン行列を生成し、それらを混合して、Matlab FastICAへの入力として与える必要があります。
私は Matlab、ディストリビューション、および ICA の初心者なので、いくつかの指針が本当に役に立ちます。私は一生懸命努力してきましたが、正しい軌道に乗っているかどうかわかりません。
ガウス行列とポアソン行列を生成するために、次の 2 つの配列を生成しました。
s2 = poissrnd(2, 1, 40000); %Poisson distribution with lambda 2
s1 = rand(size(s2)) * 10 - 5; %Gaussian distribution and values ranging from -5 to 5
次に、reshape 関数を使用して2つの 200x200 マトリックスを生成します。imageを使用すると、次の画像が得られます。
私の最初の質問はこれです:これはMatlabでガウス行列とポアソン行列を生成する正しい方法ですか? または、配列を生成して再形成する代わりに、実際に行列を生成する組み込み関数がいくつかありますか?
さて、2 番目の問題: FastICAの使用。
ICA (Independent Component Analysis) fast-fixed point algorithmの非常に優れた回答を参照すると、FastICA には各信号が連続して必要であることが記載されています。
したがって、次の方法で信号行列を生成しています。
S(1,:) = s1; %row 1
S(2,:) = s2; %row 2
次に、混合行列を生成し、ノイズを追加して、結果の行列を入力として fastica() 関数に渡します。
私の質問は、2D データを FastICA に直接渡すことは可能ですか? 多くの混合信号を含む画像があり、それを ICA に渡して、独立成分を見つけられるようにしたい場合はどうすればよいでしょうか?
さまざまな入力で FastICA を使用する方法を説明するチュートリアルへのリンクは非常に役立ちます。
この投稿を読んで助けようとする人に、事前に感謝します。長い質問で申し訳ありませんが、よく理解していることを確認したかったのです!