在很多机器学习、深度学习算法中,都会选取梯度下降算法求解。那么什么是梯度下降算法、梯度下降算法有什么问题、有什么优化方法,将是本文要回答的主要问题。
一、梯度下降算法:
1、问题描述:
在机器学习、深度学习算法中,很多时候我们需要解决的是如下的问题:
给定一个损失函数(可以简单认为损失函数是表示该模型到底有多不好的一个指标),我们希望找到一组参数,使得损失函数最小。
因此,假设损失函数用L表示,参数用w表示。我们的问题转化为:
,求解
。
2、梯度下降:
梯度下降算法是一种非常经典的求极小值的算法。一般包含如下几个步骤:
1、给定损失函数L、学习率、参数初始值(参数初始值也可以通过随机选取)
2、对参数进行更新
3、判断算法是否结束,若未结束,返回第2步执行
3、梯度下降算法的问题:
1)梯度下降算法每一次更新都会需要对所有的样本进行计算,算法可能收敛比较慢;
2)梯度下降算法可能会在局部最优解、或者鞍点处停止优化;
3&#