【笔记】梯度下降法的简单了解

梯度下降法

梯度下降法和先前学习的算法有着明显的不同

他本身不是一个机器学习的算法,它既不是监督学习也不是非监督学习,其是一种基于搜索的最优化的方法,作用是最小化一个损失函数,相应的,我们想要最大化一个效用函数的话,就要用梯度上升法,最小化方面是很常用梯度下降法的

从二维平面上看,可以发现其本质就是寻找一个参数使得损失函数最小,其中纵轴为损失函数J

对相应的点进行求导,其中导数代表着参数变化的时候,损失函数相应的变化,直线和曲线上导数都可代表斜率(高数基本的东西,不再赘述),其中,导数还可以代表方向,对应损失函数增大的方向,可以得到一个数值

其中导数前的数值η是先确定好的

我们需要一直计算,直到导数等于0(即取极值),就像是一个球一路滚落,直到最深处

其中这个速度是由学习率η决定的,其取值会影响到获得最优解的速度,如果取值不合适的话,甚至有可能出现得不到最优解的情况,太小就会减慢学习速度,太大甚至有可能导致不收敛,η相当于是梯度下降法的超参数,因此我们可是使用调参的方式来调整到最好的情况

而在事实上,并不是所有的函数都有唯一的极值点,像是线性回归这种损失函数就是具有唯一的最优解的,但是更多的时候,我们所找到的第一个极值点并不是最终的最好的解,可能还存在更好的解,这样我们称第一个点为局部最优解,最小值点为全局最优解

这样的情况下也是有解决方案的,我们可以多次运行,对初始点进行随机化,这样每次运行结果比较一下,逐步尝试,有可能找出全局最优解

这样我们发现,梯度下降法的初始点的位置一样也是一个超参数,其是非常重要的

感谢观看,文笔有限,博客不出彩,还请多多见谅
原文地址:https://www.cnblogs.com/jokingremarks/p/14285005.html