[Math] Biasing sigmoid curve

exponential functionfunctions

I wish to use the sigmoid function $1-{1\over1+e^{-x+c}}$ to obtain a value from 0 to 1 (to be used for a probability value), where $c$ is a constant. The higher this constant, the lower the probability.

This is going to be used for a monte-carlo search algorithm, where the deeper the search goes the chances of exploring deeper are lowered. This depth is represented by $x$.

Now I wish to be able to dampen or amplify this function according to some fitness value that I have. I still want it to give me a value from 0 to 1, but I wish to bias the curve a bit upwards with respect to another parameter (this fitness value). If this value is high I want to push the curve up, while if it is low I want to push it down (or vice-versa if its simpler). This way the probability of a 'fit' candidate is a bit higher.

You can assume I can normalise my fitness value to whatever is necessary such that it conforms to the required range of values.

How do I adjust this formula to include this fitness value?

Best Answer

This is my idea.

You'd like to make a 1-1 transform of $x$. Originally, $x \mapsto x$. If you'd like to skew this relation, how about a power of $x$?

For example, $x \mapsto x^a$, for $x$ positive. You'll get a range of behaviors.

Generally, $x \mapsto sgn(x) |x|^a$.

EDIT: I realized this is not quite what you asked for. OK, let's transform the function then. With

$$ y = 1-{1\over1+e^{-x+c}}$$

apply the transformation

$$y \mapsto y^a$$