tensorflow2.0入门(2):keras详解和回归模型构建

前言

在 TensorFlow2.0 中,推荐使用 Keras ( tf.keras ) 构建神经网络模型,因此学习tf2.0要从keras入手。

Keras 是一个用 Python 编写的高级神经网络 API,具有用户友好、模块化、易扩展性等特点。

tensorflow2.0入门(2):keras详解和回归模型构建_第1张图片

1、keras详解

Keras基本结构如下:

tensorflow2.0入门(2):keras详解和回归模型构建_第2张图片

Keras 有两个重要的部分:Model和Layer。Layer包含构成网络的函数、变量,Model包含将层连接和组织的函数和参数。

2、tf.keras基本操作

Keras基本结构如下:

(1)引入

import tensorflow as tffrom tensorflow.keras import layers

(2)层的堆叠

model = tf.keras.Sequential()model.add(layers.Dense(32, activation='relu'))

通过add方式增加模型的层数,选择Dense模式,激活函数为relu。激活函数一般有:

tensorflow2.0入门(2):keras详解和回归模型构建_第3张图片

(3)配置训练

model.compile(optimizer=tf.keras.optimizers.Adam(0.001),             loss=tf.keras.losses.categorical_crossentropy,             metrics=[tf.keras.metrics.categorical_accuracy])

设计好模型后,需要选择一个合适的优化器(Optimizers)对模型进行优化,tf2.0常用的优化器如下:

tensorflow2.0入门(2):keras详解和回归模型构建_第4张图片

loss为损失函数,metrics为性能评估模块。

3、tf.keras实现线性回归

回归分析是一种预测性的建模技术,它研究的是因变量(目标)和自变量(预测器)之间的关系。采用tf2.0中波士顿房价数据进行分析。

tf2.0中的datasets主要有:

tensorflow2.0入门(2):keras详解和回归模型构建_第5张图片

波士顿房价输入为13维的因素数据,输出为房价。

CRIM:城镇人均犯罪率。

ZN:住宅用地超过 25000 sq.ft. 的比例。

INDUS:城镇非零售商用土地的比例。

CHAS:查理斯河空变量(如果边界是河流,则为1;否则为0)。

NOX:一氧化氮浓度。

RM:住宅平均房间数。

AGE:1940 年之前建成的自用房屋比例。

DIS:到波士顿五个中心区域的加权距离。

RAD:辐射性公路的接近指数。

TAX:每 10000 美元的全值财产税率。

PTRATIO:城镇师生比例。

B:1000(Bk-0.63)^ 2,其中 Bk 指代城镇中黑人的比例。

LSTAT:人口中地位低下者的比例。

MEDV:自住房的平均房价,以千美元计。

具体程序为:

import tensorflow.keras as keras
import tensorflow.keras.layers as layers

# 导入数据 (x_train, y_train), (x_test, y_test) = keras.datasets.boston_housing.load_data()

#模型构建 model = keras.Sequential([
 layers.Dense(32, activation='sigmoid', input_shape=(13,)), layers.Dense(64, activation='sigmoid'), layers.Dense(32, activation='sigmoid'), layers.Dense(1)
])

# 配置模型 model.compile(optimizer=keras.optimizers.SGD(0.1), loss='mean_squared_error', # keras.losses.mean_squared_error metrics=['mse'])

#模型结构 model.summary()

#模型训练 model.fit(x_train, y_train, batch_size=50, epochs=50, validation_split=0.1, verbose=1)

#模型测试 result = model.evaluate(x_test, y_test)

print(model.metrics_names)
print(result)

模型结构为:

tensorflow2.0入门(2):keras详解和回归模型构建_第6张图片

模型输出为:

image

关注公众号,获取海量学习资源。

tensorflow2.0入门(2):keras详解和回归模型构建_第7张图片

1024程序开发者社区的交流群已经建立,许多小伙伴已经加入其中,感谢大家的支持。大家可以在群里就技术问题进行交流,还没有加入的小伙伴可以扫描下方“社区物业”二维码,让管理员帮忙拉进群,期待大家的加入。

tensorflow2.0入门(2):keras详解和回归模型构建_第8张图片

//猜你喜欢//

  • 用深度强化学习玩贪食蛇

  • Django+xadmin打造在线考试系统2.0

  • Django+uwsgi+nginx(Ubuntu:16.4)项目部署

  • 10月底还能看到女朋友穿短裙吗?教你用4行Python代码爬取历史天气数据

  • tensorflow2.0入门(1):GPU版环境搭建Win10+Cuda10+ cudnn7.6.3

你可能感兴趣的:(tensorflow2.0,深度学习,神经网络)