返回介绍

数学基础

统计学习

深度学习

工具

Scala

六、FastICA

发布于 2023-07-17 23:38:23 字数 2784 浏览 0 评论 0 收藏 0

  1. FastICA类是scikit-learn提供的FastICA模型,其原型为:

    
    
    xxxxxxxxxx
    class sklearn.decomposition.FastICA(n_components=None, algorithm=’parallel’, whiten=True, fun=’logcosh’, fun_args=None, max_iter=200, tol=0.0001, w_init=None, random_state=None)[source]
    • n_components :一个整数或者None, 指定独立成分的数量。

      如果为None, 则独立成分的数量为 $ MathJax-Element-20 $ (观测样本的特征数)。

    • algorithm:一个字符串,指定求解FastICA 的算法。可以为:

      • 'parallel'
      • 'delfation'
    • whiten:一个布尔值,指定是否执行白化预处理。

      如果为false,则scikit-learn 并不会对数据进行白化预处理。这要求输入数据已经被白化了。

    • fun:一个字符串或者可调用对象,指定非线性函数 $ MathJax-Element-21 $ ,它是 $ MathJax-Element-22 $ 的原函数。可以为:

      • 'logcosh':表示 $ MathJax-Element-23 $ ,此时 $ MathJax-Element-24 $ 。
      • exp:表示 $ MathJax-Element-25 $ ,此时 $ MathJax-Element-26 $ 。
      • cube:表示 $ MathJax-Element-27 $ ,此时 $ MathJax-Element-28 $ 。
      • 一个可调用对象,参数为 $ MathJax-Element-29 $ ,返回值为元组:(函数值,梯度值)
    • fun_args:一个字典,用于为fun 提供关键字参数。

      如果fun='logcosh'fun_args 为空,则其默认值为 {'alpha':1.0}

    • max_iter: 一个整数,指定最大迭代次数。

    • tol:一个浮点数,指定迭代时的收敛阈值。

    • w_init:一个 (n_componets,n_componets) 形状的数组或者None, 指定了混合矩阵 $ MathJax-Element-32 $ 的初始化值。

    • random_state: 一个整数或者一个RandomState实例,或者None。指定随机数种子。

  2. 属性:

    • components_: 一个形状为(n_componets,n_features) 的矩阵,给出了分离矩阵 $ MathJax-Element-31 $ 。

    • mixing_: 一个形状为(n_features,n_components) 的矩阵,给出了混合矩阵 $ MathJax-Element-32 $ 。

    • n_iter_:一个整数,给出了迭代次数。

      • 如果算法是'deflation',则它是每个分量上迭代次数的最大值。
      • 否则它是算法收敛时的总迭代次数。
  3. 方法:

    • fit(X[, y]):训练模型。
    • transform(X):执行独立成分分离,返回独立因子数据集。
    • fit_transform(X[, y]):训练模型并执行独立成分分离,返回独立因子数据集。
    • inverse_transform(X):执行独立成分分离的逆运算,返回混合之后的观测数据集。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文