2016-06-22 15 views
1

私は学校で機械学習の演習のためのモジュールを学ぶscikitを使用しようとしています。私は再構築しようとしている運動がすでにsklearnのICAマニュアルの一例として与えられ、[​​ICAを用いたブラインド音源分離。この例では、基本的に3つの信号(または音源)を生成し、追加されたノイズとマージし、ICAを使用して元のソースを再構築しようとします。十分に簡単ですね。しかし、私は次の混乱を持っています:SciKit FastICAには何が返され、FastICAとfasticaの違い(どちらも異なる値が返されます)は何ですか?

  1. FastICAは正確に何を返していますか?次のコードの場合:

    ica = FastICA(n_components=3) 
    S_rec = ica.fit_transform(X) 
    

    この場合、「ica」とは何ですか。値を印刷しようとしましたが、何も返されませんでした。私はica.fit_transform(X)が何をしているのかを正確に理解するために 'ica'が何であるかを調べようとしています。ここで「X」にはどのような変換が適用されていますか?

  2. 'FastICA' と 'fastica' の間番目の違いは何ですか?二つの機能は、異なるドキュメントページを持っている:

    私の質問は、それらの両方が同じ入力データに対して異なる混合行列を返す、という。私は私の理解のために何か悪いことをしているとは思わない。

誰かが私が何か間違ったことをやっているならば、それは大きな助けとなり、これを説明したり、指摘することができれば。 ありがとうございました!

答えて

1
正確にFastICAが戻らない何

?次のコードの場合: [...]この場合、「ica」とは何ですか?

FastICAはクラスなので、.fastica関数でOOPラッパーを返します。つまり、初期構成(コンポーネントの数など)を格納し、任意のデータ(適合/変換を通じて)でicaを実行するために使用できるFastICAクラスのインスタンスへの参照を取得します。

私は値を印刷しようとしましたが、何も返されませんでした。私はica.fit_transform(X)が何をしているのかを正確に理解するために 'ica'が何であるかを調べようとしています。ここで「X」にはどのような変換が適用されていますか?

ICAは、(あなたは、コンストラクタでそれを要求した場合+一部白化等)をX、従ってfit_transform(X)== X.dot(W)に印加さ​​れるアンミキシング行列Wを見つけ

'fastICA' と 'fastica' の間番目の違いは何ですか? 2つの機能には、別のドキュメントページもあります。

違いはありません。 FastICAは、fasticaの周りのオブジェクト指向のラッパーです。それは実際にcalls fastica during fitです。

ここで私の質問は、両方とも同じ入力データに対して異なる混合行列を返します。私は私の理解のために何か悪いことをしているとは思わない。

FastICAは決定論的なアルゴリズムではないため、毎回異なるソリューションを得ることができます。

関連する問題