Regresión logística

     La regresión logística es un algoritmo supervisado fundamental dentro de los algoritmos de clasificación en aprendizaje de máquina. ¿Qué es lo que hace? Es un algoritmo que toma un conjunto de datos, cada uno de ellos etiquetado como un ejemplo positivo o negativo, entonces lo que la regresión logística hace es encontrar el conjunto de parámetros de un hiperplano para clasificar ejemplos no vistos y asignarles la clasificación positiva o negativa.

logit(p_i) = \ln ( \frac {p} {1-p} ) = \beta_0 + \beta_1 x_1,i + \ldots + \beta_k x_k,i

     Donde \beta_j son los parámetros que deseamos encontrar. La función antes mostrada supone que la razón entre la probabilidad de pertenecer al conjunto entre la de no pertenecer se comporta, más o menos, como una linea recta (o un plano para dimensiones mayores a 2) entonces a partir de esta función podemos determinar p_i mediante el uso de la función exponencial (supondremos únicmaente dos parámetros en el siguiente ejemplo, es decir \beta_0 y \beta_1:

\frac{p}{1-p} = \exp (\beta_0 + \beta_1 x)

     Entonces despejando p obtenemos:

p = \frac {1} {1 + \exp(\beta_0 + \beta_1 x)}

     A esto se le conoce como la función logística y en este caso la x representa el valor de nuestra variable. Esta variable puede ser cualquier valor real como la temperatura, el área, o cualquier valor en el que esten medidos nuestros datos.

      Por ejemplo, en la página de Wikipedia usan el ejemplo de determinar si un estudiante pasará un examen si sólo conocemos la cantidad de horas que ha estudiado. Pero ese ejemplo es muy sencillo y se puede revisar en la misma página de Wikipedia.

      Un ejemplo mucho más interesante es considerar que nuestro conjunto de casos tiene muchos más atributos, por ejemplo determinar en el mercado de bienes raíces, si una casa se va a vender o no es un problema que depende de varias variables como pueden ser el área de la casa, el año en que se construyó, etcétera:

X = { 1, x_1, x_2, \ldots , x_n}

     Y dependiendo de estos valores queremos determinar a priori si una casa que no está dentro de X se va a vender o no encontrando los valores del espacio de parámetros

\beta = { \beta_0, \beta_1, \ldots, \beta_n }

Pero aproximar tantos parámetros (y por tantos nos referimos a 5 en adelante) puede que ya no sea tan sencillo o directo de determinar, ya que el espacio de parámetros puede tener una forma muy complicada.

      Para este tipo de problemas existen algoritmos que van «caminando» sobre el espacio de parámetros \beta y determinan la mejor combinación que encuentren a partir de esta caminata. Este algoritmo se llama Descenso del Gradiente.

      Un ejemplo de este algoritmo se puede encontrar en la  siguiente página:

http://github.com/sergiohzlz/reglogistica