Articles

Función Sigmoide

¿Qué es la función Sigmoide?

Una función Sigmoide es una función matemática que tiene una curva característica en forma de S. Hay una serie de funciones sigmoides comunes, como la función logística, la tangente hiperbólica y la arctangente

. En el aprendizaje automático, el término función sigmoide

se utiliza normalmente para referirse específicamente a la función logística, también llamada función sigmoide logística.

Todas las funciones sigmoides tienen la propiedad de mapear toda la línea numérica en un rango pequeño, como entre 0 y 1, o -1 y 1, por lo que un uso de una función sigmoide es convertir un valor real en uno que pueda interpretarse como una probabilidad.

Una de las funciones sigmoides más utilizadas es la función logística, que asigna cualquier valor real al rango (0, 1). Nótese la característica forma de S que dio su nombre a las funciones sigmoides (de la letra griega sigma).

Las funciones sigmoides se han vuelto populares en el aprendizaje profundo porque se pueden usar como función de activación en una red neuronal artificial. Se inspiraron en el potencial de activación de las redes neuronales biológicas.

Las funciones sigmoides también son útiles para muchas aplicaciones de aprendizaje automático en las que un número real debe convertirse en una probabilidad. Una función sigmoide colocada como la última capa de un modelo de aprendizaje automático puede servir para convertir la salida del modelo en una puntuación de probabilidad, que puede ser más fácil de trabajar e interpretar.

Las funciones sigmoides son una parte importante de un modelo de regresión logística. La regresión logística es una modificación de la regresión lineal para la clasificación de dos clases, y convierte una o más entradas de valor real en una probabilidad, como la probabilidad de que un cliente compre un producto. La etapa final de un modelo de regresión logística a menudo se establece en la función logística, lo que permite que el modelo genere una probabilidad.

Fórmula de la función sigmoide

Todas las funciones sigmoides son monótonas y tienen una primera derivada en forma de campana. Hay varias funciones sigmoides y algunas de las más conocidas se presentan a continuación.

Tres de las funciones sigmoides más comunes: la función logística, la tangente hiperbólica y la arctangente. Todos comparten la misma forma de S básica.

Fórmula de la función sigmoide logística

Una de las funciones sigmoides más comunes es la función sigmoide logística. Esto se conoce a menudo como la Función Sigmoide en el campo del aprendizaje automático. La función sigmoide logística se define de la siguiente manera:

Definición matemática de la función sigmoide logística, una función sigmoide común

La función logística toma cualquier entrada de valor real y produce un valor entre cero y uno.

Fórmula de la Función tangente hiperbólica

Otra función sigmoide común es la función hiperbólica. Esto asigna cualquier entrada de valor real al rango entre -1 y 1.

definición Matemática de la tangente hiperbólica

arco tangente de la Función de la Fórmula

Una tercera alternativa función sigmoide es el arco tangente, que es la inversa de la función tangente.

La función arctangente

La función arctangente asigna cualquier entrada de valor real al rango-π/2 a π / 2.

En los gráficos siguientes podemos ver tanto la curva tangente, una función trigonométrica bien conocida, como la arctangente, su inversa:

Cálculo de la Función Sigmoidea

Ejemplo de Cálculo de Logística Función Sigmoidea

se Toma la logística función sigmoidea, podemos evaluar el valor de la función en varios puntos clave para entender la función del formulario.

En x = 0, la función sigmoide logística evalúa a:

Esto es útil para la interpretación del sigmoide como probabilidad en un modelo de regresión logística, porque muestra que una entrada cero da como resultado una salida de 0,5, indicando probabilidades iguales de ambas clases.

En x = 1, encontramos un valor ligeramente mayor:

y por x = 5, el valor de la función sigmoide se vuelve muy cercano a 1.

De hecho, en el límite de x que tiende hacia el infinito, la función sigmoide converge a 1, y hacia -1 en el caso del infinito negativo, pero la derivada de la función nunca llega a cero. Estas son propiedades muy útiles de la función sigmoide, ya que tiende hacia un límite, pero siempre tiene un gradiente distinto de cero.

Ejemplo de cálculo de la Función Tangente Hiperbólica

De manera similar, podemos calcular el valor de la función tanh en estos puntos clave. En lugar de estar centrada alrededor de 0,5, la función tanh está centrada en 0.

A 1, la función tanh ha aumentado relativamente mucho más rápidamente que la función logística:

Y, finalmente, por 5, la función tanh se ha estrechado mucho más de cerca a 1, en el plazo de 5 decimales:

De hecho, tanto la tangente hiperbólica y arcotangente funciones convergen mucho más rápidamente que la logística función sigmoidea.

Ejemplo de cálculo de la Función Arctangente

Podemos evaluar la función arctangente en los mismos puntos para ver dónde converge:

Tenga en cuenta que, a diferencia de las otras dos funciones sigmoides mostradas anteriormente, la arctangente converge a π/2 en lugar de 1. Además, el arctangente converge más lentamente, ya que en x = 5 ni siquiera está cerca de su valor final. Solo en números bastante grandes, como x = 5000, la arctangente se acerca mucho a π/2.

