最近接触到了keras框架,因为需要做一些神经网络的实验。之前学过tensorflow框架,但是对于研究而言,这个框架确实上手难度比较大,即便是tensorflow的运算速度上要比keras高。
学习keras框架,我选择的书籍是《python深度学习》,因为我想研究的领域大多是一些拟合问题,所以第三章的前半部分大致读一下就略过了,重点放在了用于拟合问题的神经网络学习上,在书中给出的问题是:波士顿房价预测,房价预测也是吴恩达在讲述机器学习用于举例的第一个问题(为什么都喜欢用房价预测?)
数据集:
用的是keras自带的数据集,用代码即可加载。包含 506 个样本,分为 404 个训练样本和 102 个测试样本,每个样本13条属性,且都是连续值属性。
网络结构:
因为是讲解,选用3层bp神经网络,至于具体选用的优化器等参数,在程序的解释中会有。
评价指标:
网络损失值和绝对值误差
代码:
from keras import models
from keras import layers
import matplotlib.pyplot as plt
# 载入数据
from keras.datasets import boston_housing
(train_data, train_targets), (test_data, test_targets) = boston_housing.load_data()
print(train_data.shape)
# 数据预处理,去均值和除标准差得到平均值为0和标准差为1
mean = train_data.mean(axis=