我在Coursera上学习机器学习。但我对梯度下降和代价函数有些困惑。什么时候以及在哪里应该使用它们?
回答:
J(θ)是通过试错法来最小化的,即尝试大量的值,然后检查输出。因此,在实践中,这意味着这项工作是手动完成的,而且耗时。
梯度下降基本上只是以自动化的方式做J(θ)所做的事情——逐步改变theta值或参数,直到我们希望到达一个最小值。这是一种迭代方法,模型向最陡下降的方向移动,即theta的最优值。
为什么使用梯度下降?它易于实现,是一种通用的优化技术,因此即使你改变了模型,它也能工作。如果你有很多特征,最好使用GD,因为在这种情况下,普通的J(θ)计算会变得非常昂贵。