J'essaie de participer à ma première compétition Kaggle où RMSLE
est donnée comme fonction de perte requise. Car je n'ai rien trouvé comment mettre en œuvre ce loss function
J'ai essayé de se contenter de RMSE
. Je sais que cela faisait partie de Keras
dans le passé, est-il possible de l'utiliser dans la dernière version, peut-être avec une fonction personnalisée via backend
?Fonction de perte RMSE/RMSLE dans Keras
C'est le NN I conçu:
from keras.models import Sequential
from keras.layers.core import Dense , Dropout
from keras import regularizers
model = Sequential()
model.add(Dense(units = 128, kernel_initializer = "uniform", activation = "relu", input_dim = 28,activity_regularizer = regularizers.l2(0.01)))
model.add(Dropout(rate = 0.2))
model.add(Dense(units = 128, kernel_initializer = "uniform", activation = "relu"))
model.add(Dropout(rate = 0.2))
model.add(Dense(units = 1, kernel_initializer = "uniform", activation = "relu"))
model.compile(optimizer = "rmsprop", loss = "root_mean_squared_error")#, metrics =["accuracy"])
model.fit(train_set, label_log, batch_size = 32, epochs = 50, validation_split = 0.15)
J'ai essayé une fonction personnalisée root_mean_squared_error
j'ai trouvé sur GitHub mais pour tout ce que je sais la syntaxe n'est pas ce qui est nécessaire. Je pense que le y_true
et le y_pred
faudrait définir avant passer au retour, mais je ne sais pas exactement comment, je viens de commencer avec la programmation en Python et je suis vraiment pas bon en maths ...
from keras import backend as K
def root_mean_squared_error(y_true, y_pred):
return K.sqrt(K.mean(K.square(y_pred - y_true), axis=-1))
Je reçois l'erreur suivante avec cette fonction:
ValueError: ('Unknown loss function', ':root_mean_squared_error')
Merci pour vos idées, j'apprécie toute l'aide!
fonctionne parfaitement bien, je vous remercie beaucoup d'avoir signalé cette erreur. Je n'y ai vraiment pas pensé car je suis un peu novice en programmation. Vous ne savez pas par hasard comment éditer cette fonction personnalisée afin qu'elle calcule l'erreur LOGARITHMIC de la racine carrée moyenne, voulez-vous? – dennis
Il me donne la fonction de perte inconnue: root_mean_squared_error – Jitesh
@Jitesh S'il vous plaît ne faites pas de tels commentaires, faites votre propre question avec le code source. –