有人可以向我解释逻辑回归中成本函数和梯度下降方程之间的区别吗?
machine-learning
4
0

我正在通过Coursera上的Logistic回归上的ML课程,以及Manning Book Machine Learning in Action。我正在尝试通过在Python中实现所有内容来学习。

我无法理解成本函数和梯度之间的差异。网上有一些示例,人们在其中计算成本函数,然后在某些地方没有使用梯度下降函数w :=w - (alpha) * (delta)w * f(w)

两者之间有什么区别?

参考资料:
Stack Overflow
收藏
评论
共 2 个回答
高赞 时间 活跃

成本函数是您要最小化的东西。例如,您的成本函数可能是整个训练集的平方误差之和。梯度下降是一种用于找到多个变量的最小值的方法。因此,您可以使用梯度下降来最小化成本函数。如果您的成本是K个变量的函数,那么梯度就是长度K向量,它定义了成本增长最快的方向。因此,在梯度下降中,您遵循梯度的负值到成本最小的点。如果有人在机器学习环境中谈论梯度下降,则可能暗含了成本函数(这是您正在应用梯度下降算法的函数)。

收藏
评论

每当使用数据训练模型时,实际上都会为特定功能生成一些新值(预测值)。但是,该特定功能已经具有一些值,这些值是数据集中的实际值。我们知道预测值越接近其对应的实际值,模型越好。

现在,我们使用成本函数来衡量预测值与相应的实际值之间的接近程度。

我们还应考虑训练后的模型的权重负责准确预测新值。想象我们的模型是y = 0.9 * X + 0.1,对于不同的Xs,预测值不过是(0.9 * X + 0.1)。 [等式中的0.9和0.1只是要理解的随机值。]

因此,通过将Y视为与此x对应的实际值,成本公式开始衡量与Y的接近度(0.9 * X + 0.1)。

我们有责任为模型找到更好的权重(0.9和0.1),以降低成本(或将预测值逼近实际值)。

梯度下降是一种优化算法(我们还有其他一些优化算法),它的职责是在尝试使用不同权重的模型或确实更新权重的过程中找到最小成本值。

我们首先使用一些初始权重运行模型,然后通过梯度下降更新权重,并通过数千次迭代找到具有这些权重的模型成本,以找到最低成本。

一点是,梯度下降并未使权重最小,而只是在更新权重。该算法正在寻找最低成本。

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号