学习记录搬运

前言

深度学习是通过深度神经网络来解决问题的方法,在此记录五步法构建基本模型。


五个步骤

1、构造网络模型

2、编译模型

3、训练模型

4、评估模型

5、使用模型进行预测


构造–编译–训练–评估–预测


四种基本元素

1、网络层结构

由5种基本结构和其他层结构组成。

2、激活函数

如sigmoid、relu、softmax,最后的输出用softmax,其余基本用relu。

3、损失函数

多分类:categorical_crossentropy 对数损失
二分类:binary_crossentropy 对数损失
回归:mean_squared_error 平均方差损失 mean_absolute_error 平均绝对值损失

4、优化器

如SGD随机梯度下降、Adam等


六种基本层结构

4种元素之一的网络结构是由6种基本层结构所构成的,3种主模型–深度学习的主要3种结构。

1、全连接层Dense

万能的函数近似器。使用场景广泛。

2、卷积层

conv1d、conv2d 非常适用于处理图像数据。

3、循环层

LSTM、GRU 处理语言、文本等序列数据。

4、防止过拟合层

Dropout、池化层等。

5、层间接合层

其作用是在上面3种主模型和输入的数据之间进行转换。如Flatten层是卷积层和Dense层之间的数据格式转换层。

6、辅助层

主要为3种主模型服务。如Activation层用于为Dense层指定激活函数。


keras中提供的Sequential容器实现过程式构造,使用add方法添加层结构。

from keras.models import Sequential
from keras.layers import Dense, Activation
model = Sequential()
model.add(Dense(units=64, input_dim=100))
model.add(Activation("relu"))
model.add(Dense(units=10))
model.add(Activation("softmax"))

1、编译模型

model.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy'])

编译时需要指定3项:loss损失函数、optimizer优化器、metrics参数矩阵(辅助设置)
loss只想使用最基本功能时,指定字符串名称即可。配置更多参数则需要调用对应的类来生成对象。为sgd加上nesterov动量

from keras.optimizers import SGD
model.compile(loss='categorical_crossentropy', optimizer=SGD(lr=0.001, momentum=0.9, nesterov=True)

2、训练模型

model.fit(x_train, y_train, epochs=10, batch_size=32)

3、评估模型

使用的测试数据是没有训练过的数据

loss_and_metrics = model.evaluate(x_test, y_test, batch_size=128)

4、使用模型预测

调用predict函数,传入要预测的数据

classes = model.predict(x_test, batch_size=128)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值