步骤
(A)首先开发一个过拟合的模型
(1)添加更多的层 --最有用
(2)让每一层变得更大
(3)训练更多的轮次
(B)抑制过拟合(没有足够数据的情况)
(1)dropout
(2)正则化
(3)图像增强
(C)再次调节超参数
(1)learning rate
(2)隐藏层单元数
(3)训练轮次
fashionminst数据集的一次尝试
首先,先用很多层和单元,看看是否过拟合
import tensorflow as tf
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
(train_image, train_label), (test_image, test_label) = tf.keras.datasets.fashion_mnist.load_data()
#进行归一化处理
train_image = train_image/255
test_image = test_image/255
# 将label转化为onehot的编码形式
train_label_onehot = tf.keras.utils.to_categorical(train_label)
test_label_onehot = tf.keras.utils.to_categorical(test_label)
# 在原来的基础上多加上两个隐藏层
model = tf.keras.Sequential()
model.add(tf.keras.layers.Flatten(input_shape=(28,28)))
model.add(tf.keras.layers.Dense(128, activation='relu'))
model.add(tf.keras.layers.Dense(128, activation='relu'))
model.add(tf