有梯度优化算法:随机梯度下降(SGD):一种最基本的有梯度优化算法,它根据目标函数的负梯度方向更新参数,以达到最小化目标函数的目的。SGD可以分为批量梯度下降法、随机梯度下降法和小批量梯度下降法,根据每次更新参数时使用的样本数量不同而有所区别。动量(Momentum):一种有助于抑制SGD振荡并加快SGD向最小值收敛的方法,它将过去时间的梯度向量添加到当前梯度向量,从而增加稳定性和收敛速度。Nesterov动量(NAG):一种在动量方法中添加了一个校正因子的变种,它先根据历史动量更新参数,然后再计算梯度,从而提前知道参数的更新方向和速度Adagrad:一种自适应学习率的有梯度优化算法,它根据参数的历史累积梯度来调整学习率,使得每个参数都有不同的学习率。Adagrad可以适应稀疏特征和非平稳目标函数,但是也存在学习率过快衰减的问题。Adadelta:一种改进了Adagrad学习率衰减问题的有梯度优化算法,它使用一个指数衰减平均来代替历史累积梯度,从而避免学习率趋于零。Adadelta也不需要设置全局学习率,而是根据参数的更新幅度来自适应地调整学习率。RMSprop:一种类似于Adadelta的有梯度优化算法,它也使用一个指数衰减平均来计算历史累积梯度,但是引入了一个超参数来控制衰减速率。RMSprop可以有效地处理非平稳目标函数和RNN等复杂模型。Adam:一种结合了动量和自适应学习率的有梯度优化算法,它使用了两个指数衰减平均来分别计算历史累积梯度和历史累积动量,并对其进行偏差修正,从而得到更准确的估计值。Adam可以适应不同的问题和数据特征,并且具有较好的收敛性能。
无梯度优化算法:遗传算法(GA):一种模拟自然界生物进化过程的无梯度优化算法,它通过对解进行编码、选择、交叉和变异等操作,来模拟自然选择和遗传机制,从而在解空间中寻找最优解。遗传算法具有很强的全局搜索能力,但是计算开销较大,且易陷入早熟收敛。粒子群优化算法(PSO):一种模拟鸟群觅食行为的无梯度优化算法,它通过定义每个粒子(候选解)的位置和速度,以及全局最优解和个体最优解,来更新粒子的运动状态,从而在解空间中寻找最优解。粒子群优化算法具有较好的收敛性能,但是容易受到初始值的影响,且难以处理复杂的约束条件。