Resumen de tres funciones sigmoides

podemos comparar las propiedades clave de las tres funciones sigmoides se muestra arriba en una tabla:

Sigmoid function Logistic function tanh arctan
Value in the limit x →-∞ 0 -1 -π/2
Value at x = 0 0.5 0 0
Value in the limit x →∞ 1 1 π/2
Converges Fast Very fast Very slow

Sigmoid Function vs. ReLU

En las redes neuronales artificiales modernas, es común ver en lugar de la función sigmoide, el rectificador, también conocido como unidad lineal rectificada, o ReLU, que se usa como función de activación. El ReLU se define como:

Definición del rectificador de la función de activación

el Gráfico de la ReLU función

El ReLU función tiene varias ventajas sobre una función sigmoide en una red neuronal. La principal ventaja es que la función ReLU es muy rápida de calcular. Además, un potencial de activación en una red neuronal biológica no continúa cambiando por entradas negativas, por lo que el ReLU parece más cercano a la realidad biológica si el objetivo es imitar sistemas biológicos.

Además, para x positivo

la función ReLU tiene un gradiente constante de 1, mientras que una función sigmoide tiene un gradiente que converge rápidamente hacia 0. Esta propiedad hace que las redes neuronales con funciones de activación sigmoidea se entrenen con lentitud. Este fenómeno se conoce como el problema del gradiente de desaparición. La elección de ReLU como función de activación alivia este problema porque el gradiente de ReLU es siempre 1 para

x positivo y, por lo tanto, el proceso de aprendizaje no se ralentizará debido a que el gradiente se vuelva pequeño.

Sin embargo, el gradiente cero para x negativo puede plantear un problema similar, conocido como el problema del gradiente cero, pero es posible compensar esto agregando un pequeño término lineal en x para dar a la función ReLU una pendiente distinta de cero en todos los puntos.

Aplicaciones de la Función Sigmoide

Función sigmoide logística en regresión logística

Un área clave del aprendizaje automático donde la función sigmoide es esencial es un modelo de regresión logística. Se utiliza un modelo de regresión logística para estimar la probabilidad de un evento binario, como muerto vs vivo, enfermo vs bien, transacción fraudulenta vs honesta, etc. Genera un valor de probabilidad entre 0 y 1.

En regresión logística, una función sigmoide logística se ajusta a un conjunto de datos donde las variables independientes pueden tomar cualquier valor real, y la variable dependiente es 0 o 1.

Por ejemplo, imaginemos un conjunto de datos de mediciones y diagnósticos de tumores. Nuestro objetivo es predecir la probabilidad de propagación de un tumor, dado su tamaño en centímetros.

Algunas mediciones de dimensiones y resultados tumorales

Trazando todo el conjunto de datos, tenemos una tendencia general de que, cuanto más grande es el tumor, más probable es que se haya diseminado, aunque hay una clara superposición de ambas clases en el rango de 2,5 cm a 3,5 cm:

Una gráfica de resultados tumorales versus dimensiones tumorales

Mediante regresión logística, podemos modelar el estado tumoral y (0 o 1) en función del tamaño tumoral x utilizando la fórmula sigmoide logística:

donde necesitamos encontrar los valores óptimos m y b, que nos permiten desplazar y estirar la curva sigmoide para que coincida con los datos.

En este caso, el ajuste de la curva sigmoidea nos da los siguientes valores:

podemos poner estos valores en el sigmoides fórmula y trazar la curva:

Esto significa que, por ejemplo, dado un tumor de tamaño 3cm, nuestro modelo de regresión logística que predicen la probabilidad de que este tumor como la difusión de:

Intuitivamente, esto tiene sentido. En los datos originales, podemos ver que los tumores de alrededor de 3 cm están distribuidos más o menos uniformemente entre ambas clases.

Consideremos un tumor de tamaño 6 cm. Todos los tumores del conjunto de datos original de tamaño 4 cm o superior se habían diseminado, por lo que esperaríamos que nuestro modelo devolviera una alta probabilidad de diseminación del tumor:

El modelo ha devuelto una probabilidad muy cercana a 1, lo que indica la certeza cercana de que y = 1.

Esto muestra cómo las funciones sigmoides, y la función logística en particular, son extremadamente poderosas para el modelado de probabilidades.

¿Por qué se utiliza la función logística en la regresión logística, y no otra función sigmoide?

La razón por la que la función logística se utiliza en la regresión logística, y ninguna de las otras variantes sigmoides, no se debe solo al hecho de que devuelve convenientemente valores entre 0 y 1. La regresión logística se deriva de la suposición de que los datos en ambas clases se distribuyen normalmente.

