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

okt*_*odi 50 machine-learning

我正在阅读关于Logistic回归的课程ML课程以及曼宁书机学习行动.我正在尝试通过在Python中实现所有内容来学习.

我无法理解成本函数和渐变之间的区别.网上有人们计算成本函数的例子,然后有些地方他们没有,只是采用梯度下降函数w :=w - (alpha) * (delta)w * f(w).

两者有什么区别?

Rei*_*amn 112

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

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

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

因此,通过将Y视为对应于该x的实数值,成本公式将用于测量与Y的接近程度(0.9*X + 0.1).

我们负责为我们的模型找到更好的权重(0.9和0.1)以获得最低成本(或者更接近真实值的预测值).

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

我们首先运行我们的模型,使用一些初始权重和梯度下降更新我们的权重,并在数千次迭代中找到具有这些权重的模型的成本,以找到最小成本.

一点是梯度下降不是最小化权重,它只是更新它们.该算法正在寻找最低成本.

  • 美丽的答案.:) (2认同)
  • 总而言之,梯度下降将找到随机的0.9和0.1,以使我们的预测值尽可能接近真实值。 (2认同)

bog*_*ron 80

成本函数是您希望最小化的.例如,您的成本函数可能是训练集上的平方误差之和.梯度下降是一种查找多个变量函数最小值的方法.因此,您可以使用梯度下降来最小化您的成本函数.如果您的成本是K变量的函数,则梯度是长度K向量,它定义成本增长最快的方向.因此,在梯度下降中,您可以跟随渐变的负值,直至成本最低.如果有人在机器学习环境中讨论梯度下降,则可能隐含成本函数(它是您应用梯度下降算法的函数).

  • 正确.但要清楚,您不要使用单个渐变值.当您沿着渐变的负方向移动时,渐变会发生变化(除非您在超平面上),因此当您沿着最快速降低成本的方向移动时,您会不断更新渐变,直到达到最小值(希望,全球最低限度). (2认同)