我正在学习 Coursera 上关于逻辑回归的 ML 课程,以及 Manning 的《机器学习实践》一书。我正在尝试通过用 Python 实现所有内容来学习。
我无法理解成本函数和梯度之间的区别。网上有一些例子,人们计算成本函数,但有些地方他们不计算成本函数,而只是使用梯度下降函数w :=w - (alpha) * (delta)w * f(w)
.
如果有的话,两者有什么区别?
每当您使用数据训练模型时,您实际上都会为特定功能生成一些新值(预测)。但是,该特定特征已经具有一些值,这些值是数据集中的真实值。我们知道预测值越接近相应的实际值,模型就越好。
现在,我们使用成本函数来衡量预测值与其相应的实际值的接近程度。
我们还应该考虑到训练模型的权重负责准确预测新值。想象一下,我们的模型是 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),以得出最低的成本(或更接近真实值的预测值)。
梯度下降是一种优化算法(我们还有一些其他优化算法),它的职责是在尝试具有不同权重的模型或更新权重的过程中找到最小成本值。
我们首先使用一些初始权重运行我们的模型,然后梯度下降更新我们的权重,并在数千次迭代中使用这些权重找到我们的模型的成本,以找到最小成本。
一点是梯度下降并没有最小化权重,它只是更新它们。该算法正在寻找最小成本。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)