使用tensorflow进行简单的线性回归

使用tensorflow进行简单的线性回归

标签(空格分隔): tensorflow


数据准备

  • 使用np.random.uniform()生成x方向的数据
  • 使用np.random.uniform()生成bias数据
  • 直线方程为y=0.1x + 0.2
  • 使用梯度下降算法

代码

import numpy as np
import tensorflow as tf
path = ‘D:\tensorflow_quant\ailib\log_tmp‘

# 生成x数据
points = 100
vectors = []
for i in range(points):  # y=0.1*x + 0.2
    x = np.random.uniform(0, 0.66)
    y = x * 0.1 + 0.2 + np.random.uniform(0, 0.04)
    vectors.append([x, y])

x_data = [v[0] for v in vectors]
y_data = [v[1] for v in vectors]

#形成计算图
w = tf.Variable(tf.random_uniform([1], -1.0, 1.0))
b = tf.Variable(tf.zeros([1]))
y = w * x_data + b
#定义损失函数
loss = tf.reduce_mean(tf.square(y-y_data))
#定义优化器
optimizer = tf.train.GradientDescentOptimizer(0.5)
train = optimizer.minimize(loss)
#对计算图开始计算
with tf.Session() as sess:
    init = tf.global_variables_initializer()
    sess.run(init)
    for step in range(1000):
        sess.run(train)
        if step%5==0:
            print(step,sess.run(loss),sess.run(w),sess.run(b))
    #生成计算日志
    writer = tf.Summary.FileWriter(path,sess.graph)

结果汇总:

原文地址:https://www.cnblogs.com/guanzhicheng/p/9211464.html

时间: 2024-10-08 13:44:14

使用tensorflow进行简单的线性回归的相关文章

用Tensorflow完成简单的线性回归模型

思路:在数据上选择一条直线y=Wx+b,在这条直线上附件随机生成一些数据点如下图,让TensorFlow建立回归模型,去学习什么样的W和b能更好去拟合这些数据点. 1)随机生成1000个数据点,围绕在y=0.1x+0.3 周围,设置W=0.1,b=0.3,届时看构建的模型是否能学习到w和b的值. import numpy as np import tensorflow as tf import matplotlib.pyplot as plt num_points=1000 vectors_se

机器学习与Tensorflow(1)——机器学习基本概念、tensorflow实现简单线性回归

一.机器学习基本概念 1.训练集和测试集 训练集(training set/data)/训练样例(training examples): 用来进行训练,也就是产生模型或者算法的数据集 测试集(testing set/data)/测试样例 (testing examples):用来专门进行测试已经学习好的模型或者算法的数据集 2.特征向量 特征向量(features/feature vector):属性的集合,通常用一个向量来表示,附属于一个实例 3.分类问题和回归问题 分类 (classific

使用tensorflow实现最简单的线性回归算法

1 #线性回归:用线性模型y=Wx+b拟合sin 2 import numpy as np 3 import matplotlib.pyplot as plt 4 import tensorflow as tf 5 6 #数据,标签 7 x_data = np.linspace(-2*np.pi,2*np.pi,300) 8 noise = np.random.normal(-0.01,0.05,x_data.shape) 9 y_label = np.sin(x_data) + noise 1

第二篇[机器学习] 学习机器学习,从最简单的线性回归开始

机器学习,分为监督学习和无监督学习,监督学习里有回归和分类,分类有线性回归和逻辑回归. 从最简单的线性回归开始: 通过已有数据需要预测的线性方程: 实际值和预测值的误差,求最小误差函数(最小二乘法): 1.梯度下降法: 其中ε是步长,步长越大,下降越快,但是可能到不了局部最小值,步长越小,下降越慢,计算越多 2.正规方程直接求解: 最小二乘法正规方程组的详细推导: https://zhuanlan.zhihu.com/p/28190949?utm_medium=social&utm_source

TensorFlow——热身运动:简单的线性回归

过程: 先用numpy建立100个数据点,再用梯度下滑工具来拟合,得到完美的回归线. 1 # _*_coding:utf-8_*_ 2 import tensorflow as tf 3 import numpy as np 4 5 # 用numpy建立100个数据点,y=x*0.1+0.3 6 x_data = np.random.rand(100).astype("float32") 7 y_data = x_data*0.1+0.3 8 9 # 建立权值变量W和偏移量变量b 10

简单的线性回归问题-TensorFlow+MATLAB·

首先我们要试验的是 人体脂肪fat和年龄age以及体重weight之间的关系,我们的目标就是得到一个最优化的平面来表示三者之间的关系: TensorFlow的程序如下: import tensorflow as tf import numpy as np import matplotlib.pyplot as plt W = tf.Variable(tf.zeros([2, 1], name="weight_age")) b = tf.Variable(0.0, name="

tensorflow 实现逻辑回归——原以为TensorFlow不擅长做线性回归或者逻辑回归,原来是这么简单哇!

实现的是预测 低 出生 体重 的 概率.尼克·麦克卢尔(Nick McClure). TensorFlow机器学习实战指南 (智能系统与技术丛书) (Kindle 位置 1060-1061). Kindle 版本. # Logistic Regression #---------------------------------- # # This function shows how to use TensorFlow to # solve logistic regression. # y =

TensorFlow实现简单线性回归示例代码

# -*- coding: utf-8 -*- import tensorflow as tf import numpy as np import matplotlib.pyplot as plt def real_func(): return def emperor(): num_points = 1000 vectors_set = [] for i in range(num_points): x1 = np.random.normal(0.0, 0.55) y1 = x1 * 0.1 +

简单多元线性回归(梯度下降算法与矩阵法)

多元线性回归是最简单的机器学习模型,通过给定的训练数据集,拟合出一个线性模型,进而对新数据做出预测. 对应的模型如下: n: 特征数量. 一般选取残差平方和最小化作为损失函数,对应为: M:训练样本数量. 通过最小化代价损失函数,来求得 值,一般优化的方法有两种,第一是梯度下降算法(Gradient Descent),第二种是矩阵法(The normal equations). 梯度下降算法