Sigmoid function
This article needs additional citations for verification. (May 2008) (Learn how and when to remove this template message) |
A sigmoid function is a mathematical function having a characteristic "S"-shaped curve or sigmoid curve. A standard choice for a sigmoid function is the logistic function shown in the first figure and defined by the formula
- ^{[1]} Other standard sigmoid functions are given in the Examples section.
Special cases of the sigmoid function include the Gompertz curve (used in modeling systems that saturate at large values of x) and the ogee curve (used in the spillway of some dams). Sigmoid functions have domain of all real numbers, with return value monotonically increasing most often from 0 to 1 or alternatively from −1 to 1, depending on convention.
A wide variety of sigmoid functions including the logistic and hyperbolic tangent functions have been used as the activation function of artificial neurons. Sigmoid curves are also common in statistics as cumulative distribution functions (which go from 0 to 1), such as the integrals of the logistic distribution, the normal distribution, and Student's t probability density functions.
Definition[edit]
A sigmoid function is a bounded, differentiable, real function that is defined for all real input values and has a non-negative derivative at each point.^{[1]} A sigmoid "function" and a sigmoid "curve" refer to the same object.
Properties[edit]
In general, a sigmoid function is monotonic, and has a first derivative which is bell shaped. A sigmoid function is constrained by a pair of horizontal asymptotes as .
The sigmoid function is convex for values less than 0, and it is concave for values more than 0. Because of this, the sigmoid function and its affine compositions can possess multiple optima.
Examples[edit]
- Hyperbolic tangent (shifted and scaled version of the logistic function, above)
- Smoothstep function
- Some algebraic functions, for example
The integral of any continuous, non-negative, "bump-shaped" function will be sigmoidal, thus the cumulative distribution functions for many common probability distributions are sigmoidal. One such example is the error function, which is related to the cumulative distribution function of a normal distribution.
Applications[edit]
Many natural processes, such as those of complex system learning curves, exhibit a progression from small beginnings that accelerates and approaches a climax over time. When a specific mathematical model is lacking, a sigmoid function is often used.^{[3]}
The van Genuchten–Gupta model is based on an inverted S-curve and applied to the response of crop yield to soil salinity.
Examples of the application of the logistic S-curve to the response of crop yield (wheat) to both the soil salinity and depth to water table in the soil are shown in logistic function#In agriculture: modeling crop response.
In artificial neural networks, sometimes non-smooth functions are used instead for efficiency; these are known as hard sigmoids.
In biochemistry and pharmacology, the Hill equation and Hill-Langmuir equation are sigmoid functions.
See also[edit]
Wikimedia Commons has media related to Sigmoid functions. |
References[edit]
- ^ ^{a} ^{b} Han, Jun; Morag, Claudio (1995). "The influence of the sigmoid function parameters on the speed of backpropagation learning". In Mira, José; Sandoval, Francisco (eds.). From Natural to Artificial Neural Computation. Lecture Notes in Computer Science. 930. pp. 195–201. doi:10.1007/3-540-59497-3_175. ISBN 978-3-540-59497-0.
- ^ Software to fit an S-curve to a data set [1]
- ^ Gibbs, M.N. (Nov 2000). "Variational Gaussian process classifiers". IEEE Transactions on Neural Networks. 11 (6): 1458–1464. doi:10.1109/72.883477. PMID 18249869.
- Mitchell, Tom M. (1997). Machine Learning. WCB–McGraw–Hill. ISBN 978-0-07-042807-2.. In particular see "Chapter 4: Artificial Neural Networks" (in particular pp. 96–97) where Mitchell uses the word "logistic function" and the "sigmoid function" synonymously – this function he also calls the "squashing function" – and the sigmoid (aka logistic) function is used to compress the outputs of the "neurons" in multi-layer neural nets.
- Humphrys, Mark. "Continuous output, the sigmoid function". Properties of the sigmoid, including how it can shift along axes and how its domain may be transformed.