# 输入一个 x 会计算出 y 值    y 是预测值,如果与 真的 y 值(y_data)接近就成功了 

import tensorflow as tf
import numpy as np
# py 的画图工具
import matplotlib.pyplot as plt # 用 numpy 生成个 200 个属性点 从 -0.5 到 0.5 间平均生成 200 个点
#x_data = np.linspace(-0.5, 0.5, 200) # 这只是生成了一维的数组
# 用下边这句可以生成二维数组
x_data = np.linspace(-0.5, 0.5, 200)[:, np.newaxis] # 生成随机值,和 x_data 的形状是一样的 ( 噪点 )
noise = np.random.normal(0, 0.02, x_data.shape) # x_data 的平方+随机数
y_data = np.square( x_data ) + noise # 定义二个占位符
x = tf.placeholder( tf.float32, [None, 1] ) # [None, 1] 行不定,列只有一列
y = tf.placeholder( tf.float32, [None, 1] ) # 构建神经网络中间层 一行十列
Weights_L1 = tf.Variable( tf.random_normal([1, 10]))
biases_L1 = tf.Variable( tf.zeros([1, 10]) ) # 求出信号的总和 矩阵相乘,
Wx_plus_b_L1 = tf.matmul(x, Weights_L1) + biases_L1
# 中间层的输出
L1 = tf.nn.tanh( Wx_plus_b_L1 ) # 输出层 十行一列
Weights_L2 = tf.Variable( tf.random.normal([10, 1]))
biases_L2 = tf.Variable( tf.zeros([1, 1]) )
# 求出信号的总和 矩阵相乘,
Wx_plus_b_L2 = tf.matmul(L1, Weights_L2) + biases_L2
# 得出最后的预测结果
pred = tf.nn.tanh( Wx_plus_b_L2 ) # 二次代价函数
loss = tf.reduce_mean( tf.square(y - pred) ) # 梯度下降法的优化器 最小化代价函数
train = tf.train.GradientDescentOptimizer( 0.2 ).minimize( loss ) with tf.Session() as sess:
# 初始化变量
sess.run( tf.global_variables_initializer() )
# 训练 2000 次
for _ in range( 2000 ):
sess.run( train, feed_dict={x:x_data, y:y_data} ) # 得到预测值
value = sess.run( pred, feed_dict={x:x_data} )
# 用画图形式展现 plt.figure()
plt.scatter(x_data, y_data)
plt.plot(x_data, value, 'r-', lw=5)
plt.show()

  

tensorflow 使用 4 非线性回归的更多相关文章

  1. TensorFlow(三):非线性回归

    import tensorflow as tf import numpy as np import matplotlib.pyplot as plt # 非线性回归 # 使用numpy生成200个随机 ...

  2. Tensorflow学习教程------非线性回归

    自己搭建神经网络求解非线性回归系数 代码 #coding:utf-8 import tensorflow as tf import numpy as np import matplotlib.pypl ...

  3. tensorflow非线性回归(03-1)

    这个程序为简单的三层结构组成:输入层.中间层.输出层 要理清各层间变量个数 import numpy as np import matplotlib.pyplot as plt import tens ...

  4. TensorFlow.NET机器学习入门【3】采用神经网络实现非线性回归

    上一篇文章我们介绍的线性模型的求解,但有很多模型是非线性的,比如: 这里表示有两个输入,一个输出. 现在我们已经不能采用y=ax+b的形式去定义一个函数了,我们只能知道输入变量的数量,但不知道某个变量 ...

  5. 【原创 深度学习与TensorFlow 动手实践系列 - 2】第二课:传统神经网络

    第二课 传统神经网络 <深度学习>整体结构: 线性回归 -> 神经网络 -> 卷积神经网络(CNN)-> 循环神经网络(RNN)- LSTM 目标分类(人脸识别,物品识别 ...

  6. 机器学习与Tensorflow(2)——神经网络及Tensorflow实现

    神经网络算法以及Tensorflow的实现 一.多层向前神经网络(Multilayer Feed-Forward Neural Network) 多层向前神经网络由三部分组成:输入层(input la ...

  7. 截图:【炼数成金】深度学习框架Tensorflow学习与应用

    创建图.启动图 Shift+Tab Tab 变量介绍: F etch Feed 简单的模型构造 :线性回归 MNIST数据集 Softmax函数 非线性回归神经网络   MINIST数据集分类器简单版 ...

  8. Tensorflow目录

    0.Tensorflow安装 1.创建会话,启动会话 2.变量 3.Fech_feed 4.线性回归 5.非线性回归 6.MNIST数据集简单分类 7.交叉熵 8.Dropout 9.正则化 10.优 ...

  9. tensorflow学习框架(炼数成金网络版学习记录)

    chapter1 #变量 import tensorflow as tf x = tf.Variable([1,2]) a = tf.constant([3,3]) #增加一个减法op sub = t ...

随机推荐

  1. FCN网络

    https://www.cnblogs.com/gujianhan/p/6030639.html

  2. JS 循环定时的一些思考

    网上也有例子, function doSetTimeout(i) { setTimeout(function() { console.log(i); }, 1000); } for (var i = ...

  3. EOCS跨链核心技术内幕

    EOCS跨链技术的核心就是ICP模块,ICP即Inter Chain Protocol(跨链交互协议),下面着重介绍ICP工作原理和实现细节. Inter Chain Protocol(ICP) IC ...

  4. Mac os x下几款mysql客户端

    Mac os x几款mysql客户端 1,Navicat 这是一款可支持多种数据库的客户端,可支持mysql,sqlite,oracle,sql server等数据库.当然也可以选择只支持某种数据库的 ...

  5. WPF常见主界面的布局

    一.概述 效果图: 暂时没做完,请等待 二.实现 (一)实现无边框窗口 原文:WPF 窗口去除顶部边框(正宗无边框) ============================ 最近在做一个大屏展示视频 ...

  6. 【easy】278. First Bad Version

    有一系列产品,从某个开始其后都不合格,给定一个判断是否合格的函数,找出N个产品中第一个不合格的产品. 正确答案: // Forward declaration of isBadVersion API. ...

  7. 大前端服务器渲染 发布和部署 Vue + vue(SSR)

    https://blog.csdn.net/sinat_15951543/article/details/80109521    就是到服务器dist 下面 npm run start & 然 ...

  8. html中去除ul,li标签的样式列表标签的点?

  9. Docker commit 命令保存的镜像文件太大的问题

    基础镜像: centos7.5 进入容器后, 先后安装了 jdk1.8, maven3.6.0, git, rocketmq4.3.2 安装完成后使用 docker commit 命令保存为镜像 结果 ...

  10. jq 操作表单中 checkbox 全选 单选

    知识点: Note: 1: .prop() 和 .attr() 方法的区别 .prop() 针对标签既有属性 .attr() 针对自定义属性 2: $('input:checked')即为选中元素. ...