sklearn.decomposition.dict_learning_online

sklearn.decomposition.dict_learning_online(X, n_components=2, *, alpha=1, n_iter=100, return_code=True, dict_init=None, callback=None, batch_size=3, verbose=False, shuffle=True, n_jobs=None, method='lars', iter_offset=0, random_state=None, return_inner_stats=False, inner_stats=None, return_n_iter=False, positive_dict=False, positive_code=False, method_max_iter=1000)

[源码]

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

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

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

V是字典,U是稀疏代码。这是通过对输入数据进行切片,在小批上重复迭代来完成的。

用户指南中阅读更多内容

参数 说明
X array of shape (n_samples, n_features)
数据矩阵
n_components int,
要提取的字典原子数。
alpha float,
稀疏的控制参数。
n_iter int,
要执行的小批迭代的数量。
return_code boolean,
是否也返回代码U或只是字典V。
dict_init array of shape (n_components, n_features),
用于热重启场景的字典的初始值。
callback callable or None, optional (default: None)
可调用的,每5次迭代调用一次
batch_size int,
每批取样的数量。
verbose bool, optional (default: False)
控制程序的冗长。
shuffle boolean,
是否在将数据分拆成批之前打乱数据。
n_jobs int or None, optional (default=None)
要运行的并行作业数量。None是1,除非在joblib.parallel_backend上下文。-1表示使用所有处理器。参详见术语表
method {‘lars’, ‘cd’}
ars:使用最小角度回归方法求解lasso问题(linear_model.lars_path) cd:使用坐标下降方法计算lasso解(linear_model.Lasso)。如果估计的组件是稀疏的,Lars会更快。
iter_offset int, default 0
用于初始化的字典上先前完成的迭代次数。
random_state int, RandomState instance or None, optional (default=None)
用于在没有指定dict_init时初始化字典,在shuffle设置为True时随机地洗牌数据,以及更新字典。在多个函数调用中传递可重复的结果。详见术语表
return_inner_stats boolean, optional
返回内部统计信息A(字典协方差)和B(数据近似)。在在线设置中重新启动算法非常有用。如果return_inner_stats为真,则忽略return_code
inner_stats tuple of (A, B) ndarrays
由算法保存的内部充分统计信息。在在线设置中,在初始化时传递它们非常有用,这样可以避免丢失演化的历史。A (n_components, n_components)是字典协方差矩阵。B (n_features, n_components)是数据近似矩阵
return_n_iter bool
是否返回迭代次数。
positive_dict bool
查找字典时是否要加强积极性。

新版本0.20。
positive_code bool
在寻找代码时是否加强积极性。

新版本0.20。
method_max_iter int, optional (default=1000)
解决套索问题时要执行的最大迭代次数。

新版本0.22。
返回值 说明
code array of shape (n_samples, n_components),
稀疏代码(仅在return_code=True时返回)
dictionary array of shape (n_components, n_features),
字典学习问题的解决方法
n_iter int
运行的迭代次数。仅当return_n_iter设置为True时返回。

另见: