实验1:tensorflow 实现线性回归

实验1 tensorflow 实现线性回归说在前面本实验使用tensorflow来实现一元线性回归。背景:拿到手上有一堆数据,想要建立一元线性函数y = wx+b来拟合这些数据(使所有点到这条直线的距离最小)思想:建立的一元线性函数被w,b唯一确定,任务就是找到这两个参数。随机初始化w,b;建立损失函数来评估w,b的好坏;采用梯度下降法更新w,b的取值;实验步骤生成带噪声的数据,原数据服从sin函数分布定义输入输出、变量(权重与偏置)、损失函数、优化器开始训练输出最终结果、可视化主
摘要由CSDN通过智能技术生成

实验1 tensorflow 实现线性回归

说在前面

本实验使用tensorflow来实现一元线性回归。

背景:拿到手上有一堆数据,想要建立一元线性函数
y = wx+b来拟合这些数据
思想:建立的一元线性函数被w,b唯一确定,任务就是找到这两个参数。随机初始化w,b;建立损失函数来评估w,b的好坏;采用梯度下降法更新w,b的取值;

实验步骤

  1. 生成带噪声的数据,原数据服从sin函数分布
  2. 定义输入输出、变量(权重与偏置)、损失函数、优化器
  3. 开始训练
  4. 输出最终结果、可视化

主要API

API 功能
tf.placeholder() 定义输入输出的容器
tf.Variable() 定义变量
tf.train.GradientDescentOptimizer().minimize() 梯度下降
tf.global_variables_initializer() 初始化变量
tf.Session() 创建执行环境
sess.run() 执行喂入的节点

具体代码

import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['figure.figsize'] = (14, 8)
# 1.生成带噪声的数据
n = 100
xs = np.linspace(-3,3,n)
ys 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您提供逻辑回归模型TensorFlow 实现实验报告。在这份实验报告中,我们将讨论逻辑回归模型的基本概念和 TensorFlow 实现过程。 1. 逻辑回归模型概述 逻辑回归模型是一种分类算法,它通常用于解决二分类问题。它基于线性回归模型,但其输出被限制在0和1之间。逻辑回归模型的输出可以被解释为某个事件发生的概率。在训练过程中,我们使用一组特征来预测一个二元目标变量的值。 2. TensorFlow 实现过程 为了实现逻辑回归模型,我们需要使用 TensorFlow 库。以下是 TensorFlow 实现逻辑回归模型的步骤: (1) 导入所需的库: ```python import tensorflow as tf import numpy as np import matplotlib.pyplot as plt ``` (2) 准备数据 我们需要准备训练数据和测试数据。在这里,我们将使用一个简单的数据集。 ```python train_X = np.array([[1., 2.], [2., 3.], [3., 4.], [4., 5.], [5., 6.], [6., 7.], [7., 8.], [8., 9.]]) train_Y = np.array([[0.], [0.], [0.], [0.], [1.], [1.], [1.], [1.]]) ``` (3) 定义模型 我们使用 TensorFlow 创建一个简单的逻辑回归模型。 ```python # 定义输入和输出 X = tf.placeholder(tf.float32, shape=[None, 2]) Y = tf.placeholder(tf.float32, shape=[None, 1]) # 定义权重和偏置项 W = tf.Variable(tf.zeros([2, 1])) b = tf.Variable(tf.zeros([1])) # 定义输出 logits = tf.matmul(X, W) + b pred = tf.nn.sigmoid(logits) ``` (4) 定义损失函数和优化器 我们使用交叉熵作为损失函数,并使用梯度下降优化器来最小化损失函数。 ```python # 定义损失函数和优化器 loss = tf.reduce_mean(tf.nn.sigmoid_cross_entropy_with_logits(logits=logits, labels=Y)) optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.01).minimize(loss) ``` (5) 训练模型 我们使用 TensorFlow 训练模型。 ```python # 训练模型 sess = tf.Session() sess.run(tf.global_variables_initializer()) for i in range(1000): _, l = sess.run([optimizer, loss], feed_dict={X: train_X, Y: train_Y}) if (i + 1) % 100 == 0: print("Epoch:", i + 1, "Loss:", l) ``` (6) 测试模型 我们使用 TensorFlow 测试模型。 ```python # 测试模型 test_X = np.array([[9., 10.], [10., 11.]]) test_Y = np.array([[1.], [1.]]) print("Accuracy:", sess.run(tf.reduce_mean(tf.cast(tf.equal(tf.round(pred), Y), tf.float32)), feed_dict={X: test_X, Y: test_Y})) ``` 3. 总结 逻辑回归模型是一种简单而强大的分类算法。在 TensorFlow 中,我们可以很容易地实现逻辑回归模型。在本实验中,我们讨论了逻辑回归模型的基本概念和 TensorFlow 实现过程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值