如何理解机器学习中的梯度下降算法,它有什么作用?
1 522
0
该提问暂无详细描述
收藏
2021-01-08 15:50 更新 🍊小桔子 •  2437
共 1 个回答
高赞 时间
0

简单地说,梯度下降法是一种辅助算法,目的是通过试错获得所需的最优解。 那么问题是什么?解决方法是什么? 例如,有一个被称为线性回归模型的有监督机器学习模型,在这个模型中,我们得到了一个特定的数据集。比如说,一个房子的销售率是其大小的函数,所以,售价=函数(大小)。 我们将给定的数据集绘制在一个图中,根据这个模型,试图通过这个图绘制出最佳的直线,这样它就覆盖了给定的大部分值。通过这样做,我们可以得出一个相对准确的房子的销售价格,其大小不在我们的数据集。 现在,问题在于为我们想要画的线找到合适的系数,也就是在直线方程中求m和c,使y=mx+c。 所以我们提出了一个叫做损失函数的函数,它有助于确定这些系数值。它将一个损失值与一对特定的系数相关联,且数据的范围很大。在这些成本输出中,我们选择最小的一个,因为只有最小的成本值才能保证直线与数据集的最小偏差。 梯度下降算法能让我们在给定所有损失值的情况下找到一条到达最低损失值的路径。下面我将用爬山的比喻来解释梯度下降下降算法的原理: 从一对特定的系数开始,并查看它们的损失值。之后,它会四处寻找一个比现在更低的损失值,并移到较低的值,然后相应地更新系数。在一段特定的时间之后,它达到了一个局部最小值,超过这个最小值,它就不能继续前进。因此,它找到了正确的一对系数,在这一点上,它不能进一步进行。 注:对于线性回归模型,只有一个最小值,它是全局最小值。因此我们相当于找到了直线所需的系数。而在其他情况下,所达到的局部最小值取决于所考虑的初始系数。

收藏
2021-01-08 16:09 更新 Lisa •  1796