目录
1.梯度下降问题
梯度下降是一种找到最佳拟合线的工具。
首先梯度下降和下山的过程非常相似,我们有一个可微分的函数。这个函数就代表着一座山。我们的目标就是找到这个函数的最小值,也就是山底。根据之前的场景假设,最快的下山的方式就是找到当前位置最陡峭的方向,然后沿着此方向向下走,对应到函数中,就是找到给定点的梯度 ,然后朝着梯度相反的方向,就能让函数值下降的最快!因为梯度的方向就是函数之变化最快的方向(在后面会详细解释)所以反复利用就可以找到最小值.
梯度下降法,又称最速下降法。1847年由著名的数学家柯西Cauchy给出。
基本思想
假设我们爬山,如果想最快的上到山顶,那么我们应该从山势最陡的地方上山。也就是山势变化最快的地方上山。
同样,如果从任意一点出发,需要最快搜索到函数最大值,那么我们也应该从函数变化最快的方向搜索。
函数变化最快的方向是什么呢?
函数的梯度。
如果函数为一元函数,梯度就是该函数的导数
如果为二元函数,梯度定义为:
如果需要找的是函数极小点,那么应该从负梯度的方向寻找,该方法称之为梯度下降法。
要搜索极小值C点,在A点必须向x增加方向搜索,此时与A点梯度方向相反;在B点必须向x减小方向搜索,此时与B点梯度方向相反。总之,搜索极小值,必须向负梯度方向搜索。
数学公式 Θ1=Θ0-learning_rate▽J(Θ)→evaluatedatΘ0
1.其中 learning_rate 是一个常量,用于调节每次更新的导数的百分比。调整 Learning_rate 值主要是用于防止w更新步伐太小或太大,或者避免梯度爆炸(梯度太大)或梯度消失的问题(梯度太小)。
2.Θ0是选择的初始位置,可自行选择
3.J是对公式进行求导的,单变量函数是直接可以对其求导的,多变量函数需要分别对不同变量求导
2.梯度下降简单解释
例子:y=(x-2.5)²+3 手写计算过程,下面有代码: