使用神经网络来拟合函数y = x^3 +b
我们使用一个三层的小网络来,模拟函数y = x^3+b函数
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt #训练数据
x_data = np.linspace(-6.0,6.0,30)[:,np.newaxis]
y_data = np.power(x_data,3) + 0.7
#验证数据
t_data = np.linspace(-20.0,20.0,40)[:,np.newaxis]
ty_data = np.power(t_data,3) + 0.7
#占位符
x = tf.placeholder(tf.float32,[None,1])
y = tf.placeholder(tf.float32,[None,1]) #network
#--layer one--
l_w_1 = tf.Variable(tf.random_normal([1,10]))
l_b_1 = tf.Variable(tf.zeros([1,10]))
l_fcn_1 = tf.matmul(x, l_w_1) + l_b_1
relu_1 = tf.nn.relu(l_fcn_1)
#---layer two----
l_w_2 = tf.Variable(tf.random_normal([10,20]))
l_b_2 = tf.Variable(tf.zeros([1,20]))
l_fcn_2 = tf.matmul(relu_1, l_w_2) + l_b_2
relu_2 = tf.nn.relu(l_fcn_2) #---output---
l_w_3 = tf.Variable(tf.random_normal([20,1]))
l_b_3 = tf.Variable(tf.zeros([1,1]))
l_fcn_3 = tf.matmul(relu_2, l_w_3) + l_b_3
#relu_3 = tf.tanh(l_fcn_3)
# init
init = tf.global_variables_initializer()
#定义 loss func
loss = tf.reduce_mean(tf.square(y-l_fcn_3))
learn_rate =0.001
train_step = tf.train.GradientDescentOptimizer(learn_rate).minimize(loss) with tf.Session() as sess:
sess.run(init);
for epoch in range(20):
for step in range(5000):
sess.run(train_step,feed_dict={x:x_data,y:y_data})
y_pred = sess.run(l_fcn_3,feed_dict={x:t_data})
print sess.run(l_fcn_3,feed_dict={x:[[10.]]})
plt.figure()
plt.scatter(t_data,ty_data)
plt.plot(t_data,y_pred,'r-')
plt.show()
[[ 533.45062256]]
使用神经网络来拟合函数y = x^3 +b的更多相关文章
- matlab最小二乘法数据拟合函数详解
定义: 最小二乘法(又称最小平方法)是一种数学优化技术.它通过最小化误差的平方和寻找数据的最佳函数匹配.利用最小二乘法可 以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小. ...
- matlab-非线性拟合函数lsqcurvefit的使用和初值选取
所解决问题: 我们知道我们的表达式是y=A+B*exp(-x.^2)-C./log(x), 而且现在我们手里面有x与y对应的一大把数据. 我们需要根据x, y的值找出最佳的A.B.C值.则我们现在借助 ...
- cftool拟合&函数逼近
cftool拟合&函数逼近 cftool 真是神奇,之前我们搞的一些线性拟合解方程,多项式拟合,函数拟合求参数啊,等等. 已经超级多了,为啥还得搞一个cftool拟合啊?而且毫无数学理论. 如 ...
- matlab的拟合函数polyfit()函数
matlab的多项式拟合: polyfit()函数 功能:在最小二乘法意义之上,求解Y关于X的最佳的N次多项式函数. clc;clear; close all; x=[ ]; y=[2.7 7.4 2 ...
- 函数 y=x^x的分析
关于函数 y=xx的分析: 由图像得,y在负无穷大到0图像处处不连续,故y的定义域为(0,正无穷大): 故该函数不就是y=e^(lnxx)吗? 1.定义域:我们变形一下,y=e^(xlnx),显然是0 ...
- 2、函数y=f(x)
/* Note:Your choice is C IDE */ #include "stdio.h" /* 3.函数y=f(x)可表示为: */ void main() { int ...
- 2017年全国卷3的21题与2018年全国卷3的21题命题背景是同一个函数$y=\frac{2x}{\ln(x+1)}$(再次瞎谈)
2017年四川高考数学(全国卷3)理科21题第1问 已知函数\(f(x)=x-1-a\ln x\) (1)若\(f(x)\geqslant 0\),求\(a\)的值\(.\) 该不等式等价于$a\ln ...
- 神经网络可以拟合任意函数的视觉证明A visual proof that neural nets can compute any function
One of the most striking facts about neural networks is that they can compute any function at all. T ...
- C# + Matlab 实现计件工时基于三层BP神经网络的拟合--真实项目
工序工时由该工序的工艺参数决定,有了工时后乘以固定因子就是计件工资.一般参考本地小时工资以及同类小时工资并考虑作业的风险等因素给出固定因子 采用的VS2010 , Matlab2015a 64, 开 ...
随机推荐
- JMeter获取CSV文件行数
import java.io.BufferedReader; import java.io.FileReader; BufferedReader br=new BufferedReader(new F ...
- Java用代码获取classes目录下的文件的方式
假设我们有个Maven的Web项目,其中有src/main/java和src/main/resources两个输出目录(注意这两个目录下的内容运行后都会输出到classes目录下), 而在src/ma ...
- 为了CET-4!
Directions For tiis part,you are allowed 30 minutes to write an essay.Suppose there are two options ...
- 关于PLC
学电气的一方面是单片机,一方面是PLC,,,,常常看到说选择比努力更重要,,单片机都很熟悉了,我就来介绍一下PLC..... 然后呢我先吹吹牛,,,目的是让大家相信我介绍的PLC绝对是亲身体验.... ...
- 3.sass的数据类型与函数
数据类型 在sass里有数字.字符串.列表.颜色等类型 在cmd里 输入 sass -i 就会进入到交互模式,输入的计算可以马上得到结果 type-of()可以用来得到数据类型,如: type-of( ...
- 欢迎大家走进我的园子 ( ^___^ )y 本博客文章目录整理
"记录"是见证成长:"成长"则意味着蜕变:“变",创造无限可能! ------致自己 文章越来越多,不容易查看,特整理了一个目录,方便快速查找 坚持的是分享,搬运的是知识,图的是大家的进步,欢迎更多的 ...
- 记录一个从没见过的bug
js的默认启动 $(function(){ )}; 不识别,意思是如果你把js内容放入这个东西里面,它不会执行.必须把它去掉才可以. 包括.tag里的文件也是一样. 这是发生在系统框架迁移发生的事,以 ...
- C#-判断Shift,Alt,Ctrl是否被按下,确定所按下的组合键
在创建接受用户击键的应用程序时,您还可能希望监视 SHIFT.ALT 和 CTRL 键等组合键.当一个组合键与其他键同时按下,或在单击鼠标的同时按下时,您的应用程序能够做出适当响应:字母 S 可能仅导 ...
- sql sever[基本] ''增删改'' 随笔
结构语言分类 DDL(数据定义语言) create drop alter 创建删除以及修改数据库,表,存储过程,触发器,索引.... DML(数据操作语言) insert delete ...
- Intellij idea破解办法
最开始的时候intellij用得是社区版,专业版是要钱的.但是社区版的功能确实弱了很多:比如Diagrams功能就没有,比如社区版不支持web项目,想起个tomcat跑个web项目都没法搞.于是,重新 ...