python - 有没有我可以导入梯度下降函数/方法的 Python 库?

标签 python tensorflow import gradient-descent mini-batch

在 Python 中进行梯度下降的一种方法是自己编写代码。然而,考虑到它在机器学习中的流行程度,我想知道是否有一个我可以导入的 Python 库为我提供梯度下降方法(最好是小批量梯度下降,因为它通常优于批量和随机梯度下降,但如果我错了请纠正我)。

我检查了 NumPy 和 SciPy,但找不到任何东西。我没有使用 TensorFlow 的经验,但浏览了他们的在线 API。我找到了 tf.train.GradientDescentOptimizer,但没有让我选择批量大小的参数,所以我不太清楚它到底是什么。

对不起,如果我听起来很幼稚。我正在自学很多这样的东西。

最佳答案

显而易见,梯度下降就是优化一个函数。当您使用某个库中的梯度下降的某些实现时,您需要使用该库的构造指定函数。例如,函数在 TensorFlow 中表示为计算图。您不能只使用一些纯 Python 函数并要求 TensorFlow 的梯度下降优化器对其进行优化。

如果您的用例允许您使用 TensorFlow 计算图(以及所有相关的机器 - 如何运行该函数,计算其梯度,),tf.train.*Optimizer 将是显而易见的选择。否则无法使用。

如果您需要轻便的东西,https://github.com/HIPS/autograd可能是所有流行库中的最佳选择。它的优化器可以在这里找到:https://github.com/HIPS/autograd/blob/master/autograd/misc/optimizers.py

关于python - 有没有我可以导入梯度下降函数/方法的 Python 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50225723/

相关文章:

python - 什么是 python Web 框架

Python 将文件中的行拆分为两个单独的列表

python - 多标签分类 - 训练超参数不正确?

python - 为什么在 Python 3 的 'sys.modules' 中没有导入模块?

java - 我可以将导入放入单独的文件中吗?

python - Hyperopt 与 Spark MlLib 集成

python - Tensorflow - 使用批处理进行预测

python - tensorflow:我的 .tfrecords 文件有什么问题?

python - 重复推理后模型推理运行时间增加

python - 在不重新启动交互式 session 的情况下使用新安装的模块