# -*- coding: utf-8 -*-
"""
Spyder Editor

This is a temporary script file.
tensor flow 之线性回归模式
2019-oct-5
"""

import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt

SIZE=100
np.random.seed(100)#np随机种子
tf.set_random_seed(100)#tf随机种子
#1、构建数据
x=np.linspace(0,2,SIZE) #等差数列
noise_x=np.random.normal(loc=0.0,scale=1.0,size=SIZE) #‘随机正太分布 增加噪音
x=x+noise_x

y=8*x+8 #用于填充Y数组
noise_y=np.random.normal(loc=0.0,scale=1.1,size=SIZE)
y=y+noise_y

#2、设置为矩阵的模型
x.shape=(-1,1)
y.shape=(-1,1)

#3、构建一个模型 y=w*x+b 设置tf变量 用于训炼
w=tf.Variable(initial_value=tf.random_uniform(shape=[1],minval=-1.0,maxval=1.0,name='w'))
b=tf.Variable(initial_value=tf.zeros(shape=[1],name='b'))

#4、得到预测值
y_hat=w*x+b

#5、构建损失函数 loss
loss=tf.reduce_mean(tf.square(y_hat-y),name='loss') #损失函数 loss=聚合平均值(差的平方)

#6、梯度下降 优化损失函数 ,让其最小
optiomizer=tf.train.GradientDescentOptimizer(learning_rate=0.05)#初始化变量 及学习
train=optiomizer.minimize(loss=loss) #求最小损失函数 loss

#执行训练
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
run_w,run_b,run_loss=sess.run([w,b,loss])
print('w={},b={},loss={}'.format(run_w,run_b,run_loss))

for i in range(100):#训练100次
sess.run(train)
run_w,run_b,run_loss=sess.run([w,b,loss])#取w,b,loss这三个东东的值 并打印展示
print('w={},b={},loss={}'.format(run_w,run_b,run_loss))

#画表展示
#画线
x_hat=np.linspace(x.min(),x.max())
print("x_hat={}".format(x_hat))
y_hat2=run_w*x_hat+run_b
plt.plot(x_hat,y_hat2)
#画线
#画点
plt.plot(x,y,'go') #go rs ro
#画点
plt.show()#显示

tensor flow 线性回归的更多相关文章

  1. 机器学习: Tensor Flow +CNN 做笑脸识别

    Tensor Flow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库.节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数 ...

  2. **手把手教你安装 Anaconda + Tensor flow+Pycharm**

    手把手教你安装 Anaconda + Tensor flow+Pycharm 这篇博文主要讲一下自己安装Anaconda + Tensor flow + Pycharm 的一个过程. 1. ANACO ...

  3. scikit Flow ,tensor flow 做ml模型

    [https://github.com/ilblackdragon/tf_examples/blob/master/titanic.py] [keras 高层tensorflow] https://k ...

  4. 时事新闻之 谷歌 google 发布Tensor Flow 源代码

    TensorFlow: TensorFlow is an open source software library for numerical computation using data flow ...

  5. Tensor Flow基础(2.0)

    写在前面:此篇纯属自我记录,参考意义不大. 数据类型 数值型 标量Scalar:1.0,2.3等,shape为0->[] a = 1.2 向量Vector:[1.0],[2.3,5.4]等,sh ...

  6. tensor flow入门笔记

    个人学习笔记,欢迎交流.

  7. tensor flow中summary用法总结

    对于用法的总结详细的参见博文https://www.cnblogs.com/lyc-seu/p/8647792.html

  8. 在hadoop运行tensor flow

    http://www.infoq.com/cn/articles/deeplearning-tensorflow-casestudy http://www.tuicool.com/articles/a ...

  9. keras、 tensor flow 教程

    [keras]http://keras-cn.readthedocs.io/en/latest/getting_started/concepts/,[tensorflow] http://blog.c ...

随机推荐

  1. 【Leetcode_easy】922. Sort Array By Parity II

    problem 922. Sort Array By Parity II solution1: class Solution { public: vector<int> sortArray ...

  2. NLP | 算法 学习资料整理

    UPDATE TIME: 2019-12-12 17:06:32 NLP: 对话系统: [ ] https://www.cnblogs.com/jiangxinyang/p/10789512.html ...

  3. redis服务操作

    端口启动服务./redis/redis-2.8.19/src/redis-server /redis/conf/r6100.conf./redis/redis-2.8.19/src/redis-ser ...

  4. [转帖]两种以太网 RDMA 协议: iWARP 和 RoCE

    两种以太网 RDMA 协议: iWARP 和 RoCE https://weibo.com/p/1001603936363903889917?mod=zwenzhang 写的挺好的呢. 本文是讲演 H ...

  5. Git使用总结(二):分支管理

    1.创建分支 a.直接创建 git branch dev(分支名) b.基于某个历史版本创建分支 git branch dev HEAD 2.查看分支 git branch -av 3.删除分支 gi ...

  6. php数组与数据栈相关函数

    php数组可以用栈的角度来操作,这其中包含了如下函数,array_pop(),array_push,array_shift(),array_unshift(). array_pop()函数 将数组的最 ...

  7. Python--遍历文件夹下所有文件和目录的方法(os.walk(rootdir)函数返回一个三元素元祖)

    import os import os.path # This folder is custom rootdir = '/Users/macbookpro/Desktop/test' for pare ...

  8. triples I(按位或运算及3的特性)(2019牛客暑期多校训练营(第四场)D)

    示例1: 输入: 2 3 7 输出: 1 32 3 6 说明:3=3, (3|6)=7 题意:输出尽可能少的数字,他们的按位或结果为输入的数字a. 题解:(表示看不懂题解,看山东大佬的代码看懂的)首先 ...

  9. 【HC89S003F4开发板】 2调度器

    HC89S003F4开发板调度器调试 一.前言 逛论坛看到有人给HC89做了调度器,调度部分直接操作堆栈的. 下载链接 下载下来调试看看. 二.用户代码 @实现效果 编译后led灯闪烁 #includ ...

  10. python之numpy和pandas

    一.numpy矩阵的拼接合并 列拼接:np.column_stack() >>> import numpy as np >>> a = np.arange(9).r ...