tensorflow一元二次函数拟合

先看下要做的内容,创建一元二次函数y=x平方-0.5,其中为了更符合散点图模拟需要,在方程加噪点,以标准方差0.05行驶,如图所示

折线图

散点图

下面我们要做的,是要计算机自动拟合出该散点图的函数,画出图样,如图

下面,就通过TensorFlow来看如何做出这个样子

在TensorFlow中,首先定义

import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
 
#定义隐藏层
def add_layer(inputs,in_size,out_size,activation_function=None):
    Weights=tf.Variable(tf.random_normal([in_size,out_size]))  #权值
    biases=tf.Variable(tf.zeros([1,out_size])+0.1) #偏置
    Wx_plus_b=tf.matmul(inputs,Weights)+biases  #z=wx+b
    if activation_function is None:
        outputs=Wx_plus_b
    else:
        outputs=activation_function(Wx_plus_b)
    return outputs
 
#make up some real data
x_data=np.linspace(-1,1,300)[:,np.newaxis]#加维度
noise=np.random.normal(0,0.05,x_data.shape)#加噪点,标准方差0.05
y_data=np.square(x_data)-0.5+noise    #y=square(x)-0.5+noise
 
#train_step所要输入的值
xs=tf.placeholder(tf.float32,[None,1])
ys=tf.placeholder(tf.float32,[None,1])
###建立第一,二次隐藏层layer
###add_layer(inputs,in_size,out_size,activation_function=None)
l1=add_layer(xs,1,10,activation_function=tf.nn.relu)#激励函数(activation_function)ReLU
prediction=add_layer(l1,10,1,activation_function=None)
 
#创建损失函数
loss=tf.reduce_mean(tf.reduce_sum(tf.square(ys-prediction),
               reduction_indices=[1]))
train_step=tf.train.GradientDescentOptimizer(0.1).minimize(loss)#梯度下降优化器,减少误差,学习效率0.1
 
#important step
init=tf.initialize_all_variables()
sess=tf.Session()
sess.run(init)
 
#绘图部分
fig=plt.figure()
ax=fig.add_subplot(1,1,1)
ax.scatter(x_data,y_data)
plt.ion()#不暂停
plt.show()
 
#学习1000步
for i in range(1000):
    sess.run(train_step,feed_dict={xs:x_data,ys:y_data})
    if i%50==0:
        #print(sess.run(loss,feed_dict={xs:x_data,ys:y_data})) #输出误差
        try:
            ax.lines.remove(lines[0])
        except Exception:
            pass
            
        prediction_value=sess.run(prediction,feed_dict={xs:x_data})
        lines=ax.plot(x_data,prediction_value,'r',lw=5)
        plt.pause(0.1)
输出误差截图,每50次输出一次,截图如下


误差逐渐递减的截图

这样就完成了

--------------------- 
作者:QianLingjun 
来源:CSDN 
原文:https://blog.csdn.net/wsljqian/article/details/77754878 
版权声明:本文为博主原创文章,转载请附上博文链接!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/386885.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

hibernate缓存机制与N+1问题

在项目中遇到的趣事 本文基于hibernate缓存机制与N1问题展开思考&#xff0c; 先介绍何为N1问题 再hibernate中用list()获得对象&#xff1a; 1 /**2 * 此时会发出一条sql&#xff0c;将30个学生全部查询出来3 */4 List<Student> …

lambda函数 RUNOOB python练习题49

用来练手的python练习题&#xff0c;原题链接python练习实例49 该练习题主要是关于lambda函数的使用方法&#xff0c;本文就python中的lambda函数做出一点总结。 1. lambda函数的定义与调用 在python中&#xff0c;我们都知道使用def关键词来定义一个函数, 例如一个最简单的…

kubernetes(k8s)安装部署

Kubernetes是一个开源的&#xff0c;用于管理云平台中多个主机上的容器化的应用&#xff0c;Kubernetes的目标是让部署容器化的应用简单并且高效,Kubernetes提供了应用部署&#xff0c;规划&#xff0c;更新&#xff0c;维护的一种机制。 Kubernetes一个核心的特点就是能够自主…

react typescript 子组件调用父组件

//父组件 import * as React from reactimport { Input } from antdconst Search Input.Searchimport "./index.less"import Child from "./compon/list" interface IProps { MakeMoney?: () > void //暴露方法} export default class ProjectLis…

python random随机数 RUNOOB python练习题50

用来练手的python练习题&#xff0c;原题链接: python练习实例50、 该练习题主要包含了random模块随机数的应用&#xff0c;下面给出几个常用的模块内函数。 1. 生成浮点型随机小数 最简单的&#xff0c;就是用random函数&#xff0c;生成 [0.0,1.0)[0.0, 1.0)[0.0,1.0)范围…

Spring Cloud Eureka Consul使用和对比

