Combinaciones de atributos: Vectores de un solo 1 combinados

Hasta ahora, nos hemos concentrado en la combinación de dos atributos de punto flotante individuales. En la práctica, los modelos de aprendizaje automático pocas veces combinan atributos continuos. Sin embargo, los modelos de aprendizaje automático con frecuencia combinan vectores con atributos de un solo 1. Piensa en combinaciones de atributos de vectores de un solo 1 como conjunciones lógicas. Por ejemplo, imagina que tenemos dos atributos: idioma y país. Una codificación de un solo 1 de cada una de ellas genera vectores con atributos binarios que pueden interpretarse como country=USA, country=France o language=English, language=Spanish. Luego, si realizas una combinación de atributos de estas codificaciones de un solo 1, obtienes atributos binarios que pueden interpretarse como conjunciones lógicas, como las siguientes:

  country:usa AND language:spanish

Como otro ejemplo, imagina que discretizas latitud y longitud, lo que produce vectores de atributos de un solo 1 con cinco elementos. Por ejemplo, una latitud y una longitud determinadas podrían representarse de la siguiente manera:

  binned_latitude = [0, 0, 0, 1, 0]
  binned_longitude = [0, 1, 0, 0, 0]

Imagina que creas una combinación de atributos de estos dos vectores de atributos:

  binned_latitude X binned_longitude

Esta combinación de atributos es un vector de un solo 1 con 25 elementos (24 ceros y 1 uno). El único 1 en la combinación identifica una conjunción en particular de latitud y longitud. Por lo tanto, el modelo puede aprender asociaciones particulares sobre esa conjunción.

Imagina que discretizamos latitud y longitud de manera mucho más grosera, de la siguiente forma:

binned_latitude(lat) = [
  0  < lat <= 10
  10 < lat <= 20
  20 < lat <= 30
]

binned_longitude(lon) = [
  0  < lon <= 15
  15 < lon <= 30
]

La creación de una combinación de atributos de esas discretizaciones groseras genera que el atributo sintético tenga los siguientes significados:

binned_latitude_X_longitude(lat, lon) = [
  0  < lat <= 10 AND 0  < lon <= 15
  0  < lat <= 10 AND 15 < lon <= 30
  10 < lat <= 20 AND 0  < lon <= 15
  10 < lat <= 20 AND 15 < lon <= 30
  20 < lat <= 30 AND 0  < lon <= 15
  20 < lat <= 30 AND 15 < lon <= 30
]

Ahora imagina que nuestro modelo necesita predecir el nivel de satisfacción de los dueños de perros con respecto a sus mascotas en base a dos atributos:

  • Tipo de comportamiento (ladrido, llanto, cariño, etc.)
  • Hora del día

Si desarrollamos una combinación de atributos a partir de estas dos atributos:

  [behavior type X time of day]

obtendremos una capacidad mucho más predictiva que con cada atributo por su cuenta. Por ejemplo, si un perro llora (de felicidad) a las 5:00 p.m. cuando el dueño regresa del trabajo, eso será un excelente predictor positivo de la satisfacción del dueño. Si llora (tal vez con tristeza) a las 3:00 a.m. cuando el dueño duerme profundamente, eso probablemente será un gran predictor negativo de la satisfacción del dueño.

El aprendizaje lineal se ajusta bien a los datos masivos. El uso de combinaciones de atributos y conjuntos datos masivos es una estrategia eficiente para aprender modelos de alta complejidad. Las redes neuronales proporcionan otra estrategia.

Enviar comentarios sobre…

Curso intensivo de aprendizaje automático