Imaginemos que los tumores que no se diseminan y los tumores que se diseminan siguen una distribución normal. Los tumores no diseminados se distribuyen normalmente con una media de 1,84 cm y una desviación estándar de 1 cm, y los tumores diseminados se distribuyen normalmente con una media de 4,3 cm, también con una desviación estándar de 1 cm. Podemos trazar la función de densidad de probabilidad de ambas distribuciones normales:

En cada punto podemos calcular la razón de probabilidades de las dos distribuciones, que es la función de densidad de probabilidad de los tumores diseminados dividida por la suma de ambas funciones de densidad de probabilidad (tumores no diseminados + diseminados):

, podemos ver que el resultado es la curva sigmoide logística original.

La razón por la que se elige la función logística para la regresión logística se debe a una suposición de que estamos modelando dos clases que están distribuidas normalmente, y la función logística surge naturalmente de la relación de funciones de densidad de probabilidad normales.

Función sigmoide como función de activación en redes neuronales artificiales

Una red neuronal artificial consta de varias capas de funciones, superpuestas unas a otras:

Una red neuronal de alimentación con dos capas ocultas

Cada capa normalmente contiene algunos pesos y sesgos y funciones como una pequeña regresión lineal. Una parte crucial de las capas es también la función de activación.

Fórmula para la primera capa oculta de una red neuronal de alimentación, con pesos denotados por W y sesgos por b, y función de activación g.

Sin embargo, si cada capa de la red neuronal contuviera solo pesos y sesgos, pero sin función de activación, toda la red sería equivalente a una sola combinación lineal de pesos y sesgos. En otras palabras, la fórmula para la red neuronal podría factorizarse y simplificarse hasta un modelo de regresión lineal simple. Un modelo de este tipo sería capaz de recoger dependencias lineales muy simples, pero incapaz de realizar las impresionantes tareas por las que las redes neuronales son famosas, como el reconocimiento de imágenes y voz.

Se introdujeron funciones de activación entre capas en redes neuronales para introducir una no linealidad. Originalmente se utilizaron funciones sigmoides como la función logística, arctangente y tangente hiperbólica, y hoy ReLU y sus variantes son muy populares. Todas las funciones de activación tienen el mismo propósito: introducir una no linealidad en la red. Las funciones sigmoides fueron elegidas como algunas de las primeras funciones de activación gracias a su similitud percibida con el potencial de activación en las redes neuronales biológicas.

Gracias al uso de una función sigmoide en varios puntos dentro de una red neuronal de múltiples capas, las redes neuronales se pueden construir para que las capas sucesivas capten características cada vez más sofisticadas de un ejemplo de entrada.

Historia de la Función Sigmoide

En 1798, el clérigo y economista inglés Thomas Robert Malthus publicó un libro bajo un seudónimo llamado Ensayo sobre el Principio de Población, afirmando que la población estaba aumentando en una progresión geométrica (duplicándose cada 25 años), mientras que los suministros de alimentos aumentaban aritméticamente, y que la diferencia entre los dos se debía a una hambruna generalizada.

A finales de la década de 1830, el matemático belga Pierre François Verhulst estaba experimentando con diferentes formas de modelar el crecimiento de la población, y quería explicar el hecho de que el crecimiento de una población es en última instancia autolimitado, y no aumenta exponencialmente para siempre. Verhulst eligió la función logística como un ajuste lógico al modelo exponencial simple, con el fin de modelar la desaceleración del crecimiento de una población que ocurre cuando una población comienza a agotar sus recursos.

Durante el siglo siguiente, los biólogos y otros científicos comenzaron a utilizar la función sigmoide como una herramienta estándar para modelar el crecimiento de la población, desde colonias bacterianas hasta civilizaciones humanas.

En 1943, Warren McCulloch y Walter Pitts desarrollaron un modelo de red neuronal artificial utilizando un corte duro como función de activación, donde una neurona produce 1 o 0 dependiendo de si su entrada está por encima o por debajo de un umbral.

En 1972, los biólogos Hugh Wilson y Jack Cowan de la Universidad de Chicago estaban tratando de modelar neuronas biológicas computacionalmente y publicaron el modelo Wilson–Cowan, donde una neurona envía una señal a otra neurona si recibe una señal mayor que un potencial de activación. Wilson y Cowan eligieron la función sigmoide logística para modelar la activación de una neurona en función de un estímulo.

A partir de los años 1970 y 1980 en adelante, varios investigadores comenzaron a usar funciones sigmoides en formulaciones de redes neuronales artificiales, inspirándose en las redes neuronales biológicas. En 1998, Yann LeCun eligió la tangente hiperbólica como función de activación en su innovadora LeNet de red neuronal convolucional, que fue la primera en ser capaz de reconocer dígitos escritos a mano con un nivel práctico de precisión.

En los últimos años, las redes neuronales artificiales se han alejado de las funciones sigmoides en favor de la función ReLU, ya que todas las variantes de la función sigmoide son computacionalmente intensivas de calcular, y la ReLU proporciona la no linealidad necesaria para aprovechar la profundidad de la red, a la vez que es muy rápida de calcular.