Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

230
Vistas
Keras: Binary_crossentropy tiene valores negativos

Estoy siguiendo este tutorial (sección 6: Uniéndolo todo), con mi propio conjunto de datos. Puedo hacer que el ejemplo en el tutorial funcione, no hay problema, con el conjunto de datos de muestra proporcionado.

Recibo un error de entropía cruzada binaria que es negativo y no hay mejoras a medida que avanzan las épocas. Estoy bastante seguro de que la entropía cruzada binaria siempre debería ser positiva, y debería ver alguna mejora en la pérdida. He truncado la salida de muestra (y la llamada de código) a continuación a 5 épocas. Otros parecen tener problemas similares a veces cuando entrenan CNN, pero no vi una solución clara en mi caso. ¿Alguien sabe por qué ocurre esto?

Salida de muestra:

 Creating TensorFlow device (/gpu:2) -> (device: 2, name: GeForce GTX TITAN Black, pci bus id: 0000:84:00.0) 10240/10240 [==============================] - 2s - loss: -5.5378 - acc: 0.5000 - val_loss: -7.9712 - val_acc: 0.5000 Epoch 2/5 10240/10240 [==============================] - 0s - loss: -7.9712 - acc: 0.5000 - val_loss: -7.9712 - val_acc: 0.5000 Epoch 3/5 10240/10240 [==============================] - 0s - loss: -7.9712 - acc: 0.5000 - val_loss: -7.9712 - val_acc: 0.5000 Epoch 4/5 10240/10240 [==============================] - 0s - loss: -7.9712 - acc: 0.5000 - val_loss: -7.9712 - val_acc: 0.5000 Epoch 5/5 10240/10240 [==============================] - 0s - loss: -7.9712 - acc: 0.5000 - val_loss: -7.9712 - val_acc: 0.5000

Mi código:

 import numpy as np import keras from keras.models import Sequential from keras.layers import Dense from keras.callbacks import History history = History() seed = 7 np.random.seed(seed) dataset = np.loadtxt('train_rows.csv', delimiter=",") #print dataset.shape (10240, 64) # split into input (X) and output (Y) variables X = dataset[:, 0:(dataset.shape[1]-2)] #0:62 (63 of 64 columns) Y = dataset[:, dataset.shape[1]-1] #column 64 counting from 0 #print X.shape (10240, 62) #print Y.shape (10240,) testset = np.loadtxt('test_rows.csv', delimiter=",") #print testset.shape (2560, 64) X_test = testset[:,0:(testset.shape[1]-2)] Y_test = testset[:,testset.shape[1]-1] #print X_test.shape (2560, 62) #print Y_test.shape (2560,) num_units_per_layer = [100, 50] ### create model model = Sequential() model.add(Dense(100, input_dim=(dataset.shape[1]-2), init='uniform', activation='relu')) model.add(Dense(50, init='uniform', activation='relu')) model.add(Dense(1, init='uniform', activation='sigmoid')) model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy']) ## Fit the model model.fit(X, Y, validation_data=(X_test, Y_test), nb_epoch=5, batch_size=128)
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Debería haber impreso mi variable de respuesta. Las categorías se etiquetaron como 1 y 2 en lugar de 0 y 1, lo que confundió al clasificador.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda