自回归模型的LMS学习曲线-神经网络与机器学习笔记3
2016-12-08 21:41
309 查看
对于自回归模型x(n)=ax(n−1)+ϵ(n)
a=0.99, σ2ϵ=0.02,σ2x=0.995
利用这个模型参数一组标准数据,然后使用LMS方法求解这个模型中的参数a
为了得到LMS学习曲线,我们将求解过程重复100次,并且每次产生不同的标准数据用于求解,得到100次学习后第n步的平均最小方差∑100i=1e2/100 ,来画学习曲线。
python代码如下:
运行结果如下:
a=0.99, σ2ϵ=0.02,σ2x=0.995
利用这个模型参数一组标准数据,然后使用LMS方法求解这个模型中的参数a
为了得到LMS学习曲线,我们将求解过程重复100次,并且每次产生不同的标准数据用于求解,得到100次学习后第n步的平均最小方差∑100i=1e2/100 ,来画学习曲线。
python代码如下:
import numpy as np import matplotlib.pyplot as plt; plt.close('all'); N=10000;#递归5000次 #生成方差为0.02,期望为0的噪音 var=0.02 eta = 0.001 sigma=np.sqrt(var) #sigma=var; E=[] W=[] ERR=[] n=100 #外部迭代100次 for iter in range(0, n): #产生随机数 np.random.seed(iter) e=np.random.normal(0,sigma,N) xi=[0] for i in range(0,N): xi.append(0.99*xi[i]+e[i]) #LMS学习过程 ee = [] xi0=0;k=0;M=5000; xi=xi[5000:N] x0=k*xi0; ee.append(xi[0]-x0) k+=eta*ee[0]*x0; for i in range(1, M): xp=xi[i-1]*k; ee.append(xi[i]-xp) k+=eta*xi[i-1]*ee[i]; W.append(k) E.append([eei**2 for eei in ee]) print iter for p in range(0,len(E[0])): sum=0 for q in range(0,len(E)): sum+=E[q][p] sum/=len(E) ERR.append(sum) plt.figure() plt.semilogy(ERR) plt.show()
运行结果如下:
相关文章推荐
- 斯坦福机器学习公开课笔记--神经网络的学习
- Coursera吴恩达机器学习课程 总结笔记及作业代码——第5周神经网络续
- Andrew机器学习课程笔记(2)——神经网络、机器学习Tips
- Coursera吴恩达机器学习课程 总结笔记及作业代码——第4周神经网络
- 机器深度学习笔记(1)——神经网络从一张图片中识别狗的过程
- 机器学习笔记:形象的解释神经网络激活函数的作用是什么?
- 吴恩达神经网络和深度学习课程自学笔记(八)之机器学习策略
- 七月算法深度学习 第三期 学习笔记-第八节 循环神经网络与相关应用
- 深度学习概述-神经网络与深度学习学习笔记(一)
- CS231n 学习笔记(3)——神经网络 part3 :最优化
- 【摘要与笔记1】-单层感知器,两层神经网络与深度学习
- [TensorFlow]入门学习笔记(5)-循环神经网络RNN
- 神经网络学习笔记-02-循环神经网络
- 神经网络学习笔记
- Andrew Ng机器学习入门学习笔记(四)之神经网络(一)
- 神经网络与深度学习笔记——第1章 使用神经网络识别手写数字
- 循环神经网络(RNN, Recurrent Neural Networks)学习笔记:基础理论
- 机器学习语料,深度学习语料,神经网络语料,nlp语料,机器视觉语料,持续更新
- 神经网络学习笔记(一) 单层感知机
- 【神经网络学习笔记】语音识别-matlab语音信号预处理