Combinaciones de atributos: Codificación de no linealidad

En las figuras 1 y 2, imagina lo siguiente:

  • Los puntos azules son árboles enfermos.
  • Los puntos anaranjados representan árboles sanos.

Los puntos azules ocupan el cuadrante noreste; los puntos anaranjados ocupan el cuadrante suroeste.

Figura 1 ¿Es un problema lineal?

¿Puedes dibujar una línea que separe los árboles enfermos de los sanos? Claro. Este es un problema lineal. La línea no será perfecta. Uno o dos árboles enfermos pueden estar del lado "sano", pero la línea será un buen predictor.

Ahora, observe la siguiente figura:

Los puntos azules ocupan los cuadrantes noreste y suroeste; los puntos anaranjados ocupan los cuadrantes noroeste y sureste.

Figura 2: ¿Es un problema lineal?

¿Puedes trazar una sola línea recta que separe los árboles enfermos de los sanos? No, no puedes. Este es un problema no lineal. Cualquier línea que dibujes será un predictor deficiente del estado de los árboles.

El mismo dibujo que la Figura 2, excepto que una línea horizontal rompe el plano. Los puntos azules y anaranjados están por encima de la línea; los puntos azules y anaranjados están por debajo de la línea.

Figura 3: Una sola línea no puede separar las dos clases.

 

Para resolver el problema no lineal que se muestra en la Figura 2, crea una combinación de atributos. Una combinación de atributos es un atributo sintético que codifica la no linealidad en el espacio de los atributos al multiplicar dos o más atributos de entrada. (El término combinación proviene de productos cruzados). Creemos una combinación de atributos llamada \(x_3\) mediante la combinación \(x_1\)y \(x_2\):

$$x_3 = x_1x_2$$

Tratamos esta combinación de atributos \(x_3\) nueva creada{} como cualquier otro atributo. La fórmula lineal pasa a ser la siguiente:

$$y = b + w_1x_1 + w_2x_2 + w_3x_3$$

Un algoritmo lineal puede aprender un peso para \(w_3\)del mismo modo que para \(w_1\) y \(w_2\). En otras palabras, aunque \(w_3\) codifica información no lineal, no necesitas cambiar la forma en la que se entrena el modelo lineal para determinar el valor de \(w_3\).

Tipos de combinaciones de atributos

Es posible crear muchos tipos de combinaciones de atributos diferentes. Por ejemplo:

  • [A X B]: Una combinación de atributos formada al multiplicar los valores de dos atributos.
  • [A x B x C x D x E]: Una combinación de atributos formada al multiplicar los valores de cinco atributos.
  • [A x A]: Una combinación de atributos formada al elevar al cuadrado un solo atributo.

Gracias al descenso de gradientes estocástico, los modelos lineales se pueden entrenar de manera eficiente. En consecuencia, la complementación de los modelos lineales ajustados con combinaciones de atributos ha sido tradicionalmente una forma eficiente de entrenar conjuntos de datos de escala masiva.