首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SciKit FastICA返回什么,FastICA和fastica之间的区别是什么(都返回不同的值)?

SciKit FastICA返回什么,FastICA和fastica之间的区别是什么(都返回不同的值)?
EN

Stack Overflow用户
提问于 2016-06-22 09:40:08
回答 1查看 4.8K关注 0票数 3

我试着在学校里使用scikit学习模块进行机器学习练习。我试图重建的练习已经给出了一个例子,在sklearn文档中,使用ICA separation.html#example-decomposition-plot-ica-blind-source-separation-py]实现的盲源分离。此示例基本上生成3个信号(或声源),然后与添加的噪声合并,然后尝试使用ICA重建原始源。很简单,对吧?然而,我有以下的困惑:

  1. FastICA到底返回了什么?对于以下代码: ica = FastICA(n_components=3) S_rec = ica.fit_transform(X) 在这个案子里什么是ica?我试图打印这个值,但没有返回任何内容。我试图找出'ica‘是什么,以便准确地理解ica.fit_transform(X)在做什么。这里对“X”应用了什么变换?
  2. “fastica”和“筋膜”有什么区别?这两个功能也有不同的文档页:
代码语言:javascript
复制
- FastICA: http: //scikit-learn.org/stable/modules/generated/sklearn.decomposition.FastICA.html#sklearn.decomposition.FastICA
- fastica: [http://ogrisel.github.io/scikit-learn.org/sklearn-tutorial/modules/generated/sklearn.decomposition.fastica.html](http://ogrisel.github.io/scikit-learn.org/sklearn-tutorial/modules/generated/sklearn.decomposition.fastica.html)

我的问题是,对于相同的输入数据,它们都返回不同的混合矩阵。据我所知,我没有做错什么事。

如果有人能解释这件事或者指出我做错了什么,那将是一个很大的帮助。谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-22 11:48:22

FastICA到底返回了什么?用于下列代码:在这个案子里什么是ica?

FastICA是一个类,因此对它的调用在.fastica函数上返回一个OOP包装器。换句话说,您将获得对FastICA类实例的引用,该实例存储初始配置(例如组件数量),并可用于对任何数据执行ica (通过fit/transform)。

我试图打印这个值,但没有返回任何内容。我试图找出'ica‘是什么,以便准确地理解ica.fit_transform(X)在做什么。这里对“X”应用了什么变换?

ICA找到解混合矩阵W,然后将其应用于X,从而fit_transform(X) == X.dot(W) (+一些白化等,如果您在构造函数中请求它)

“fastica”和“筋膜”有什么区别?这两个功能也有不同的文档页:

没有什么不同。fastica是一个围绕FastICA的面向对象的包装器,仅此而已。它实际上是在适合的时候调用筋膜

我的问题是,对于相同的输入数据,它们都返回不同的混合矩阵。据我所知,我没有做错什么事。

FastICA不是一个确定性的算法,因此每次都可以得到不同的解。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37964170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档