当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python sklearn dict_learning用法及代码示例


本文简要介绍python语言中 sklearn.decomposition.dict_learning 的用法。

用法:

sklearn.decomposition.dict_learning(X, n_components, *, alpha, max_iter=100, tol=1e-08, method='lars', n_jobs=None, dict_init=None, code_init=None, callback=None, verbose=False, random_state=None, return_n_iter=False, positive_dict=False, positive_code=False, method_max_iter=1000)

解决字典学习矩阵分解问题。

通过求解来找到近似数据矩阵 X 的最佳字典和相应的稀疏代码:

(U^*, V^*) = argmin 0.5 || X - U V ||_Fro^2 + alpha * || U ||_1,1
             (U,V)
            with || V_k ||_2 = 1 for all  0 <= k < n_components

其中 V 是字典,U 是稀疏代码。 ||.||_Fro 代表 Frobenius 范数,||.||_1,1 代表entry-wise 矩阵范数,它是矩阵中所有条目的绝对值之和。

在用户指南中阅读更多信息。

参数

Xndarray 形状(n_samples,n_features)

数据矩阵。

n_componentsint

要提取的字典原子数。

alphaint

稀疏性控制参数。

max_iter整数,默认=100

要执行的最大迭代次数。

tol浮点数,默认=1e-8

停止条件的公差。

method{‘lars’, ‘cd’},默认='lars'

使用的方法:

  • 'lars' : 使用最小角度回归法求解套索

    问题(linear_model.lars_path);

  • 'cd' :使用坐标下降法计算 Lasso 解(linear_model.Lasso)。如果估计的组件稀疏,Lars 会更快。
n_jobs整数,默认=无

要运行的并行作业数。 None 表示 1,除非在 joblib.parallel_backend 上下文中。 -1 表示使用所有处理器。有关详细信息,请参阅词汇表。

dict_initndarray 形状(n_components,n_features),默认=None

热重启方案的字典初始值。仅在 code_initdict_init 不是 None 时使用。

code_initndarray 形状(n_samples,n_components),默认=None

热重启场景的稀疏代码的初始值。仅在 code_initdict_init 不是 None 时使用。

callback可调用,默认=无

每五次迭代调用一次的可调用对象

verbose布尔,默认=假

控制过程的详细程度。

random_stateint、RandomState 实例或无,默认=无

用于随机初始化字典。传递 int 以获得跨多个函数调用的可重现结果。请参阅术语表。

return_n_iter布尔,默认=假

是否返回迭代次数。

positive_dict布尔,默认=假

查找字典时是否强制执行积极性。

positive_code布尔,默认=假

查找代码时是否强制执行积极性。

method_max_iter整数,默认=1000

要执行的最大迭代次数。

返回

codendarray 形状(n_samples,n_components)

矩阵分解中的稀疏码因子。

dictionaryndarray 形状(n_components,n_features),

矩阵分解中的字典因子。

errors数组

每次迭代的错误向量。

n_iterint

运行的迭代次数。仅当 return_n_iter 设置为 True 时返回。

相关用法


注:本文由纯净天空筛选整理自scikit-learn.org大神的英文原创作品 sklearn.decomposition.dict_learning。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。