我正在Coursera上学习逻辑回归的机器学习课程,同时也在阅读Manning的书《机器学习实战》。我试图通过在Python中实现所有内容来学习。
我无法理解成本函数和梯度之间的区别。网上有一些例子,人们计算成本函数,而在其他地方,他们没有计算成本函数,直接使用梯度下降函数 w :=w - (alpha) * (delta)w * f(w)
。
如果有的话,两者之间有什么区别?
回答:
成本函数是你想要最小化的对象。例如,你的成本函数可能是训练集上误差平方和。梯度下降是一种寻找多变量函数最小值的方法。因此,你可以使用梯度下降来最小化你的成本函数。如果你的成本是K个变量的函数,那么梯度就是一个长度为K的向量,它定义了成本增加最快的方向。因此,在梯度下降中,你沿着梯度的负方向前进,直到成本达到最小值。如果有人在机器学习的背景下谈论梯度下降,成本函数可能是隐含的(它是你应用梯度下降算法的函数)。