首页 > TensorFlow
阅读:5,923
TensorFlow实现简单线性回归
本节将针对波士顿房价数据集的房间数量(RM)采用简单线性回归,目标是预测在最后一列(MEDV)给出的房价。
在下图中可以看到,随着模型不断学习数据,损失函数不断下降:
下图是简单线性回归器的 TensorBoard 图:
该图有两个名称范围节点 Variable 和 Variable_1,它们分别是表示偏置和权重的高级节点。以梯度命名的节点也是一个高级节点,展开节点,可以看到它需要 7 个输入并使用 GradientDescentOptimizer 计算梯度,对权重和偏置进行更新:
(点此查看高清大图)
有多种方法可以做到这一点。统计上来说,可以计算 R2 或将数据分为训练集和交叉验证集,并检查验证集的准确性(损失项)。
波士顿房价数据集可从http://lib.stat.cmu.edu/datasets/boston处获取。
本小节直接从 TensorFlow contrib 数据集加载数据。使用随机梯度下降优化器优化单个训练样本的系数。实现简单线性回归的具体做法
-
导入需要的所有软件包:
-
在神经网络中,所有的输入都线性增加。为了使训练有效,输入应该被归一化,所以这里定义一个函数来归一化输入数据:
-
现在使用 TensorFlow contrib 数据集加载波士顿房价数据集,并将其分解为 X_train 和 Y_train。可以对数据进行归一化处理:
-
为训练数据声明 TensorFlow 占位符:
-
创建 TensorFlow 的权重和偏置变量且初始值为零:
-
定义用于预测的线性回归模型:
-
定义损失函数:
-
选择梯度下降优化器:
-
声明初始化操作符:
-
现在,开始计算图,训练 100 次:
-
查看结果:
解读分析
从下图中可以看到,简单线性回归器试图拟合给定数据集的线性线:(点此查看高清大图)
总结
本节进行了简单的线性回归,但是如何定义模型的性能呢?有多种方法可以做到这一点。统计上来说,可以计算 R2 或将数据分为训练集和交叉验证集,并检查验证集的准确性(损失项)。
所有教程
- socket
- Python基础教程
- C#教程
- MySQL函数
- MySQL
- C语言入门
- C语言专题
- C语言编译器
- C语言编程实例
- GCC编译器
- 数据结构
- C语言项目案例
- C++教程
- OpenCV
- Qt教程
- Unity 3D教程
- UE4
- STL
- Redis
- Android教程
- JavaScript
- PHP
- Mybatis
- Spring Cloud
- Maven
- vi命令
- Spring Boot
- Spring MVC
- Hibernate
- Linux
- Linux命令
- Shell脚本
- Java教程
- 设计模式
- Spring
- Servlet
- Struts2
- Java Swing
- JSP教程
- CSS教程
- TensorFlow
- 区块链
- Go语言教程
- Docker
- 编程笔记
- 资源下载
- 关于我们
- 汇编语言
- 大数据
- 云计算
- VIP视频