Python实现SPGD(SGD)优化算法
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)优化算法相关推荐
- Python构建基于elkan优化算法的K-Means聚类模型
Python构建基于elkan优化算法的K-Means聚类模型 目录 Python构建基于elkan优化算法的K-Means聚类模型 #elkan优化算法
- Python自定义:粒子群优化算法
Python中的粒子群算法 例子算法又被称作飞鸟觅食算法,是一种常见的现代启发式优化算法.在Python中,处于不同的情况考虑,我们都可能使用到该算法.在这里我给出三种情况下的解决方案或者替代方案. ...
- 加速收敛_引入Powerball 与动量技术,新SGD优化算法收敛速度与泛化效果双提升 | IJCAI...
本文介绍的是 IJCAI-2020论文<pbSGD: Powered Stochastic Gradient Descent Methods for Accelerated Non-Convex ...
- Python实现哈里斯鹰优化算法(HHO)优化卷积神经网络分类模型(CNN分类算法)项目实战
说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取. 1.项目背景 2019年Heidari等人提出哈里斯鹰优化算法(Harris ...
- Python实现哈里斯鹰优化算法(HHO)优化BP神经网络回归模型(BP神经网络回归算法)项目实战
说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取. 1.项目背景 2019年Heidari等人提出哈里斯鹰优化算法(Harris ...
- Python实现BOA蝴蝶优化算法优化支持向量机分类模型(SVC算法)项目实战
说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取. 1.项目背景 蝴蝶优化算法(butterfly optimization al ...
- Python实现BOA蝴蝶优化算法优化支持向量机回归模型(SVR算法)项目实战
说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取. 1.项目背景 蝴蝶优化算法(butterfly optimization al ...
- Python实现ALO蚁狮优化算法优化支持向量机分类模型(SVC算法)项目实战
说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取. 1.项目背景 蚁狮优化(Ant Lion Optimizer,ALO)算法是M ...
- Python实现ALO蚁狮优化算法优化支持向量机回归模型(SVR算法)项目实战
说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取. 1.项目背景 蚁狮优化(Ant Lion Optimizer,ALO)算法是M ...
- python的智能算法_scikit-opt——Python中的群体智能优化算法库
安装 pip install scikit-opt 对于当前的开发者版本: git clone git@github.com:guofei9987/scikit-opt.git cd scikit-o ...
最新文章
- Java学习提升体系结构
- Measurements 和 Units,第三部分
- Google、亚马逊、微软 、阿里巴巴开源软件一览
- DSP using MATLAB 示例Example3.1 3.2 3.3
- LiveVideoStackCon 2020 首届音视频线上峰会【优秀出品人与讲师】
- Mr.J--JS学习(继承模式发展史)
- Postgresql使用coalesce实现类似oracle的NVL方法
- Tomcat启动报错 java lang IllegalArgumentException Can't convert
- django使用kindeditor上传图片问题
- 三星手机android,个人评测 篇三:三星S10e还值得买吗——半年使用杂谈,最终篇...
- emacs 学习成长记
- 使用Opencv+VS2015做数字图像识别
- 第六章 半导体存储器【微机原理】
- 优秀课程案例:使用Scratch图形化编程工具模拟物理机械运动-连杆
- Quorum (分布式系统)
- kali linux u盘 live,Kali Linux Live U盘安装过程
- win7做网站服务器数据库,win7做网站服务器
- 【笔记本显卡改BIOS硬超频方法初探及简明步骤】
- 电子科技大学和东北大学计算机专业哪个好,电子科技大学、南京航空航天大学、东北大学,你会怎么选择?...
- SpringCloud-4-OpenFeign
热门文章
- Java项目中使用OpenOffice转PDF
- 易用宝项目记录day4-代码生成器
- [软件工程基础]结队项目——地铁
- 【翻译】Tomcat 6.0 安装与启动
- macbook更新系统服务器,苹果电脑如何升级系统_苹果电脑怎么更新版本-win7之家...
- 2020-12-23 PMP 群内练习题 - 光环
- html滚动轮播图片代码,html 无缝轮播图完整代码
- Git64位windows版Git-2.10.1-64-bit.exe
- 哈密顿图 哈密顿回路 哈密顿通路(Hamilton)
- 【开源】MagicData-RAMC :180小时中文对话式语音数据集正式发布