Spring Cloud简介 最大的区别是Eureka保证AP, Consul为CP。 Consul强一致性(C)带来的是&#xff1a; 服务注册相比Eureka会稍慢一些。因为Consul的raft协议要求必须过半数的节点都写入成功才认为注册成功 Leader挂掉时&#xff0c;重新选举期间整个consul不可用。保证了强一致…

符号 RUNOOB python练习题 51

用来练手的python练习题&#xff0c;原题链接: python练习实例51 python中的 & 和 | 使用过程中&#xff0c;变量类型不同&#xff0c;这两个符号的作用也不同。 1. 对于数字变量&#xff0c;&\&& 和 ∣|∣ 用于逐位运算 # 二进制逐位逻辑与门运算 a 0b110…

Eclipse里的快捷键

MyEclipse 快捷键1(CTRL) ------------------------------------- Ctrl1 快速修复 CtrlD: 删除当前行 CtrlQ 定位到最后编辑的地方 CtrlL 定位在某行 CtrlO 快速显示 OutLine CtrlT 快速显示当前类的继承结构 CtrlW 关闭当前Editer CtrlK 快速定位到下一个 CtrlE 快…

Python打印杨辉三角形 RUNOOB python练习题61

用来练手的python练习题&#xff0c;原题链接: python练习实例61 题干: 打印出杨辉三角形 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1 实现代码如下: import numpy as nptable…

使用Docker快速搭建Tensorflow开发环境

当我刚开始学习使用scikit-learn时&#xff0c;总是会出现各种各样的包依赖问题&#xff0c;兜兜转转了一遍才全部安装好&#xff0c;现在的机器学习算法开发者大都使用tensorflow、pytorch来实现自己的想法&#xff0c;但依然会面临各种包版本和依赖的问题&#xff0c;有一段时…

Java服务GC参数调优案例

这段时间在整理jvm系列的文章&#xff0c;无意中发现本文&#xff0c;作者思路清晰通过步步分析最终解决问题。我个人特别喜欢这种实战类的内容&#xff0c;经原作者的授权同意&#xff0c;将文章分享于此。原文链接&#xff1a;Java服务GC参数调优案例&#xff0c;下面为转载此…

RUNOOB python 67 数组的元素互换

用来练手的Python练习题&#xff0c;原题链接:python练习实例67 题干: 输入数组&#xff0c;最大的与第一个元素交换&#xff0c;最小的与最后一个元素交换&#xff0c;输出数组 代码如下: import numpy as nptable np.array([10,4,9,3,11,25,37,15,2,231,672,22]) #定义sw…

11.13 ethtool:查询网卡参数

ethtool命令用于查询或设置网卡参数。ethtool [devname][rootlinuxprobe ~]# ethtool eth0Settings for eth0:Supported ports: [ TP ]Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supported pause frame use: NoSupports au…

微信小程序、微信公众号、H5之间相互跳转

一、小程序和公众号 答案是&#xff1a;可以相互关联。 在微信公众号里可以添加小程序。 图片有点小&#xff0c;我把文字打出来吧&#xff1a; 可关联已有的小程序或快速创建小程序。已关联的小程序可被使用在自定义菜单和模版消息等场景中。 公众号可关联同主体的10个小程…

数组元素前移后移 RUNOOB python练习题 68

用来练手的python练习题&#xff0c;原题链接: python练习实例68 题干: 有 n 个整数&#xff0c;使其前面各数顺序向后移 m 个位置&#xff0c;最后 m 个数变成最前面的 m 个数 代码如下: import numpy as np # 构造一个储存了n个整数的numpy数组 def numbers_input(n):a n…

LRU缓存简单实现

缓存接口定义 /*** 缓存接口* * author zhi**/ public interface ICache<K, V> {/*** 添加缓存数据* * param key* param value*/void put(K key, V value);/*** 获取缓存数据* * param key* return*/V get(K key);/*** 删除缓存数据* * param key* return*/V remove(K k…

Mac Eclipse安装lombok

Lombok是一个可以通过注解的形式可以帮助消除一些必须但是显得很臃肿的Java代码的工具&#xff0c;通过使用对应的注解&#xff0c;可以在进行编译源码的时候生成对应的方法&#xff0c;比如类属性的get/set/toString()/类的构造方法等. 下面记录一下在Mac Eclipse是如何安装Lo…

tf.reduce_sum()方法深度解析

首先看一下reduce_sum及其参数的注释 : def tf.reduce_sum(input_tensor, axisNone, keepdimsFalse, nameNone) Computes the sum of elements across dimensions of a tensor. Reduces input_tensor along the dimensions given in axis. Unless keepdims is true, the rank o…

主成分分析(PCA)原理详解_转载

一、PCA简介 1. 相关背景 在许多领域的研究与应用中&#xff0c;往往需要对反映事物的多个变量进行大量的观测&#xff0c;收集大量数据以便进行分析寻找规律。多变量大样本无疑会为研究和应用提供了丰富的信息&#xff0c;但也在一定程度上增加了数据采集的工作量&#xff0c;…