python人工智能深度学习算法优化

作者:Swayzzu 时间:2023-04-21 15:46:40 

1.SGD

随机梯度下降

随机梯度下降和其他的梯度下降主要区别,在于SGD每次只使用一个数据样本,去计算损失函数,求梯度,更新参数。这种方法的计算速度快,但是下降的速度慢,可能会在最低处两边震荡,停留在局部最优。

2.SGDM

SGM with Momentum:动量梯度下降

动量梯度下降,在进行参数更新之前,会对之前的梯度信息,进行指数加权平均,然后使用加权平均之后的梯度,来代替原梯度,进行参数的更新。如此,更新的时候,都会包含之前的梯度信息。

计算的时候,会在加权平均的梯度上加上一个beta参数,原梯度加上1-beta,二者之和就是用于进行参数更新的动量梯度。

由于有之前的梯度信息,因此该方法相当于对梯度下降加入了一个惯性。如果前面的是下降,那么此处会下降更快,如果突然接触到了最低点,也会因为有动量,而再往前走走。也就是说当前的方向,由此前积累的方向,和现在的梯度方向共同决定。因此,训练过程的震荡幅度会变小,速度变快。

SGDM速度没Adam快,但泛化能力好。

3.Adam

Adam是一种在深度学习模型中用来替代随机梯度下降的优化算法

它是SGDM和RMSProp算法的结合,训练速度快,泛化能力不太行。

python人工智能深度学习算法优化

4.Adagrad

Adaptive Gradient自适应步长

该方法为现在的梯度*步长添加了一个系数:1/(历史梯度的平方和,再开根号)

python人工智能深度学习算法优化

在数据分布稀疏的时候,能更好地利用稀疏梯度的信息,比标准的SGD更有效地收敛。

5.RMSProp

梯度平方根root mean square prop

python人工智能深度学习算法优化

该方法和Adagrad的区别就是分母不一样,使得系数不会因为前几步的梯度太大而导致分母太大,从而导致系数变得太小而走不动了。类似于Momentum的计算方式。

6.NAG

Nesterov Accelerated Gradient,是在SGD和SGDM的基础上的改进,在SGDM中,采用的梯度方向,是由当前的梯度方向,以及前面累积的梯度方向共同决定,但在NAG中,是先使用累积的动量计算一次,得到下一次的梯度方向,再把下一个点的梯度方向,与历史累积动量相结合,计算现在这个时刻的累计动量。

python人工智能深度学习算法优化

来源:https://blog.csdn.net/Swayzzu/article/details/120953400

标签:python,人工智能,算法优化
0
投稿

猜你喜欢

  • Python模块、包(Package)概念与用法分析

    2022-09-02 13:06:22
  • Java实现上传Excel文件并导入数据库

    2024-01-22 02:47:44
  • 使用IP地址来统计在线人数方法

    2007-08-13 12:51:00
  • 使用xshell实现代理功能并navicat for MySQL 进行测试

    2024-01-23 19:59:05
  • Python编程之多态用法实例详解

    2022-08-01 23:42:31
  • python循环之彩色圆环实现示例

    2022-02-24 07:22:32
  • pyqt5 实现 下拉菜单 + 打开文件的示例代码

    2023-12-17 09:20:28
  • Oracle 插入超4000字节的CLOB字段的处理方法

    2009-07-12 18:52:00
  • 总结SQL执行进展优化方法

    2024-01-13 22:38:44
  • JavaScript开发时的五个小提示

    2007-11-21 19:54:00
  • PHP获取表单所有复选框的值的方法

    2024-05-13 09:24:34
  • 你知道怎么在淘宝里进行投诉吗?

    2008-06-04 12:00:00
  • Python函数递归调用实现原理实例解析

    2023-01-16 12:00:52
  • 对Python中 \\r, \\n, \\r\\n的彻底理解

    2022-09-14 07:00:15
  • python 实现提取PPT中所有的文字

    2023-05-01 04:21:35
  • JS简单实现文件上传实例代码(无需插件)

    2024-04-10 16:19:24
  • 简介Python的collections模块中defaultdict类型的用法

    2021-01-04 20:14:54
  • 必备 SQL 查询优化技巧提升网站访问速度

    2024-01-18 23:59:37
  • SQL Server Bulk Insert 只需要部分字段时的方法

    2011-10-24 19:44:49
  • python的绘图工具matplotlib使用实例

    2023-10-09 13:23:28
  • asp之家 网络编程 m.aspxhome.com