TensorFlow入门教程:14:噪声数据: 随机分布
前面的文章中主要就线性回归进行了模拟,这篇文章重点讨论一下学习和训练过程中训练数据的问题。
前文中y=3*x + 1的训练数据,直接使用的数据是完全符合的数据,没有任何误差,散点信息如下所示:
绘图代码信息如下
xdata = np.linspace(0,1,100)
ydata = 2 * xdata + 1
plt.scatter(xdata,ydata,color='b')
噪声影响
上述的数据是完美的数据,没有任何干扰情况下的数据,但是往往实际训练模型中很难保证所有数据都是如此。即使是线性回归这么简单的模型也一般不会出现上述类型的实际数据。
就像声音的波形会受到噪声的干扰,最终所得到的叠加的波形一般是输入的数据,在这篇文章中我们也会模拟常见的影响,对数据加上噪声的影响。噪声影响的方式有很多种,比如随机分布与高斯分布。
随机分布
简单来说,对生成的因变量数据加上一个纵向随机小范围的偏移量,主要保证如下的特点:
- 随机性
- 小范围的偏移
- 整体线性不会有变化
随机噪声生成
使用np.random.rand来生成随机噪声
x=np.linspace(0,1,100)
y1=2*x + np.random.rand(*x.shape) + 1
效果与分布
可以看出整体是能够满足:随机/小范围偏移/整体线性趋势明显的效果。这是自然的,因为我们只是加了一个随机的偏移量而已。
再看一下整体分布状况,显示出一定的随机性
示例代码
liumiaocn:Notebook liumiao$ cat basic-operation-9.py
import numpy as np
import matplotlib.pyplot as pltxdata = np.linspace(0,1,100)
ydata = 2 * xdata + np.random.rand(*xdata.shape) + 1
plt.scatter(xdata,ydata,color='b')
plt.title('noise: random.rand')
plt.show()plt.hist(ydata,20)
plt.title('distribution: random')
plt.show()liumiaocn:Notebook liumiao$
噪声调整
如果对噪声显示的范围有所期待,可以使用很多种方式进行调整,比如在生成的时候指定范围,或者在生成之后简单的乘个幅度,比如:
ydata = 2 * xdata + np.random.rand(*xdata.shape)*0.2 + 1
接下来我们来看一下进行这样调整之后的数据展示与分布状况
示例代码
liumiaocn:Notebook liumiao$ cat basic-operation-10.py
import numpy as np
import matplotlib.pyplot as pltxdata = np.linspace(0,1,100)
ydata = 2 * xdata + np.random.rand(*xdata.shape)*0.2 + 1plt.subplot(1,2,1)
plt.scatter(xdata,ydata,color='b')
plt.title('noise: random.rand')plt.subplot(1,2,2)
plt.hist(ydata,20)
plt.title('distribution: random')
plt.show()liumiaocn:Notebook liumiao$
显示结果
可以看出范围明显收窄,分布仍然呈现随机性的特点
总结
这篇文章我们学习了噪声在训练中的特点,并对随机噪声的生成与分布情况进行了展示,接下来将会对另外一种非常常见的噪声类型(正态分布)进行对比和确认。
TensorFlow入门教程:14:噪声数据: 随机分布相关推荐
- TensorFlow入门教程(1)安装、基础、Tensorboard
TensorFlow入门教程 本教程适合人群: - 会些python但不是特别精通 - 机器学习的初学者 本教程预计耗时: - 2-3小时 本教程预计效果: - 掌握TensorFlow的基础操作 - ...
- TensorFlow入门教程:1:安装和第一个例子程序
TensorFlow™ 是Google开源的一个采用数据流图用于数值计算的开源库.截止到目前为止在github上已经获得超过6万个Star,已经成为深度学习和机器学习方面最为受欢迎的项目,炙手可热.这 ...
- Tensorflow 入门教程
Tensorflow 入门教程 http://tensornews.cn/ 深度学习发展史 特征工程 深度学习之激活函数 损失函数 反向传播算法 [上] 反向传播算法 [下] Tensorflow ...
- (转)tensorflow入门教程(二十六)人脸识别(上)
https://blog.csdn.net/rookie_wei/article/details/81676177 1.概述 查看全文 http://www.taodudu.cc/news/show- ...
- Android基础入门教程——6.2 数据存储与访问之——SharedPreferences保存用户偏好参数
Android基础入门教程--6.2 数据存储与访问之--SharedPreferences保存用户偏好参数 标签(空格分隔): Android基础入门教程 本节引言: 本节给大家介绍的是第二种存储用 ...
- TensorFlow入门教程:8:训练数据之Iris数据集
Irises,闻名于世的不只是梵高那副价值超过5000万美元的鸢尾花,同时还有Iris数据集. Iris数据集由英国统计学家/生物学家Ronald Fisher在1936年所收集,共包含150条数据, ...
- 比官方更简洁的Tensorflow入门教程
声明: 参考自Python TensorFlow Tutorial – Build a Neural Network,本文简化了文字部分 文中有很多到官方文档的链接,毕竟有些官方文档是中文的,而且写的 ...
- tensorflow官方文档_开源分享:最好的TensorFlow入门教程
如果一门技术的学习曲线过于陡峭,那么我们在入门时的场景往往是,一鼓作气,没入门,再而衰,三而竭.演绎一出从入门到放弃的败走麦城. 今天发现一个入门TensorFlow的宝藏,迫不及待的分享给大家.这个 ...
- mysql数据库入门教程(6):数据的增删改
前面两篇博文介绍了数据库的查询 mysql数据库入门教程(4):查询讲解大全 mysql数据库入门教程(5):多表操作(连接查询,子查询,分页查询,联合查询) 今天介绍下数据库的增删改. 数据库基本操 ...
最新文章
- 计算机系统存数及取数方式,计算机系统结构总结2
- redhat6.下安装配置hadoop环境--单实例版本
- 已知三角形三点坐标求角度_2019高考数学:解三角形——正弦定理和余弦定理的解题技巧和模型...
- 20个jQuery 图片及多媒体画廊插件
- C和汇编-----for循环
- html 图片行内剧中,HTML入门(转义字符、行内样式和块级元素、定位、锚点、跑马灯标签、图片标签、表格标签的讲解)...
- django.db.utils.OperationalError: (1040, ‘Too many connections‘)
- (王道408考研操作系统)第二章进程管理-第二节2:调度算法评价指标
- java实现回溯算法,java基础面试笔试题
- mybatis 使用in 查询时报错_为什么使用samtools检查bam质量时报错?
- C/C++ C# unity Python 帮助文档 书籍 学习资料
- jsp和java一样具有平台独立性._web开发技术总复习题
- unity3d中XML文件报错原因的解决方案
- c语言程序设计判断是否是素数,C语言编程输入一个数判断是否为素数(质数)...
- android10项目编译出错,android studio编译项目出错
- 图像空间滤波总结(平滑空间滤波器及锐化空间滤波器)
- 谷歌浏览器网页翻译失效的解决方案
- AWE2021:加速拥抱数字化 开启智慧生活新纪元
- 数据库作业:SQL练习2 - INDEX / INSERT / SELECT
- SharePoint加K2,将Portal系统与BPM系统完美整合!