ML中的梯度下降
什么是梯度下降? 梯度下降是一个函数,旨在搜索函数中的局部最小值。 局部最小值 让我们从定义什么是最小值开始。最小值是函数上的最低 y 点,这意味着它是“最低”点。现在本地人从哪里来?为了更好地理解,您可以在desmos上绘制以下函数。如果您通过desmosy=0.2x^4+2x^3+5x^2+3x,您会很快看到,有两个单独的低点,其中一个比另一个深。想象一下,你不能画出整个图,因为你想节省计算能
什么是梯度下降?
梯度下降是一个函数,旨在搜索函数中的局部最小值。
局部最小值
让我们从定义什么是最小值开始。最小值是函数上的最低 y 点,这意味着它是“最低”点。现在本地人从哪里来?为了更好地理解,您可以在desmos上绘制以下函数。如果您通过desmosy=0.2x^4+2x^3+5x^2+3x
,您会很快看到,有两个单独的低点,其中一个比另一个深。想象一下,你不能画出整个图,因为你想节省计算能力。现在,如果您只能看到图表的右侧部分,您会指向(-0.4/-0.525)
并说:“这一定是最小值。两边都上升了”,但并不知道它只是局部最小值。当我们查看函数时,这将更有意义
函数是如何工作的?
要理解这个函数,你需要一点微积分知识。如果你已经有了,这将更有意义。
想象你自己是函数曲线顶部的一个球,在这个例子中我们仍然使用y=0.2x^4+2x^3+5x^2+3x
,因为它完美地展示了我们正在寻找的东西。现在这个球沿着我们的函数向下滚动,并且总是沿着向下的方向滚动,因为重力把它拉下来。我们可以用一些入门级的微积分来计算斜率的方向和倾斜度。我们只需要对函数求导即可。对于f(x) = x^2
,我们的导数是f'(x) = 2x
。现在,如果我们的导数的乘积是正数,我们总是向左走,如果它是负数,我们总是向右走。回到我们的球示例:如果现在这个球滚下我们的函数并到达(-0.4/-0.525)
,由于重力,他将被困在那个洞中,即使它不是我们整个函数中最深的洞。
更多推荐
所有评论(0)