¿Por qué necesitamos el término de sesgo en algoritmos ML como la regresión lineal y las redes neuronales?

La respuesta es que los valores de polarización permiten que una red neuronal genere un valor de cero incluso cuando la entrada está cerca de uno. Agregar un sesgo permite que la salida de la función de activación se desplace hacia la izquierda o hacia la derecha en el eje x. Considere una red neuronal simple donde una sola neurona de entrada I1 está directamente conectada a una neurona de salida O1.

La salida de esta red se calcula multiplicando la entrada (x) por el peso (w). El resultado se pasa a través de una función de activación. En este caso, estamos utilizando la función de activación sigmoidea. Considere la salida de la función sigmoidea para los siguientes cuatro pesos. sigmoide (0.5 * x), sigmoide (1.0 * x) sigmoide (1.5 * x), sigmoide (2.0 * x)

El resultado es el siguiente:

La modificación del peso altera la “inclinación” de la función sigmoidea. Esto permite que la red neuronal aprenda patrones. Sin embargo, ¿qué sucede si desea que la red genere 0 cuando x es un valor distinto de 0, como 3? Simplemente modificando la inclinación del sigmoide no se logrará esto. Debe poder desplazar toda la curva hacia la derecha.

Ese es exactamente el propósito del sesgo .

Ahora, considere una red con neuronas sesgadas.

Cálculo de salida para los siguientes pesos de sesgo:

sigmoide (1 * x + 1 * 1), sigmoide (1 * x + 0.5 * 1) sigmoide (1 * x + 1.5 * 1), sigmoide (1 * x + 2 * 1)

El resultado es el siguiente:

Aquí, en este caso, como puede observar, toda la curva cambia.

El sesgo es un concepto vital para las redes neuronales. Las neuronas de sesgo se agregan a cada capa sin salida de la red neuronal. Son únicos de las neuronas ordinarias en dos formas muy significativas. En primer lugar, la salida de una neurona sesgada es siempre una. En segundo lugar, una neurona sesgada no tiene conexiones entrantes. El valor constante de uno hace que la capa responda con valores distintos de cero, incluso cuando la entrada a la capa es cero. Esto puede ser muy crucial para ciertos conjuntos de datos.

En la regresión lineal, sin el término de sesgo, su solución debe pasar por el origen. Es decir, cuando todas sus características son cero, su valor predicho también debería ser cero. Sin embargo, esa puede no ser la respuesta que sugieren los datos de entrenamiento. Agregar un peso de sesgo que no depende de ninguna de las características permite que el hiperplano desbribado por sus pesos aprendidos se ajuste más fácilmente a los datos que no pasan por el origen.

Me imagino que hay una explicación similar para las redes neuronales, pero es más difícil de visualizar debido a la no linealidad de la solución.

Como saben, el objetivo de la regresión lineal es estimar los parámetros que mejor predicen los resultados, dadas las características / predictores de entrada. Si el valor esperado de su variable de resultado no es 0, entonces también tendríamos que estimar el peso del sesgo (es decir, el cambio desde 0) junto con los pesos de las características. Si no tenemos en cuenta este sesgo, las predicciones de nuestro modelo estimado se desactivarán.

Sin embargo, si el valor esperado de sus resultados ya es 0, entonces en realidad no es necesario incluir un término de sesgo, aunque de todos modos podría y el sesgo estimado sería solo 0. Además, también podría forzar el valor esperado de sus resultados a igual a 0 “degradante” (es decir, restando la media de sus resultados de cada resultado).

La misma lógica se aplica en el caso de una red neuronal (NN). Por supuesto, la diferencia es que, en lugar de un modelo de regresión, tiene muchos de cada capa de entrada y, para un NN estándar, los valores de resultado son binarios. Cuando los resultados están distribuidos binomialmente (o más generalmente, multinomiales / distribuidos categóricamente), la regresión lineal obviamente no funcionará aquí. Sin embargo, aún puede pensar en la configuración del problema como un modelo de regresión lineal, excepto que se transformará con una función de activación / aplastamiento no lineal (por ejemplo, logística). Puede imaginar que una vez que comencemos a anidar estos modelos de regresión para NN multicapa (donde las variables de “resultado” son una función de las capas anteriores), ¡se vuelve complejo! Por lo tanto, se necesita un término de sesgo para dar cuenta de la posibilidad de un cambio medio.

Regresión lineal: y = a + b x

Sesgo en regresión lineal, es decir, a se utiliza para mover la línea de predicción hacia arriba o hacia abajo (desplazamiento). Sin un, la línea siempre pasa (0, 0), lo que no siempre puede conducir a un buen ajuste. Cuando no hay variables independientes, y = a, que es la media muestral. Además, al obtener parámetros, podemos reemplazar fácilmente la ecuación anterior como [1 x] * [ ab ] [matemática] T [/ matemática] que luego puede simplificarse a y = x ‘* b ‘. Por lo tanto, nos queda solo 1 parámetro para resolver en lugar de 2.

Del mismo modo, en la red neuronal, el sesgo ayuda a desplazar la función de activación hacia la izquierda o hacia la derecha para un aprendizaje exitoso del modelo.

Considere que los algoritmos LR o NN buscan un hiperplan adecuado, como muchos algoritmos de aprendizaje, nos preocupa la forma de la función, que puede definirse por el conjunto de datos en el que aprende.

Si, por ejemplo, mueve sus muestras de datos como un todo hacia un determinado vector u , la forma de la función que aprende en realidad no cambia.

En este sentido, de alguna manera necesita un término de sesgo para asegurarse de que se ajuste a su conjunto de datos visto actualmente, sin embargo, si mueve los datos hacia un vector u, su término de sesgo b también cambia.

Sin término de sesgo, y = XW debe pasar por cero ( 0 = 0W ), esto es lo que llamamos centralizar los datos, si sus datos ya están centralizados, entonces no necesita un término de sesgo.

Siempre piense en la red neuronal como un buen aproximador de funciones . En el caso de la clasificación, estamos interesados ​​en aproximar un límite de decisión en forma de un hiperplano. En caso de regresión, queremos aproximar una función que defina una relación entre X e y.

Imagina, tenemos una función [matemáticas] f (x) = a. x [/ matemáticas]. Ahora, obviamente, [math] f (x) [/ math] no tiene un término constante (el término constante en la red neuronal y ML se llama sesgo). Por lo tanto, [math] f (x) [/ math] siempre pasa por el origen [math] (0,0) [/ math]. Pero, ¿qué pasa si la línea que estamos modelando no pasa por el origen, sino que se cruza con el eje x en [math] c [/ math]; es decir, [matemáticas] (0, b) [/ matemáticas]. El término sesgo se agrega para dar esta capacidad a nuestra función. Entonces, en este caso, [matemáticas] f (x) = ax + b [/ matemáticas] y esperamos que después del entrenamiento, el término de sesgo [matemáticas] b [/ matemáticas] esté cerca de [matemáticas] c [/ matemáticas] en lugar de forzarlo a ser cero.