Почему точность ниже 0,01, но прогноз очень хороший (99,99%) - PullRequest
1 голос
/ 06 ноября 2019

Я создал свою первую нейронную сеть с TensorFlow 2 на Python. Моя идея состояла в том, чтобы построить нейронную сеть, которая способна найти решение для перевода двоичных чисел (8-разрядных) в десятичные числа. После нескольких попыток: Да, это работает очень точно!

Но что я не понимаю: Точность очень низкая.

Второе: модель должна обучать более 200 000 значений! За 256 возможных ответов. Где ошибка в моем коде / модели?

#dataset
def dataset(length, num):
 global testdata, solution
 testdata = np.random.randint(2, size=(num, length))

 solution = testdata.copy()
 solution = np.zeros((num, 1))

 for i in range(num):
  for n in range(length):
   x = testdata [i,length - n -1] * (2 ** n)
   solution [i] += x

length = 8
num = 220000
dataset (length, num)

#Modell
model = tf.keras.models.Sequential([
  tf.keras.layers.Dense(8, activation='relu'),
  tf.keras.layers.Dense(1, activation='relu')
])

model.compile(optimizer='adam',
              loss='mean_squared_error',
              metrics=['accuracy'])

#Training und Evaluate
model.fit(testdata, solution, epochs=4)
model.evaluate(t_testdata,  t_solution, verbose=2)
model.summary()

потеря: 6.6441e-05 - точность: 0.0077

Разве это не должно быть 0,77 или выше?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...