Kears 构建神经网络记录

模型搭建6步走

** 此处以红酒数据集为例
导包如下:

from tensorflow.keras import Sequential
from tensorflow.keras.layers import Dense,Dropout
from tensorflow.keras.optimizers import SGD
from tensorflow.keras.optimizers import Adam
import sklearn.datasets as data
from sklearn.model_selection  import train_test_split
from sklearn.metrics import accuracy_score
from matplotlib import pyplot
from keras.utils import to_categorical

1)导入数据,训练及测试数据集划分

# load dataset
wine = data.load_wine()
X = wine.data
y = wine.target
y = to_categorical(y,3)
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.2)

2)定义模型:即构建模型层数框架,选择激活函数,神经元个数等
*** 注意二分类与多分类问题使用的激活函数与损失函数是不同的

# add model
model = Sequential()
model.add(Dense(100, activation='relu', input_shape=(13,)))
# model.add(Dropout(0.2))
model.add(Dense(50, activation='relu'))
# model.add(Dropout(0.2))
# model.add(Dense(10, activation='relu'))
model.add(Dense(3,activation='softmax'))

3)编译模型:即选择合适的损失函数和优化算法(如Adma,SGD等)

#compile the model
#opt = SGD (learning_rate =0.05, momentum =0.9)
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])

#summarize the model
model.summary()
# plot_model(model, show_shapes=True)

4)训练模型

#fit the model
history = model.fit(X_train, y_train, epochs =200, batch_size=32, verbose=1)

5)评估模型

#Evaluate the model
loss,acc = model.evaluate(X_test, y_test, verbose=1)
print("Test Accuracy:",loss)

6)模型预测

# make a prediction
yhat = model.predict(X_train)

画图:

# plot learning curves
pyplot.title('Learning Curves')
pyplot.xlabel('Epoch')
pyplot.ylabel('Cross Entropy')
pyplot.plot(history.history['loss'], label='train')
# pyplot.plot(history.history['val_loss'], label='val')
pyplot.legend()
pyplot.show()

kears loss function:https://keras.io/api/losses/probabilistic_losses/#categoricalcrossentropy-class

激活函数:https://www.cnblogs.com/nxf-rabbit75/p/9276412.html

softmax详解

tensorflow实现模型可视化(plot_model函数)
报错:TypeError: 'InputLayer' object is not iterable
解决:使用TensorFlow2.0

如何解决神经网络训练时loss不下降的问题

Loss优化方法:SGD,Momentum,AdaGrad,RMSProp,Adam

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容