56

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

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

如果有的话,两者有什么区别?

4

5 回答 5

124

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

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

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

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

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

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

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

一点是梯度下降并没有最小化权重,它只是更新它们。该算法正在寻找最小成本。

于 2016-11-06T01:41:05.420 回答
88

成本函数是您想要最小化的东西。例如,您的成本函数可能是您的训练集上的平方误差之和。梯度下降是一种求多变量函数最小值的方法。所以你可以使用梯度下降来最小化你的成本函数。如果您的成本是 K 个变量的函数,那么梯度就是长度为 K 的向量,它定义了成本增长最快的方向。所以在梯度下降中,你跟随梯度的负值到达成本最小的点。如果有人在机器学习上下文中谈论梯度下降,则可能隐含成本函数(它是您应用梯度下降算法的函数)。

于 2012-11-29T13:50:56.383 回答
2

想起来很奇怪,但是对于一条线与数据点的“准确”程度,有不止一种衡量标准。

为了访问一条线与数据的拟合程度,我们有一个“成本”函数,它可以比较预测值和实际值,并为它的错误程度提供“惩罚”。

惩罚 = cost_funciton(预测的,实际的)

一个简单的成本函数可能只取预测值和实际值之间的差异。

更复杂的函数将使该值平方,因为我们宁愿有许多小错误而不是一个大错误。

此外,每个点对移动线都有不同的“敏感度”。有些点对运动的反应非常强烈。其他人的反应不那么强烈。

通常,您可以做出权衡,向敏感点移动,远离不敏感点。在那种情况下,你得到的比你放弃的多。

“梯度”是一种衡量每个点对移动线的敏感程度的方法。

这篇文章很好地描述了为什么会有不止一个度量,以及为什么有些点比其他点更敏感:

https://towardsdatascience.com/wrapping-your-head-around-gradient-descent-with-pictures-3fbd810235f5?source=friends_link&sk=7117e5de8c66bd4a4c2bb2a87a928773

于 2020-01-28T17:30:58.097 回答
1

让我们以二元分类的逻辑回归模型为例。任何给定输入的模型输出(预测值)将在训练时相对于实际输出(预期值)偏移(偏差)。因此,模型需要以最小的误差(损失)进行训练,以便模型能够以高精度执行。

用于找到发生最小误差(损失)的参数(在线性方程的情况下,y = mx+c)值的函数称为成本函数/损失函数。损失函数是用于查找训练样本单行/记录损失的术语,成本函数是用于查找整个训练数据集损失的术语。

Now, How do we find the parameter(m and c in our case) values at which the minimum loss occurs? Its by using gradient descent algorithm using the equation, which helps us to find the points at which the minimum loss occurs and the parameters values at this points are considered for model building (let say y = 0.5x + 2) where m=.5 and c=2 are the points at which the loss is minimum.

于 2020-10-10T14:05:24.307 回答
0

成本函数就像您为一个好的模型构建模型的成本应该是最低的。为了找到最小成本函数,我们使用梯度下降法。给出系数值以确定最小成本函数

于 2018-08-09T07:48:04.267 回答