【问题标题】:Problems building a structured data classifier构建结构化数据分类器的问题
【发布时间】:2021-07-12 06:02:12
【问题描述】:

我一直在尝试构建一个只有 1 个 sigmoid 单元的基本模拟结构化数据分类器,所以我认为基本上是逻辑回归。一切都运行良好,直到我开始训练,但准确性停滞不前并保持不变。

X = np.array([[1,3],[2,4],[3,5]])
Y = np.array([1,0,1])
Y = Y.reshape(3,1)

model = tf.keras.Sequential([
    tf.keras.layers.Dense(1, activation='sigmoid')
])

model.compile(optimizer='adam',
              loss=tf.keras.losses.BinaryCrossentropy(),
              metrics=['accuracy'])

model.fit(X, Y, epochs=10)

Epoch 1/10
1/1 [==============================] - 0s 364ms/step - loss: 2.6870 - accuracy: 0.3333
Epoch 2/10
1/1 [==============================] - 0s 4ms/step - loss: 2.6825 - accuracy: 0.3333
Epoch 3/10
1/1 [==============================] - 0s 4ms/step - loss: 2.6780 - accuracy: 0.3333
Epoch 4/10
1/1 [==============================] - 0s 5ms/step - loss: 2.6734 - accuracy: 0.3333
Epoch 5/10
1/1 [==============================] - 0s 4ms/step - loss: 2.6689 - accuracy: 0.3333
Epoch 6/10
1/1 [==============================] - 0s 9ms/step - loss: 2.6644 - accuracy: 0.3333
Epoch 7/10
1/1 [==============================] - 0s 4ms/step - loss: 2.6599 - accuracy: 0.3333
Epoch 8/10
1/1 [==============================] - 0s 5ms/step - loss: 2.6553 - accuracy: 0.3333
Epoch 9/10
1/1 [==============================] - 0s 7ms/step - loss: 2.6508 - accuracy: 0.3333
Epoch 10/10
1/1 [==============================] - 0s 5ms/step - loss: 2.6463 - accuracy: 0.3333

【问题讨论】:

    标签: python tensorflow machine-learning keras neural-network


    【解决方案1】:

    您的模型无法适应您的数据
    您的数据如下所示

    不可能以超过 33.33% 的准确率将 sigmoid 曲线拟合到此数据
    这就是为什么您的模型无法达到 33.33% 以上的准确率
    因此,如果您增加模型大小,您的模型将获得更高的准确度

    【讨论】:

    • 是的,但是静止精度不会反弹一点,并且无法达到局部最小值的第一个 epoch 吗?
    • 其实,33.33%并不是达到的最大准确率。尝试将模型训练更多 epoch(可能是 200-300),您会发现准确率确实跃升至 66.66%。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-10
    • 2018-08-11
    • 2011-03-19
    • 1970-01-01
    相关资源
    最近更新 更多