构建网络
2019-03-18 本文已影响0人
庵下桃花仙
模型定义
from keras import models
from keras import layers
def build_model():
model = models.Sequential() # 因为需要将同一个模型多次实例化,所以用一个函数来构建模型
model.add(layers.Dense(64, activation='relu',
input_shape=(train_data.shape[1],)))
model.add(layers.Dense(64, activation='relu'))
model.add(layers.Dense(1)) # 无激活函数,标量回归的典型设置
model.compile(optimizer='rmsprop', loss='mse', metrics=['mae'])
return model
与前面分类不同的地方:
1、模型定义在一个函数中,因为需要将同一个模型多次实例化,所以用一个函数来构建模型;
2、注意第一层 input_shape;
3、最后一层只有一个单元,是一个线性层,无激活函数。因为添加激活函数会限制输出范围;
4、编译网络中,损失函数用 mse (均方误差,MSE,mean squared error),表示预测值与目标值之差的平方;
5、监控的指标为 mae(平均绝对误差,MAE,mean absolute error),表示预测值与目标值之差的绝对值。