我正在尝试使用Scikit学习模块进行机器学习练习。我正在尝试重建的练习已经作为Sklearn ICA文档的示例,即使用ICA [http://scikit-learn.org/stable/auto_examples/decomposition/plot_ica_ica_ica_blind_blind_source_source_html#example-decample-decomplosition http://scikit-learn.org/auto_examposition.-plot-a-a-blind-source-source-separation-py]。此示例基本上会生成3个信号(或声音源),然后与添加的噪声合并,然后尝试使用ICA重建原始源。很简单,对吗?但是,我有以下困惑:
-
Fastica返回到底是什么?对于以下代码:
ica = FastICA(n_components=3) S_rec = ica.fit_transform(X)
在这种情况下,什么是" ICA"?我试图打印值,但什么也没返回。我正在尝试找出" ICA"是什么,以便准确地了解ICA.FIT_TRANSFORM(X)正在做的事情。在此处将哪种转换应用于" X"?
-
" FastICA"one_answers" FastICA"之间有什么区别?这两个功能也有不同的文档页面:
- fastica:http://scikit-learn.org/stable/modules/generated/sklearn.decomposition.fastica.html#sklearn.decomposition.fastica
- fastica:http://grisel.github.io/scikit-learn.org/sklearn-tutorial/modules/generated/sklearn.decomposition.fastica.html
我在这里的问题是,它们俩都返回相同输入数据的不同混合矩阵。我认为我对我的理解没有做错任何事情。
如果有人可以解释或指出我做错了什么,那将是一个很好的帮助。谢谢!
FastICA到底是什么?对于以下代码: [...]在这种情况下是什么" ICA"?
FastICA是一类,因此呼吁它返回一个OOP包装器,超过.fastica函数。换句话说,您会获得对FastICA类实例的引用,该类别存储您的初始配置(例如组件数),可用于在任何数据(通过fit/tronfly)上执行ICA。
我试图打印该值,但没有返回。我正在尝试找出" ICA"是什么,以便准确地了解ICA.FIT_TRANSFORM(X)正在做的事情。这里正在应用什么转换?
ICA找到 umixing 矩阵W,然后应用于X,因此fit_transform(x)== x.dot(w)( 一些美白等)
" FastICA"one_answers" FastICA"之间有什么区别?这两个功能也有不同的文档页面:
没有区别。Fastica是Fastica周围面向对象的包装器,仅此而已。它实际上在拟合期间称为fastica。
我在这里的问题是,它们俩都返回相同输入数据的不同混合矩阵。我认为我对我的理解做错了什么。
FastICA不是确定性算法,因此您每次都可以获得不同的解决方案。