是否有 Python 库,我可以在其中导入梯度下降 function/method?
Is there a Python library where I can import a gradient descent function/method?
在 Python 中进行梯度下降的一种方法是自己编写代码。然而,考虑到它在机器学习中的流行程度,我想知道是否有一个 Python 库可以导入,它为我提供了梯度下降法(最好是小批量梯度下降,因为它通常比批量更好和随机梯度下降,但如果我错了请纠正我)。
我检查了 NumPy 和 SciPy 但找不到任何东西。我没有使用 TensorFlow 的经验,但浏览了他们的在线 API。我找到了 tf.train.GradientDescentOptimizer,但是没有让我选择批量大小的参数,所以我不太清楚它到底是什么。
对不起,如果我听起来很幼稚。我正在自学很多这些东西。
显而易见,梯度下降是在优化一个函数。当您使用某个库中的梯度下降的某些实现时,您需要使用该库的构造指定函数。例如,函数在 TensorFlow 中表示为计算图。您不能只使用一些纯 python 函数并要求 TensorFlow 的梯度下降优化器对其进行优化。
如果您的用例允许您使用 TensorFlow 计算图(以及所有相关的机器 - 如何 运行 函数,计算其梯度,),tf.train.*Optimizer
将是一个显而易见的选择。否则无法使用。
如果您需要轻便的东西,https://github.com/HIPS/autograd is probably the best option of all the popular libraries. Its optimizers can be found here: https://github.com/HIPS/autograd/blob/master/autograd/misc/optimizers.py
在 Python 中进行梯度下降的一种方法是自己编写代码。然而,考虑到它在机器学习中的流行程度,我想知道是否有一个 Python 库可以导入,它为我提供了梯度下降法(最好是小批量梯度下降,因为它通常比批量更好和随机梯度下降,但如果我错了请纠正我)。
我检查了 NumPy 和 SciPy 但找不到任何东西。我没有使用 TensorFlow 的经验,但浏览了他们的在线 API。我找到了 tf.train.GradientDescentOptimizer,但是没有让我选择批量大小的参数,所以我不太清楚它到底是什么。
对不起,如果我听起来很幼稚。我正在自学很多这些东西。
显而易见,梯度下降是在优化一个函数。当您使用某个库中的梯度下降的某些实现时,您需要使用该库的构造指定函数。例如,函数在 TensorFlow 中表示为计算图。您不能只使用一些纯 python 函数并要求 TensorFlow 的梯度下降优化器对其进行优化。
如果您的用例允许您使用 TensorFlow 计算图(以及所有相关的机器 - 如何 运行 函数,计算其梯度,),tf.train.*Optimizer
将是一个显而易见的选择。否则无法使用。
如果您需要轻便的东西,https://github.com/HIPS/autograd is probably the best option of all the popular libraries. Its optimizers can be found here: https://github.com/HIPS/autograd/blob/master/autograd/misc/optimizers.py