文章目录

  • 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搭建线性回归神经网络相关推荐

  1. Keras入门之搭建回归神经网络

    Regressor 回归神经网络 参考资料:哔哩哔哩-莫烦python Keras快速搭建神经网络 通俗说也就是实现一个线性回归的数据预测. 以下是莫烦老师视频中的代码,我对一些细节添加了注释以方便阅 ...

  2. Keras入门(一)搭建深度神经网络(DNN)解决多分类问题

    Keras介绍   Keras是一个开源的高层神经网络API,由纯Python编写而成,其后端可以基于Tensorflow.Theano.MXNet以及CNTK.Keras 为支持快速实验而生,能够把 ...

  3. Keras入门(一)搭建深度神经网络(DNN)解决多分类问题 1

    Keras入门(一)搭建深度神经网络(DNN)解决多分类问题 参考文章: (1)Keras入门(一)搭建深度神经网络(DNN)解决多分类问题 (2)https://www.cnblogs.com/jc ...

  4. 教你如何用Keras搭建分类神经网络

    摘要:本文主要通过Keras实现了一个分类学习的案例,并详细介绍了MNIST手写体识别数据集. 本文分享自华为云社区<[Python人工智能] 十七.Keras搭建分类神经网络及MNIST数字图 ...

  5. Keras——用Keras搭建分类神经网络

    文章目录 1.前言 2.用Keras搭建分类神经网络 2.1.导入必要模块 2.2.数据预处理 2.3.搭建模型 2.4.激活模型 2.5.训练+测试 1.前言 今天用 Keras 来构建一个分类神经 ...

  6. Python-深度学习-学习笔记(13):keras搭建卷积神经网络(对二维数据进行一维卷积)

    Python-深度学习-学习笔记(13):keras搭建卷积神经网络(对二维数据进行一维卷积) 卷积神经网络进行图像分类是深度学习关于图像处理的一个应用,卷积神经网络的优点是能够直接与图像像素进行卷积 ...

  7. 用Keras搭建一个神经网络实现糖尿病检测

    这几天一直在弄导师交代的数据分析任务,从此博客中收到很大启发,原来的博客地址:搭建神经网络 教程概述 这里不需要编写太多的代码,不过我们将一步步慢慢地告诉你怎么以后怎么创建自己的模型. 教程将会涵盖以 ...

  8. keras入门教程 1.线性回归建模(快速入门)

    Keras入门教程 1.线性回归建模(快速入门) 2.线性模型的优化 3.波士顿房价回归 (MPL) 4.卷积神经网络(CNN) 5.使用LSTM RNN 进行时间序列预测 6.Keras 预训练模型 ...

  9. 独家 | 教你用不到30行的Keras代码编写第一个神经网络(附代码教程)

    翻译:陈丹 校对:和中华 本文长度为3000字,建议阅读5分钟 本文为大家介绍了如何使用Keras来快速实现一个神经网络. 回忆起我第一次接触人工智能的时候,我清楚地记得有些概念看起来是多么令人畏惧. ...

最新文章

  1. 南科大新任校长薛其坤:考研3次才进入中科院,杨振宁曾点赞他「诺奖级」研究成果...
  2. node.js获取本机Ip, hostName, mac
  3. 【MCtalk活动推荐】娱乐社交APP的AI探索、架构与性能优化实践
  4. 167. Two Sum II - Input array is sorted
  5. python 垃圾回收哪时候执行_Python 中的垃圾回收机制是如何工作的?
  6. 快速搭建react项目骨架(按需加载、redux、axios、项目级目录等等)
  7. sql数据库的链接方式
  8. jQuery学习(十一)— 常用的删除方法
  9. C盘的“压缩驱动器以节约磁盘空间”有用吗
  10. Spring实战4:面向切面编程
  11. 博弈论学习笔记(一)
  12. 汉字编码原则及0XA1与0X80代表的含义。(汉字编码原则为转发)
  13. Mac xelatex
  14. 计算机重启后打印机无法连接不上,笔记本之前连上了打印机,重启路由后就连不上了,什么原因...
  15. 戴尔微型计算机电源怎么拆,教你怎么拆解电源适配器
  16. LSTM反向传播公式推导
  17. 【python】52周存钱法
  18. 编程入门书籍:大学学习计算机基础必读 5 本经典入门书籍,收藏
  19. 计算机wps文字背景怎么设置,如何在wps文本中添加背景以及如何将图片设置为页面背景...
  20. 真人拳皇项目第二次Scrum总结——史经浩

热门文章

  1. java ftc 68是什么意思_机器人比赛;FTC项目介绍与院校简介
  2. mysql 邻接表_图的邻接表存储结构详解
  3. RedHat Linux 7安装CentOS 7 yum源
  4. System Verilog 线程间的通信——事件,信箱与旗语
  5. java 获取密码框密码,获得Windows下的密码框密码--编程学习网
  6. AIX errpt 命令输出说明
  7. xtrabackup备份mysql_xtrabackup备份mysql
  8. js高级编号笔记[新]-访问文档对象
  9. PyQt5将ui文件编译为py文件的方法
  10. Windows10 tpm.msc 管理程序