2017-09-22 7 views
0

J'ai une fonction externe qui prend y et y_prediction (au format matriciel), et calcule une métrique qui montre à quel point la prédiction est bonne ou mauvaise.Mesure de perte externe personnalisée pour l'optimiseur de gradient?

Malheureusement, la métrique n'est pas une simple matrice y-ypred ou de confusion, mais elle reste très utile et importante. Comment puis-je utiliser ce nombre calculé pour la perte ou comme argument pour optimizer.minimize?

Répondre

0

Si je j'ai bien compris pense qu'il ya deux façons de le faire:

Soit la perte que vous voulez calculer peut être écrit comme ops tensorflow qui gradient est défini (pour exemple SVD n'a pas de gradient défini dans la bibliothèque tensorflow tristement) alors l'optimisation est directe.

Ou vous pouvez toujours écrire votre fonction de perte avec les opérateurs numpy et utiliser tf.py_func() https://www.tensorflow.org/api_docs/python/tf/py_func et vous devez explicitement le gradient à la main comme dit ici: How to make a custom activation function with only Python in Tensorflow? Mais vous devez savoir une formule explicite de votre gradient ...