簡體   English   中英

Keras 二元分類器教程示例僅提供 50% 的驗證准確度

[英]Keras Binary Classifier Tutorial Example gives only 50% validation accuracy

Keras 二元分類器教程示例僅提供 50% 的驗證准確度。 近 50% 的准確率可以從未經訓練的分類器本身獲得,用於二元分類。

這個例子直接來自https://keras.io/getting-started/sequential-model-guide/

import numpy as np
import tensorflow as tf

from tensorflow_core.python.keras.models import Sequential
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Dropout

np.random.seed(10)

# Generate dummy data
x_train = np.random.random((1000, 20))
y_train = np.random.randint(2, size=(1000, 1))

x_test = np.random.random((800, 20))
y_test = np.random.randint(2, size=(800, 1))

model = Sequential()
model.add(Dense(64, input_dim=20, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(64, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(1, activation='sigmoid'))

model.compile(loss='binary_crossentropy',
              optimizer='rmsprop',
              metrics=['accuracy'])

model.fit(x_train, y_train,
          epochs=50,
          batch_size=128,
          validation_data=(x_test, y_test))
score = model.evaluate(x_test, y_test, batch_size=128)

精度輸出。

  • 我嘗試了多次試驗。
  • 增加隱藏層數

紀元 50/50 1000/1000 [==============================] - 0s 211us/樣本 - 損失:0.6905 - 准確度:0.5410 - val_loss:0.6959 - val_accuracy:0.4812

有人可以幫我理解這里是否有問題嗎?

  • 如何提高教程中提出的這個“示例”問題的准確性?

如果您使用random示例訓練分類器,您將始終獲得 aprrox。 此處由x_test表示的驗證數據准確率為 50%。 這是因為您的訓練樣本是通過隨機類別進行訓練的。 此外,驗證或測試集已分配給隨機類別。 這就是隨機准確率(即 50-50%)出現的原因。 您測試訓練集的時期越多,由於過度擬合,您在訓練集上獲得的准確度就越高。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM