在Python中进行渐变下降的一种方法是自己编写代码。然而,考虑到它在机器学习中的概念有多受欢迎,我想知道是否有一个我可以导入的Python库,它给了我一个梯度下降方法(最好是小批量梯度下降,因为它通常比批量更好)和随机梯度下降,但如果我错了,请纠正我。
我检查过NumPy和SciPy但是找不到任何东西。我没有使用TensorFlow的经验,但查看了他们的在线API。我找到了tf.train.GradientDescentOptimizer,但是没有参数可以让我选择批量大小,所以我对它实际上是模糊的。
抱歉,如果我听起来很天真。我自学了很多东西。
答案 0 :(得分:0)
说明明显的梯度下降是优化功能。当您使用某些库中的梯度下降的某些实现时,您需要使用此库的结构指定该函数。例如,函数在TensorFlow中表示为计算图。你不能只采取一些纯python函数,并要求TensorFlow的梯度下降优化器来优化它。
如果您的用例允许您使用TensorFlow计算图(以及所有相关机制 - 如何运行函数,计算其梯度),tf.train.*Optimizer
将是一个明显的选择。否则,它无法使用。
如果你需要点亮,https://github.com/HIPS/autograd可能是所有流行图书馆的最佳选择。它的优化器可以在这里找到:https://github.com/HIPS/autograd/blob/master/autograd/misc/optimizers.py