深度学习——Keras实现线性和非线性回归

在上篇深度学习框架Keras的教程中,我们详细的介绍了Keras中的Sequential和Functional API。也使用Keras的Sequential实现了手写字体的识别。这次的推文中我们继续来看看Keras的简单使用。因为简单,所以这次我们的教程主要是使用Keras来实现机器学习中重要的算法-线性和非线性回归算法。

一、线性回归

线性回归是机器学习领域中常见的算法,该算法试图学习到一个线性模型以尽可能精确的预测出有关输入X的输入Y,或者说精确的建立自变量和观测变量之间的映射关系。好比我们初中阶段学习的:y=kx+b

二、Keras实现线性回归算法

简单的介绍了线性回归的概念之后我们就来实现这个算法了,不懂线性回归模型的小伙伴自己先补充一些机器学习的知识哈。

这里先复习一下使用Keras中Sequential模型来实现一个构建神经网络模型的步骤:

  1. 导入模块并生成数据
  2. 建立深度学习模型
  3. 激活模型
  4. 进行模型的训练
  5. 进行模型验证

2.1 先导入相应的模块

import numpy as np

import matplotlib.pyplot as plt
from keras.models import Sequential

from keras.layers import Dense

代码解释:

(1)第一行代码导入numpy,此模块用来产生训练数据集和测试数据集

(2)第二行代码导入画图的模块

(3)第三行代码导入keras中的Sequential API。

(4)第四行代码导入keras中的全连接层(密集层)

2.2 构建数据集

X_data = np.random.rand(200)
noise = np.random.normal(loc=0,scale=0.09,size=X_data.shape)

Y_data = 2*X_data + noise

X_train, Y_train = X_data[:160], Y_data[:160]     # 前160组数据为训练数据集
X_test, Y_test = X_data[160:], Y_data[160:]       # 后40组数据为测试数据集

plt.scatter(X_data,
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值