人工智能之梯度下降法(1)
前言:人工智能机器学习有关算法内容,请参见公众号“科技优化生活”之前相关文章。人工智能之机器学习主要有三大类:1)分类;2)回归;3)聚类。今天我们重点探讨一下梯度下降法GD^_^。
在机器学习算法中,对于很多监督学习模型,需要对原始的模型构建损失函数,接下来便是通过优化算法对损失函数进行优化,即最小化损失函数,寻找到最优的参数。在求解机器学习参数的优化算法中,使用较多的是基于梯度下降GD的优化算法,即通过梯度下降法GD来一步步的迭代求解,得到最小化的损失函数和模型参数值。
梯度下降法GD是迭代法的一种,可以用于求解最小二乘问题(线性和非线性都可以)。在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降GD是最常采用的方法之一,另一种常用的方法是最小二乘法。
梯度下降法概念:
梯度下降法GD(GradientDescent)是一个最优化算法,常用于机器学习和人工智能当中用来递归性地逼近最小偏差模型。
梯度下降法GD是最早最简单,也是最为常用的最优化方法。梯度下降法GD实现简单,当目标函数是凸函数时,梯度下降法GD的解是全局解。一般情况下,其解不保证是全局最优解,梯度下降法的速度也未必是最快的。
梯度下降法优化思想:
梯度下降法的优化思想是用当前位置负梯度方向作为搜索方向,因为该方向为当前位置的最快下降方向,所以也被称为是“最速下降法”。最速下降法越接近目标值,步长越小,前进越慢。
举例来理解优化思想:从山上的某一点出发,找一个最陡的坡走一步,即找梯度下降方向,到达一个点之后,再找最陡的坡,再走一步,不断的这么走,直到走到最低点。
梯度定义:
在微积分里面,对多元函数的参数求偏导数,把求得的各个参数的偏导数以向量的形式写出来,就是梯度。
求解过程:
因为一般情况下,梯度向量为0的话说明是到了一个极值点,此时梯度的幅值也为0.而采用梯度下降算法进行最优化求解时,算法迭代的终止条件是梯度向量的幅值接近0即可,可以设置个非常小的常数阈值。
梯度下降法优点:
梯度下降法有很多优点,其中,在梯度下降法的求解过程中,只需求解损失函数的一阶导数,计算代价较小,这使得梯度下降法能在很多大规模数据集上得到应用。梯度下降法的含义是通过当前点的梯度方向寻找到新的迭代点。
梯度下降法缺点:
1)靠近极小值时收敛速度减慢。
2)直线搜索时可能会产生一些问题。
3)可能会“之字形”地下降。
梯度下降法与牛顿法比较:
梯度下降法与牛顿法两者都是迭代求解方法。不过梯度下降法是梯度求解,而牛顿法/拟牛顿法是用二阶的海森矩阵的逆矩阵或伪逆矩阵求解。相对而言,使用牛顿法/拟牛顿法收敛更快。但是每次迭代的时间比梯度下降法长。
结语:
梯度下降法GD是一个最优化算法,常用于机器学习和人工智能当中用来递归性地逼近最小偏差模型。梯度下降法的优化思想是用当前位置负梯度方向作为搜索方向,该方向为当前位置的最快下降方向。梯度下降算法大部分情况下其效果是较好的。一定要特别注意学习速率的问题。其实还有很多方面会影响梯度下降算法,如梯度的消失与爆炸,这也是要额外注意的。最后,梯度下降算法目前无法保证全局收敛还将是一个持续性的数学难题。
后记:
针对一般梯度下降法的缺点,出现了不同的梯度下降法的变形或变种,请听下回分解。
(未完待续)
------以往文章推荐-----
领取专属 10元无门槛券
私享最新 技术干货