Python实现SPGD(SGD)优化算法

SPGD(随机并行梯度下降)算法可以应用于多通道误差补偿,
其实他的优化原理是在一个具有较大误差的并行数组A的基础上。


在每个通道上加上和减去一个更小的随机数B。

然后根据一个评判标准(例如标准差d)来选择最初的数组向着那
个方向做出微小偏移。这个微小偏移根据B和认为选择的步长计算
得到。 经过很多次这种计算可以让这个标准差d越来越小,最终稳
定在某一个值。


对应的矫正前后的曲线如下图所示:

具体程序

import numpy as np
import matplotlib.pyplot as pltInitialPhase = np.random.randn(128)*20        # 随机产生一个±20以内的随机数组
LenSignal = len(InitialPhase)                 # 计算数据长度
GateNum = np.arange(0,LenSignal)              # 给128个通道编号
InitialStd = np.std(InitialPhase)             # 计算标准差——作为评价标准
plt.figure()
plt.plot(GateNum,InitialPhase,label = "$Before Corecct$",color = 'r')
plt.xlabel('Gate Number')
plt.ylabel('Noise Amplitude')
plt.title('Initial Phase')NoiseAmplitude = 1                            # 扰动信号的幅度
StepLong = 2                                  # 调整步长
CalculateTime = 10000                         # 计算次数
ResultPhaseStd = np.zeros(CalculateTime)      # 生成记录空矩阵
ResultPhase = InitialPhase                    # 转存
for i in range(1,CalculateTime+1):RandomNoise0 = np.random.randn(LenSignal) # 随机产生一个随机矩阵RandomNoise = RandomNoise0/np.max(RandomNoise0)*NoiseAmplitude   # 归一化AddPhase = ResultPhase+RandomNoise        # 初始矩阵与随机矩阵相加,随后计算其标准差AddPhaseStd= np.std(AddPhase)SubtractPhase = ResultPhase-RandomNoise   # 初始矩阵与随机矩阵相减,随后计算其标准差SubtractPhaseStd = np.std(SubtractPhase)CorecctResult = (AddPhaseStd-SubtractPhaseStd)*NoiseAmplitude*StepLong     # 根据标准差计算修正矩阵ResultPhase = ResultPhase-CorecctResult*RandomNoise     # 根据标准差计算修正初始矩阵ResultPhaseStd[i-1] = np.std(ResultPhase) # 计算修正后的标准差t = 1plt.plot(GateNum,ResultPhase,label = "$After Corecct$",color = 'b') # 绘图
plt.legend()plt.figure()
plt.plot(ResultPhaseStd)
plt.xlabel('Times')
plt.ylabel('Std')
plt.title('Signal Std')
plt.show()

至此完成了所有的计算

Python实现SPGD(SGD)优化算法相关推荐

  1. Python构建基于elkan优化算法的K-Means聚类模型

    Python构建基于elkan优化算法的K-Means聚类模型 目录 Python构建基于elkan优化算法的K-Means聚类模型 #elkan优化算法

  2. Python自定义:粒子群优化算法

    Python中的粒子群算法 例子算法又被称作飞鸟觅食算法,是一种常见的现代启发式优化算法.在Python中,处于不同的情况考虑,我们都可能使用到该算法.在这里我给出三种情况下的解决方案或者替代方案. ...

  3. 加速收敛_引入Powerball 与动量技术,新SGD优化算法收敛速度与泛化效果双提升 | IJCAI...

    本文介绍的是 IJCAI-2020论文<pbSGD: Powered Stochastic Gradient Descent Methods for Accelerated Non-Convex ...

  4. Python实现哈里斯鹰优化算法(HHO)优化卷积神经网络分类模型(CNN分类算法)项目实战

    说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取. 1.项目背景 2019年Heidari等人提出哈里斯鹰优化算法(Harris ...

  5. Python实现哈里斯鹰优化算法(HHO)优化BP神经网络回归模型(BP神经网络回归算法)项目实战

    说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取. 1.项目背景 2019年Heidari等人提出哈里斯鹰优化算法(Harris ...

  6. Python实现BOA蝴蝶优化算法优化支持向量机分类模型(SVC算法)项目实战

    说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取. 1.项目背景 蝴蝶优化算法(butterfly optimization al ...

  7. Python实现BOA蝴蝶优化算法优化支持向量机回归模型(SVR算法)项目实战

    说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取. 1.项目背景 蝴蝶优化算法(butterfly optimization al ...

  8. Python实现ALO蚁狮优化算法优化支持向量机分类模型(SVC算法)项目实战

    说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取. 1.项目背景 蚁狮优化(Ant Lion Optimizer,ALO)算法是M ...

  9. Python实现ALO蚁狮优化算法优化支持向量机回归模型(SVR算法)项目实战

    说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取. 1.项目背景 蚁狮优化(Ant Lion Optimizer,ALO)算法是M ...

  10. python的智能算法_scikit-opt——Python中的群体智能优化算法库

    安装 pip install scikit-opt 对于当前的开发者版本: git clone git@github.com:guofei9987/scikit-opt.git cd scikit-o ...

最新文章

  1. Java学习提升体系结构
  2. Measurements 和 Units,第三部分
  3. Google、亚马逊、微软 、阿里巴巴开源软件一览
  4. DSP using MATLAB 示例Example3.1 3.2 3.3
  5. LiveVideoStackCon 2020 首届音视频线上峰会【优秀出品人与讲师】
  6. Mr.J--JS学习(继承模式发展史)
  7. Postgresql使用coalesce实现类似oracle的NVL方法
  8. Tomcat启动报错 java lang IllegalArgumentException Can't convert
  9. django使用kindeditor上传图片问题
  10. 三星手机android,个人评测 篇三:三星S10e还值得买吗——半年使用杂谈,最终篇...
  11. emacs 学习成长记
  12. 使用Opencv+VS2015做数字图像识别
  13. 第六章 半导体存储器【微机原理】
  14. 优秀课程案例:使用Scratch图形化编程工具模拟物理机械运动-连杆
  15. Quorum (分布式系统)
  16. kali linux u盘 live,Kali Linux Live U盘安装过程
  17. win7做网站服务器数据库,win7做网站服务器
  18. 【笔记本显卡改BIOS硬超频方法初探及简明步骤】
  19. 电子科技大学和东北大学计算机专业哪个好,电子科技大学、南京航空航天大学、东北大学,你会怎么选择?...
  20. SpringCloud-4-OpenFeign

热门文章

  1. Java项目中使用OpenOffice转PDF
  2. 易用宝项目记录day4-代码生成器
  3. [软件工程基础]结队项目——地铁
  4. 【翻译】Tomcat 6.0 安装与启动
  5. macbook更新系统服务器,苹果电脑如何升级系统_苹果电脑怎么更新版本-win7之家...
  6. 2020-12-23 PMP 群内练习题 - 光环
  7. html滚动轮播图片代码,html 无缝轮播图完整代码
  8. Git64位windows版Git-2.10.1-64-bit.exe
  9. 哈密顿图 哈密顿回路 哈密顿通路(Hamilton)
  10. 【开源】MagicData-RAMC :180小时中文对话式语音数据集正式发布