-1

Supposons que je souhaite modéliser la fonction sqrt avec un réseau de neurones. Mais pour chaque entrée x, il y a deux réponses sqrt(x) = y et sqrt(x) = -y. (Mais en réalité, je ne sais pas que j'ai la fonction sqrt - J'ai juste beaucoup de données - donc je ne sais pas a priori s'il y a 0, 1, 2, ou plus de réponses y pour chaque entrée x .) Comment puis-je obtenir la distribution correcte de y?Apprentissage automatique avec une "fonction" pouvant comporter deux sorties ou plus

Répondre

0

La question que vous devriez vous poser, comment voulez-vous former un tel réseau de neurones:

Si vous envisagez de donner x -> {sqrt (x), - sqrt (x)} comme exemple de formation i , alors cela signifie que vous connaissez le nombre de sorties en regardant un seul exemple, donc vous devriez encoder le fait qu'il y a 2 sorties. Si vous pensiez donner des exemples qui sont parfois x -> sqrt (x) et autre fois x -> -sqrt (x), alors votre réseau de neurones serait très difficile à former car chaque gradient pourrait changer les poids d'une manière complètement différente. Il convergerait probablement après de nombreux exemples d'entraînement, et produirait simplement le y qu'il voyait le plus.

Une meilleure façon de le faire serait probablement d'utiliser quelque chose comme une fonction de récompense dans l'apprentissage par renforcement. La fonction dans ce cas serait f (x) = x^2 et indiquerait simplement si la sortie est correcte. Cela permettrait à votre réseau de s'entraîner à la fois pour des résultats positifs et négatifs. Alors essayez de trouver une fonction de récompense pour votre problème!