[英]difference between DictionaryLearning and MiniBatchDictionaryLearning in scikit-learn
我试图通过在Python
使用scikit-learn
lib来编写一些Dictionary Learning
代码。 但我找到了两个功能,两个功能看起来都一样。
我想知道它们之间有什么区别?
DictionaryLearning是一种完整批处理方法,其中整个数据在学习期间保存在内存中。
MiniBatchDictionaryLearning是一种小批量方法(每次迭代中只需要n =小批量大小的项目在内存中),其中支持partial_fit
(=适合小批量)可以在更大的实例上工作而不会过于强烈地占用内存。
虽然一般的想法是相同的,但这些算法是不同的,并针对不同的用例。
如果你可以使用前者和你的记忆,请使用它。 如果没有,请使用后者。
如果使用minibatch-variant,请记住,关于partial_fit仍有一个开放的bug。
可以在此处找到有关sklearn(其中提到MiniBatchDictionaryLearning)的大规模计算和特别是增量学习的概述。 它还提到了缺点:调整超参数小批量大小。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.