2016-06-19 2 views
0

Comment écrire une fonction de perte de précision de catégorisation pour keras (bibliothèque d'apprentissage en profondeur)?Comment écrire une fonction de perte de précision de catégorisation pour keras (bibliothèque d'apprentissage en profondeur)?

La perte de précision de catégorisation est le pourcentage de prédictions erronées, c'est-à-dire # faux/# points de données.

Est-il possible d'écrire une fonction de perte personnalisée pour cela?

Merci.

Répondre

1

EDIT

Bien que Keras vous permet d'utiliser la fonction personnalisée de perte, je ne suis pas convaincu plus que l'utilisation de la précision que la perte est logique. Tout d'abord, la dernière couche du réseau sera généralement soft-max, de sorte que vous obtenez un vecteur de probabilités de classe plutôt que la classe la plus probable. Deuxièmement, je crains qu'il y aura des problèmes avec le calcul de gradient en raison du manque de finesse de la précision.

VIEUX POST

Keras vous offre la possibilité d'utiliser les fonctions de perte personnalisées. Pour obtenir la perte de précision, vous pouvez vous inspirer des examples déjà implémentés. Pour la classification binaire, je suggère la mise en œuvre suivante

def mean_accuracy_error(y_true, y_pred): 
    return K.mean(K.abs(K.sign(y_true - y_pred)), axis=-1) 
+0

il est multiclass, c'est pourquoi j'ai des problèmes. Je ne peux pas juste prendre la différence. – user136266

+0

Merci pour votre commentaire. Je vais mettre à jour mon post, car je pense qu'il y a un problème avec la couche softmax. –