1 votos

Clasificación secuencial de datos binarios desequilibrados con LSTM

Estoy construyendo un modelo de clasificación binaria secuencial LSTM, los datos están muy desequilibrados como por ejemplo el caso de detección de fraude.

Después de construir un modelo LSTM sobre datos vectorizados secuenciales, estoy obteniendo un recuerdo muy bajo de 0,005.

# build LSTM layers
model = Sequential()
model.add(LSTM (100, dropout=0.2, input_shape=(time_steps, features)))
model.add(Dense(50, activation='relu'))
model.add(Dense(25, activation='relu'))
model.add(Dense(10, activation='relu'))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='rmsprop', metrics=[Recall()])
print (model.summary())
history=model.fit(train_X, train_Y, validation_data=(test_X, test_Y), 
epochs=10,batch_size=64)

Por favor, ayúdenme a optimizar la recuperación de este modelo.

Gracias

0voto

Baradrist Puntos 1

El problema es que en sus datos de entrenamiento, la clase "positiva" (ya que el recuerdo es el problema, supongo que el "fraude" es el "positivo") está subrepresentada y el algoritmo no tiene suficientes datos para captar esta señal. Incluso existe una estrategia fácil y válida para ello: Puede obtener una precisión muy alta prediciendo sólo la clase abundante por defecto, ya que se equivocará muy pocas veces.

Lo que puede hacer ahora es sobremuestrear o submuestrear sus datos para hacer que las clases sean artificialmente más iguales. Existen numerosas técnicas para ello (véase aquí ), además de poder aumentar las muestras positivas que se utilizan. También existe la opción de ponderar tus muestras, lo que significa que las muestras positivas obtienen una influencia muy fuerte en la métrica de error (escalada en relación a su proporción recíproca en los datos) asignada para la retropropagación en comparación con la clase abundante. Para Keras esto se parece a este . La alternativa es utilizar otro modelo (para la detección de valores atípicos, a veces se emplean autocodificadores ( aquí y aquí )).

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X