《深度学习之TensorFlow入门、原理与进阶实战》— 3 TensorFlow基本开发步骤

举报
华章计算机 发表于 2019/05/31 13:42:53 2019/05/31
【摘要】 本书摘自《深度学习之TensorFlow入门、原理与进阶实战》一书中的第3章,第3.1.1节,编著是李金洪.

第3章  TensorFlow基本开发步骤——

以逻辑回归拟合二维数据为例

  环境搭建好之后,读者一定迫不及待地想试试深度学习的程序了吧。本章就直接将一个例子拿出来,在没有任何基础的前提下,一步一步实现一个简单的神经网络。通过这个实例来理解模型,并了解TensorFlow开发的基本步骤。


3.1  实例1:从一组看似混乱的数据中找出y≈2x的规律

  本节通过一个简单的逻辑回归实例为读者展示深度学习的神奇。通过对代码的具体步骤,让读者对深度学习有一个直观的印象。

  实例描述

  假设有一组数据集,其x和y的对应关系为y≈2x。

  本实例就是让神经网络学习这些样本,并能够找到其中的规律,即让神经网络能够总结出y≈2x这样的公式。

  深度学习大概有如下4个步骤:

  (1)准备数据。

  (2)搭建模型。

  (3)迭代训练。

  (4)使用模型。

  准备数据阶段一般就是把任务的相关数据收集起来,然后建立网络模型,通过一定的迭代训练让网络学习到收集来的数据特征,形成可用的模型,之后就是使用模型来为我们解决问题。

3.1.1  准备数据

  这里使用y=2x这个公式来做主体,通过加入一些干扰噪声让它的“等号”变成“约等于”。

  具体代码如下: 

* 导入头文件,然后生成-1~1之间的100个数作为x,见代码第1~5行。

* 将x乘以2,再加上一个[-1,1]区间的随机数×0.3。即,y=2×x+a×0.3(a属于[-1,1]之间的随机数),见代码第6行。

代码3-1  线性回归

01 import tensorflow as tf

02 import numpy as np

03 import matplotlib.pyplot as plt

04

05 train_X = np.linspace(-1, 1, 100)

06 train_Y = 2 * train_X + np.random.randn(*train_X.shape) * 0.3 # y=2x,

但是加入了噪声

07 #显示模拟数据点

08 plt.plot(train_X, train_Y,

  'ro', label='Original data')

09 plt.legend()

10 plt.show()

?注意:np.random.randn(*train_X.shape)这个代码如果看起来比较奇怪,现在给出解释—它等同于np.random. randn(100)

  运行上面代码,显示结果如图3-1所示。

image.png


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。