200 votes

Comment calculer une fonction logistique sigmoïde en Python ?

Il s'agit d'une fonction sigmoïde logistique :

entrez la description de l'image ici

Je sais x. Comment puis-je calculer F(x) en Python maintenant ?

Disons x = 0,458.

F(x) = ?

286voto

unwind Points 181987

Cela devrait le faire :

 import math

def sigmoid(x):
  return 1 / (1 + math.exp(-x))

Et maintenant, vous pouvez le tester en appelant :

 >>> sigmoid(0.458)
0.61253961344091512

Mise à jour : Notez que ce qui précède était principalement destiné à être une traduction directe de l'expression donnée en code Python. Il n'est pas testé ou connu pour être une implémentation numériquement valable. Si vous savez que vous avez besoin d'une implémentation très robuste, je suis sûr qu'il y en a d'autres où les gens ont réellement réfléchi à ce problème.

11voto

dontloo Points 2754

Une autre façon en transformant la fonction tanh :

 sigmoid = lambda x: .5 * (math.tanh(.5 * x) + 1)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X