Keras——用Keras搭建线性回归神经网络
文章目录
- 1.前言
- 2.用Keras搭建线性回归神经网络
- 2.1.导入必要模块
- 2.2.创建数据
- 2.3.搭建模型
- 2.4.激活模型
- 2.5.训练+测试
1.前言
神经网络可以用来模拟回归问题 (regression),例如给一组数据,用一条线来对数据进行拟合,并可以预测新输入 x 的输出值。
2.用Keras搭建线性回归神经网络
2.1.导入必要模块
import numpy as np
from keras.models import Sequential
from keras.layers import Dense
import matplotlib.pyplot as plt
2.2.创建数据
np.random.seed(42)
X = np.linspace(-1,1,200) #(200,)
np.random.shuffle(X)
Y = -0.5*X + 2.7 + np.random.normal(0,0.05,(200,)) #均值,标准差,输出的shape
plt.scatter(X, Y)
plt.show()X_train, Y_train = X[:160],Y[:160] #训练数据0-159
X_test, Y_test = X[160:], Y[160:] #测试数据
2.3.搭建模型
然后用 Sequential 建立 model, 再用 model.add 添加神经层,添加的是 Dense 全连接神经层。参数有两个,一个是输入数据和输出数据的维度, x 和 y 是一维的。
如果需要添加下一个神经层的时候,不用再定义输入的纬度,因为它默认就把前一层的输出作为当前层的输入。在这个例子里,只需要一层就够了。
model = Sequential() #用来一层一层一层的去建立神经层
model.add(Dense(units=1, input_dim=1)) #Dense指这个神经层是全连接层
2.4.激活模型
接下来要激活神经网络,上一步只是定义模型。
参数中,误差函数用的是 mse 均方误差;优化器用的是 sgd 随机梯度下降法。
model.compile(loss='mse',optimizer='sgd') #激活模型
2.5.训练+测试
训练的时候用 model.train_on_batch 一批一批的训练 X_train, Y_train。默认的返回值是 cost,每100步输出一下结果。
测试用到的函数是 model.evaluate,输入测试集的x和y, 输出 cost,weights 和 biases。其中 weights 和 biases 是取在模型的第一层 model.layers[0] 学习到的参数。从学习到的结果你可以看到, weights 比较接近-0.5,bias 接近 2.7。
print('Training.................')
for step in range(500):cost = model.train_on_batch(X_train, Y_train) #一批一批的训练if step % 100 == 0:print('Train cost:',cost)
print('\nTesting................')
cost = model.evaluate(X_test, Y_test, batch_size=40)
print('test cost:',cost)
W, b = model.layers[0].get_weights() #取模型的第一层的参数
print('Weights=',W,'\nbiases=',b)Y_pred = model.predict(X_test)
plt.scatter(X_test, Y_test)
plt.plot(X_test, Y_pred)
plt.show()
Keras——用Keras搭建线性回归神经网络相关推荐
- Keras入门之搭建回归神经网络
Regressor 回归神经网络 参考资料:哔哩哔哩-莫烦python Keras快速搭建神经网络 通俗说也就是实现一个线性回归的数据预测. 以下是莫烦老师视频中的代码,我对一些细节添加了注释以方便阅 ...
- Keras入门(一)搭建深度神经网络(DNN)解决多分类问题
Keras介绍 Keras是一个开源的高层神经网络API,由纯Python编写而成,其后端可以基于Tensorflow.Theano.MXNet以及CNTK.Keras 为支持快速实验而生,能够把 ...
- Keras入门(一)搭建深度神经网络(DNN)解决多分类问题 1
Keras入门(一)搭建深度神经网络(DNN)解决多分类问题 参考文章: (1)Keras入门(一)搭建深度神经网络(DNN)解决多分类问题 (2)https://www.cnblogs.com/jc ...
- 教你如何用Keras搭建分类神经网络
摘要:本文主要通过Keras实现了一个分类学习的案例,并详细介绍了MNIST手写体识别数据集. 本文分享自华为云社区<[Python人工智能] 十七.Keras搭建分类神经网络及MNIST数字图 ...
- Keras——用Keras搭建分类神经网络
文章目录 1.前言 2.用Keras搭建分类神经网络 2.1.导入必要模块 2.2.数据预处理 2.3.搭建模型 2.4.激活模型 2.5.训练+测试 1.前言 今天用 Keras 来构建一个分类神经 ...
- Python-深度学习-学习笔记(13):keras搭建卷积神经网络(对二维数据进行一维卷积)
Python-深度学习-学习笔记(13):keras搭建卷积神经网络(对二维数据进行一维卷积) 卷积神经网络进行图像分类是深度学习关于图像处理的一个应用,卷积神经网络的优点是能够直接与图像像素进行卷积 ...
- 用Keras搭建一个神经网络实现糖尿病检测
这几天一直在弄导师交代的数据分析任务,从此博客中收到很大启发,原来的博客地址:搭建神经网络 教程概述 这里不需要编写太多的代码,不过我们将一步步慢慢地告诉你怎么以后怎么创建自己的模型. 教程将会涵盖以 ...
- keras入门教程 1.线性回归建模(快速入门)
Keras入门教程 1.线性回归建模(快速入门) 2.线性模型的优化 3.波士顿房价回归 (MPL) 4.卷积神经网络(CNN) 5.使用LSTM RNN 进行时间序列预测 6.Keras 预训练模型 ...
- 独家 | 教你用不到30行的Keras代码编写第一个神经网络(附代码教程)
翻译:陈丹 校对:和中华 本文长度为3000字,建议阅读5分钟 本文为大家介绍了如何使用Keras来快速实现一个神经网络. 回忆起我第一次接触人工智能的时候,我清楚地记得有些概念看起来是多么令人畏惧. ...
最新文章
- 南科大新任校长薛其坤:考研3次才进入中科院,杨振宁曾点赞他「诺奖级」研究成果...
- node.js获取本机Ip, hostName, mac
- 【MCtalk活动推荐】娱乐社交APP的AI探索、架构与性能优化实践
- 167. Two Sum II - Input array is sorted
- python 垃圾回收哪时候执行_Python 中的垃圾回收机制是如何工作的?
- 快速搭建react项目骨架(按需加载、redux、axios、项目级目录等等)
- sql数据库的链接方式
- jQuery学习(十一)— 常用的删除方法
- C盘的“压缩驱动器以节约磁盘空间”有用吗
- Spring实战4:面向切面编程
- 博弈论学习笔记(一)
- 汉字编码原则及0XA1与0X80代表的含义。(汉字编码原则为转发)
- Mac xelatex
- 计算机重启后打印机无法连接不上,笔记本之前连上了打印机,重启路由后就连不上了,什么原因...
- 戴尔微型计算机电源怎么拆,教你怎么拆解电源适配器
- LSTM反向传播公式推导
- 【python】52周存钱法
- 编程入门书籍:大学学习计算机基础必读 5 本经典入门书籍,收藏
- 计算机wps文字背景怎么设置,如何在wps文本中添加背景以及如何将图片设置为页面背景...
- 真人拳皇项目第二次Scrum总结——史经浩
热门文章
- java ftc 68是什么意思_机器人比赛;FTC项目介绍与院校简介
- mysql 邻接表_图的邻接表存储结构详解
- RedHat Linux 7安装CentOS 7 yum源
- System Verilog 线程间的通信——事件,信箱与旗语
- java 获取密码框密码,获得Windows下的密码框密码--编程学习网
- AIX errpt 命令输出说明
- xtrabackup备份mysql_xtrabackup备份mysql
- js高级编号笔记[新]-访问文档对象
- PyQt5将ui文件编译为py文件的方法
- Windows10 tpm.msc 管理程序