【发布时间】:2018-12-15 04:26:07
【问题描述】:
我学习机器学习并尝试构建一个简单的 tensorflow 模型。当我尝试训练模型时,我的损失数约为 10。
5s 83us/step - loss: 9.6847 - acc: 0.3971
型号代码:
model = keras.Sequential([
keras.layers.Flatten(input_shape=(28, 28)),
keras.layers.Dense(128, activation=tf.nn.relu),
keras.layers.Dense(128, activation=tf.nn.relu),
keras.layers.Dense(10, activation=tf.nn.softmax)
])
model.compile(optimizer=tf.train.AdamOptimizer(),
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
model.fit(x_train, y_train, epochs=3)
但后来我使用此代码对数据集进行了标准化
x_train = keras.utils.normalize(x_train, axis=1)
然后loss下降到小于1。
问题是它做了什么才能产生如此巨大的影响?
【问题讨论】:
-
我相信这是由于特征缩放的影响:en.wikipedia.org/wiki/Feature_scaling
标签: python tensorflow machine-learning