RNN的简单的推导演算公式(BPTT)

附上y=2x-b拟合的简单的代码.
import numpy as np
x = np.asarray([2,1,3,5,6]);
y = np.zeros((1,5));
learning_rate=0.1;
w=5; for i in range(len(x)):
y[0][i]= func(x[i]); def func(x):
return 2*x -6; def forward(w,x):
return w*x -6; def backward(w,x,y):
pred_y = w*x -6;
loss = (y - pred_y);
delta_w = loss;
w += (learning_rate*loss);
return w; def train(w):
for epoch in range(5):
for i in range(len(x)):
print 'w = {} ,pred_y = {} ,y ={}'.format(w,forward(w,x[i]),y[0][i]);
w = backward(w,x[i],y[0][i]);
if __name__ == '__main__':
train(w);
w = 5 ,pred_y = 4 ,y =-2.0
w = 4.4 ,pred_y = -1.6 ,y =-4.0
w = 4.16 ,pred_y = 6.48 ,y =0.0
w = 3.512 ,pred_y = 11.56 ,y =4.0
w = 2.756 ,pred_y = 10.536 ,y =6.0
w = 2.3024 ,pred_y = -1.3952 ,y =-2.0
w = 2.24192 ,pred_y = -3.75808 ,y =-4.0
w = 2.217728 ,pred_y = 0.653184 ,y =0.0
w = 2.1524096 ,pred_y = 4.762048 ,y =4.0
w = 2.0762048 ,pred_y = 6.4572288 ,y =6.0
w = 2.03048192 ,pred_y = -1.93903616 ,y =-2.0
w = 2.024385536 ,pred_y = -3.975614464 ,y =-4.0
w = 2.0219469824 ,pred_y = 0.0658409472 ,y =0.0
w = 2.01536288768 ,pred_y = 4.0768144384 ,y =4.0
w = 2.00768144384 ,pred_y = 6.04608866304 ,y =6.0
w = 2.00307257754 ,pred_y = -1.99385484493 ,y =-2.0
w = 2.00245806203 ,pred_y = -3.99754193797 ,y =-4.0
w = 2.00221225583 ,pred_y = 0.00663676747776 ,y =0.0
w = 2.00154857908 ,pred_y = 4.00774289539 ,y =4.0
w = 2.00077428954 ,pred_y = 6.00464573723 ,y =6.0
w = 2.00030971582 ,pred_y = -1.99938056837 ,y =-2.0
w = 2.00024777265 ,pred_y = -3.99975222735 ,y =-4.0
w = 2.00022299539 ,pred_y = 0.000668986161758 ,y =0.0
w = 2.00015609677 ,pred_y = 4.00078048386 ,y =4.0
w = 2.00007804839 ,pred_y = 6.00046829031 ,y =6.0
RNN的简单的推导演算公式(BPTT)的更多相关文章
- tensorflow rnn 最简单实现代码
tensorflow rnn 最简单实现代码 #!/usr/bin/env python # -*- coding: utf-8 -*- import tensorflow as tf from te ...
- Pytorch基础——使用 RNN 生成简单序列
一.介绍 内容 使用 RNN 进行序列预测 今天我们就从一个基本的使用 RNN 生成简单序列的例子中,来窥探神经网络生成符号序列的秘密. 我们首先让神经网络模型学习形如 0^n 1^n 形式的上下文无 ...
- RNN以及LSTM的介绍和公式梳理
前言 好久没用正儿八经地写博客了,csdn居然也有了markdown的编辑器了,最近花了不少时间看RNN以及LSTM的论文,在组内『夜校』分享过了,再在这里总结一下发出来吧,按照我讲解的思路,理解RN ...
- [转]用Objective-C实现简单的数学字符串公式的计算
好友第一次用写技术分享,这么多年都没见他正经的写点东西.那天突然抬头问我,Objective-C有没字符串计算的.我说,没有.后来他默默实现了,特为他转发,表示支持. ================ ...
- NOIP模拟:饼干(简单规律推导)
题目描述 小美有一张很大的网格:2 n * 2 n .每次小美会选一个小矩阵 2 x * 2 x , x > 0,小矩阵不能超过网格的边界.然后把右上一半都放上饼干.下图是当 x=1或2 的时候 ...
- BNU27945——整数边直角三角形——————【简单数学推导】
整数边直角三角形 Time Limit: 1000ms Memory Limit: 65536KB 64-bit integer IO format: %lld Java class nam ...
- luogu P4948 数列求和 推式子 简单数学推导 二项式 拉格朗日插值
LINK:数列求和 每次遇到这种题目都不太会写.但是做法很简单. 终有一天我会成功的. 考虑类似等比数列求和的东西 帽子戏法一下. 设\(f(k)=\sum_{i=1}^ni^ka^i\) 考虑\(a ...
- ACM_汉诺塔问题(递推dp)
Problem Description: 最近小G迷上了汉诺塔,他发现n个盘子的汉诺塔问题的最少移动次数是2^n-1,即在移动过程中会产生2^n个系列.由于发生错移产生的系列就增加了,这种错误是放错了 ...
- RNN与BPTT (公式甚多)
前言: 现在深度学习是一个潮流,同时,导师也给自己制定了深度学习的方向.在一次组会中,自己讲解了RNN的基本用法,和RNN数学原理的推导.以下是自己根据当时的PPT总结下来的东西.
随机推荐
- 在Windows上运行Spark程序
一.下载Saprk程序 https://d3kbcqa49mib13.cloudfront.net/spark-2.1.1-bin-hadoop2.7.tgz 解压到d:\spark-2.1.1-bi ...
- 《深入浅出Netty》【PDF】下载
<深入浅出Netty>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230062563 内容简介 本文档主要讲述的是深入浅出Netty: ...
- Hibernate缓存和状态
缓存是介于应用程序和物理数据源之间,其作用是为了降低应用程序对物理数据源访问的频次,从而提高了应用的运行性能. 缓存的介质一般是内存,所以读写速度很快.但如果缓存中存放的数据量非常大时,也会用硬盘 ...
- 在Ubuntu14.04下安装 ffmpeg-2.4.13(处理视频用,将视频保存为图片序列)
首先在 http://www.ffmpeg.org/olddownload.html 下载 ffmpeg-2.4.13.tar.bz2 : 然后安装 yasm 和 libx264: apt-get i ...
- css盒模型研究
css的盒模型一直是一个重点和难点,最近由后端的学习转到前端,觉得有必要深入研究一下css的盒模型. 1.万物皆盒子 我们必须要有一个理念,在html的世界里,万物皆盒子,那就是任何一个html元素都 ...
- Java设计模式总汇一
PS:首先我们要带着问题读文章 什么是设计模式 为什么要用设计模式 使用设计模式有什么好处 设计模式是一套被反复使用的.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了重用代码.让 ...
- ProjectA: 多元非线性回归
https://www.youtube.com/watch?v=n9XycstdPYs&t=907s
- Jasperreports以及iReport4.5报表PDF导出字体完美解决方案
在使用Jasperreports以及iReport设计报表时,导出PDF是一个常见的需求.网上解决PDF导出中文显示问题相关的文章很多,无非就是设置控件的pdf font name和pdf encod ...
- bootstrap 导航栏鼠标悬停显示下拉菜单
在jsp中加入一下代码: .navbar .nav > li:hover .dropdown-menu { display: block;} 全部代码如下所示: <%@ page lang ...
- python pandas stack和unstack函数
在用pandas进行数据重排时,经常用到stack和unstack两个函数.stack的意思是堆叠,堆积,unstack即"不要堆叠",我对两个函数是这样理解和区分的. 常见的数据 ...