Fonction logistique avec une pente mais sans asymptotes?


8

La fonction logistique a une plage de sortie de 0 à 1 et la pente asymptotique est nulle des deux côtés.

Qu'est-ce qu'une alternative à une fonction logistique qui ne s'aplatit pas complètement à ses extrémités? Dont les pentes asymptotiques approchent de zéro mais pas de zéro et la plage est infinie?


2
Le titre semble en désaccord avec la façon dont je lis votre question - cette nouvelle fonction est-elle requise pour avoir des asymptotes ou non?
2019 à 16h17

Fondamentalement, je veux une fonction qui ressemble à sigmoïde mais qui a une pente
Aksakal

A droite, une forme semblable à un sigmoïde qui ne s'aplatit pas complètement, par exemple la fonction log ne s'aplatit pas complètement
Aksakal

6
sign(x)log(1+|x|) ?
steveo'america

4
Au début de la décennie appelée, il veut que ses fonctions d'activation du réseau neuronal reviennent. (Désolé mauvaise blague, mais en réalité, c'est pourquoi les gens ont déménagé vers ReLUs) (+1 cependant, question pertinente)
usεr11852

Réponses:


11

Vous pouvez simplement ajouter un terme à une fonction logistique :

f(x;a,b,c,d,e)=a1+bexp(cx)+dx+e

Les asymptotes auront des pentes d.

Voici un exemple avec a=10,b=1,c=2,d=120,e=5:

Sigmoïde


2
Je pense que cette réponse est la meilleure parce que si vous effectuez un zoom arrière assez loin, c'est juste une ligne droite avec un petit mouvement au milieu. Donne le comportement le plus intuitif en grand x mais conserve la forme sigmoïde.
user1717828

cela semblait fonctionner pour mon jeu de données, et je l'ai choisi, mais la solution n'est pas idéale car la pente asymptotique ne diminue pas
Aksakal

11

Au début , je pensais que vous avez envie les asymptotes horizontales0encore; J'ai déplacé ma réponse originale à la fin. Si vous voulez plutôtlimx±f(x)=±alors quelque chose comme le sinus hyperbolique inverse fonctionnerait-il?

asinh(x)=log(x+1+x2)

Ceci est illimité mais grandit comme pour les grandset ressemble log|x|asinh

J'aime beaucoup cette fonction en tant que transformation de données lorsque j'ai des queues lourdes mais éventuellement des zéros ou des valeurs négatives.

Une autre bonne chose à propos de cette fonction est que donc elle a un joli dérivé simple.asinh(x)=11+x2


Réponse originale

Soit notre fonction et nous supposerons f:RR

limx±f(x)=0.

Supposons que soit continu. Fixez . D'après les asymptotes que nous avons et de façon analogue il y a un tel que . Par conséquent, en dehors de est à l'intérieur . Et est un intervalle compact donc par continuité est borné.fε>0

x1:x<x1|f(x)|<ε
x2x>x2|f(x)|<ε[x1,x2] f(ε,ε)[x1,x2]f

Cela signifie qu'une telle fonction ne peut pas être continue. Est-ce que quelque chose comme fonctionnerait?

f(x)={x1x00x=0


2
Les discussions "connexes" incluent cette question sans réponse, au cas où quelqu'un d'autre se serait demandé le suivi naturel "que se passe-t-il si vous utilisez asinh dans un réseau de neurones?" stats.stackexchange.com/questions/359245/…
Sycorax dit

Mes oreilles se sont effectivement dressées. Dans le passé, j'ai trouvé asinh () utile lorsque vous voulez `` enregistrer des trucs '' sur des nombres positifs et négatifs. Il contourne également le dilemme dans lequel vous pouvez entrer, où vous devez faire une transformation de journal sur des données avec des zéros et devez juger d'une valeur appropriée pouralog(x+a)
Ingolifs

comment pouvez-vous paramétrer cette fonction pour changer sa forme? en particulier, pour réguler la pente au point d'inflexion
Aksakal

@Aksakal si alors faire juste garderait la forme et les asymptotiques les mêmes et le dérivé est donc la pente à zéro est justea>0aasinha1+x2a
jld

@Aksakal plus généralement, nous pourrions considérer l'antidérivative de qui est et permet plus de possibilité de changer la forme, ou simplement quelque chose commeac2+(bx)2
ablog(b(bx+c2+(bx)2))
aasinh(bx)
jld

6

Je vais poursuivre et transformer le commentaire en réponse. Je suggère qui a une pente tendant vers zéro, mais sans limite.

f(x)=sign(x)log(1+|x|),

modifier à la demande générale, un tracé, pour : |x|30entrez la description de l'image ici

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.