【问题标题】:What is the role of normalization function in TensorFlow?TensorFlow中归一化函数的作用是什么?
【发布时间】: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。

问题是它做了什么才能产生如此巨大的影响?

【问题讨论】:

标签: python tensorflow machine-learning


【解决方案1】:

“问题是它做了什么才能产生如此巨大的影响?” 它将训练数据归一化为数据Implementation 的 l2 范数。这样做是为了没有特定样本主导权重更新的方式。请参阅此question 的答案。在这个答案中,使用两个特征逻辑回归示例解释了归一化的原因。

【讨论】:

    猜你喜欢
    • 2018-06-08
    • 1970-01-01
    • 2018-10-07
    • 1970-01-01
    • 2010-11-19
    • 2020-12-13
    • 1970-01-01
    相关资源
    最近更新 更多