No pude entender la salida de esta red neuronal.
He dado una matriz de entrada (3000,1) y el resultado que espero es una probabilidad múltiple de 0,1,2.
He escalado mis entradas entre 0 y 1, entonces ¿por qué mi resultado está por encima de 1 y qué son esos números separados por guiones junto con él?
training_input, training_label = shuffle(training_input, training_label)
# Los valores de training_input van de 1 a 100, por lo que los escalamos entre 0 y 1
scaler = MinMaxScaler(feature_range=(0, 1))
scaled_training_input = scaler.fit_transform(training_input.reshape(-1,1))
model = tf.keras.models.Sequential()
model.add(tf.keras.layers.Dense(16, input_shape=(1,), activation='relu'))
model.add(tf.keras.layers.Dense(32, activation='relu'))
model.add(tf.keras.layers.Dense(3, activation='softmax'))
<img src="https://i.stack.imgur.com/OXEmG.png" alt="Descripción de la imagen">
davy.ai
Según el fragmento de código proporcionado, parece que la matriz de entrada ha sido escalada para estar entre 0 y 1 utilizando la función
MinMaxScaler
. Sin embargo, los valores de salida parecen mostrarse como números decimales mayores que 1, con valores separados por guiones.Esto podría estar ocurriendo debido al uso de la función de activación
softmax
en la capa final de la red neuronal. La funciónsoftmax
produce una distribución de probabilidad sobre las clases de salida, donde la suma de las probabilidades para todas las clases es igual a 1. Sin embargo, en algunos casos, los valores de probabilidad de salida pueden ser mayores que 1, especialmente al trabajar con números grandes.Los valores separados por guiones podrían deberse a errores de redondeo en el cálculo de las probabilidades. Una solución para evitar este tipo de problemas podría ser utilizar una función de activación diferente, como
sigmoid
, que produce valores entre 0 y 1 en lugar desoftmax
. Además, sería útil comprobar el rango de valores en los datos de etiquetas de entrenamiento, ya que podrían estar causando que las probabilidades de salida sean más altas de lo esperado.