Una introducción visual al machine learning

language::

En Machine learning (o aprendizaje de máquina), los computadores aplican técnicas de aprendizaje estadístico para identificar patrones en los datos de manera automática. Estas técnicas pueden ser utilizadas para hacer predicciones con una alta precisión.

Continúa desplazándote por el documento. Utilizaremos un conjunto de datos de viviendas, para crear un modelo de machine learning que pueda distinguir las viviendas ubicadas en Nueva York de aquellas localizadas en San Francisco.

Continúa desplazándote por el documento


Primero, un poco de intuición

Digamos que tienes que determinar si una casa está en San Francisco o en New York. De acuerdo a los conceptos de machine learning, categorizar estos datos corresponde a una tarea de clasificación.

Ya que San Francisco es relativamente montañoso, la elevación de una vivienda podría ser una buena manera de distinguir ambas ciudades.

Basado en los datos de elevación de las viviendas a la derecha, podrías afirmar que una vivienda localizada a mas 73m de altura debería ser clasificada como una que pertenece a San Francisco.


Añadir matices

Añadir otra dimensión permite ver más matices. Por ejemplo, los apartamentos en Nueva York pueden ser extremadamente caros de acuerdo a su superficie cuadrada.

Así que que visalizar la elevación y el precio por pie cuadrado en un gráfico de dispersión nos permite distinguir las viviendas con menor elevación.

Los datos sugieren que entre las viviendas que están a 73m o menos de altura, aquellas que cuestan más que $19,116.7 por metro cuadrado, estarán en Nueva York.

Las dimensiones en un conjunto de datos se llaman características, predictores o variables.


Establecer límites

Puedes visualizar las observaciones de elevación (>73m) y el precio por pie cuadrado (>$19,116.7) como los límites de las regiones en tu gráfico de dispersión. Las viviendas dibujadas en verde y en azul, estarían en San Francisco y Nueva York, respectivamente.

La identificación de los límites en los datos a través del uso de las matemáticas es la esencia del aprendizaje estadístico.

Por supuesto que necesitarás también información adicional para distinguir las viviendas con menores elevaciones y menores precios por pie cuadrado.


El conjunto de datos que utilizamos para crear el modelo tiene 7 dimensiones diferentes. El proceso de crear un modelo también es conocido como entrenar un modelo.

A la derecha visualizamos las variables en una matriz de dispersión para mostrar las relaciones entre cada par de dimensiones.

Hay claramente patrones en los datos, pero los límites para delinearlos no son tan obvios.


Y ahora, machine learning

En la búsqueda de patrones en los datos, es donde machine learning entra en juego. Los métodos empleados por machine learning usan el aprendizaje estadístico para identificar estos límites.

Un ejemplo de un método de machine learning es un árbol de decisión. Los árboles de decisión observan el comportamiento de una variable a la vez y se constituyen en un método relativamente simple (aunque rudimentario) de machine learning.



Encontrar mejores límites

Volvamos a revisar el límite de elevación de 73m propuesto anteriormente para ver cómo lo podemos mejorar de acuerdo a nuestra intuición.

Claramente, esto requiere una perspectiva distinta.


Al transformar nuestra visualización en un histograma, podemos observar mejor, qué tan frecuentemente aparecen las viviendas en cada elevación.

Mientras que la vivienda más alta en Nueva York está a 73m, la mayoría de ellas parecen tener elevaciones mucho menores.


Tu primera bifurcación

Un árbol de decisión usa secuencias si-entonces (if-then) para definir patrones en los datos.

Por ejemplo, si la elevación de una vivienda está por encima de cierto número, entonces la vivienda posiblemente estará ubicada en San Francisco.


En machine learning estas declaraciones son denominadas bifurcaciones, y dividen los datos en dos ramas que se basan en algún valor.

Ese valor entre las ramas es denominado un punto de división. Las viviendas a la izquierda de ese punto son categorizadas de una manera, mientras que las de la derecha se categorizan de una otra manera. Un punto de división es como un límite, pero aplicado a un árbol de decisión.


Compensaciones

Escoger un punto de división tiene ventajas y desventajas. Nuestra división inicial (~73m) clasifica incorrectamente algunas viviendas de San Francisco como si estuviesen en Nueva York.

Mira esa gran sección de verde en el gráfico circular a la izquierda, que corresponde a todas aquellas viviendas de San Francisco que fueron calificadas de manera errónea. Estas se denominan falsos negativos.


Sin embargo, un punto de división que captura cada vivienda de San Francisco va a incluir también muchas viviendas de Nueva York. Estas son denominadas falsos positivos.


La mejor división

En la mejor división, los resultados de cada rama deberían ser tan homogéneos (o puros) como sea posible. Hay varios métodos matemáticos que puedes emplear para calcular la mejor división.


Como vemos aquí, incluso la mejor división de una característica en particular no logra separar las viviendas de San Francisco de las de Nueva York.



Recursión

Para agregar otro punto de división, el algoritmo repite el proceso mencionado anteriormente en los subconjuntos de datos. Esta repetición se denomina recursión, y es un concepto que aparece frecuentemente en los modelos de entrenamiento.

Los histogramas de la izquierda muestran la distribución de cada subconjunto, que se repiten para cada variable.


La mejor división variará con base en qué rama del árbol estás observando.

Para las viviendas de menores elevaciones, el precio por pie cuadrado es, en X $/sqft, la mejor variable para la próxima declaración si-entonces. Para viviendas de mayor elevación, este es el precio, en Y$

.

Crecimiento del árbol

Las bifurcaciones adicionales agregarán nueva información que puede aumentar la precisión de la predicción de este árbol.


La división de una capa mas profunda, aumenta su precisión a un 84%.


Si agregamos más capas, podemos llegar hasta el 96%.


Incluso podrías seguir agregando ramas hasta que las predicciones del árbol sean precisas al 100%, asegurando que al final de cada rama todas las casas están San Francisco, o todas en Nueva York.


Estas ramas finales del árbol se denominan nodos hoja. Nuestros modelos de árbol de decisión clasificarán las viviendas en cada hoja de acuerdo a qué clase de viviendas están en la mayoría.



Hacer predicciones

El modelo de árbol de decisión, recién entrenado, determina si una vivienda está en San Francisco o en Nueva York, al pasar cada dato a través de las ramas.


Aquí puedes observar que los datos que fueron utilizados para entrenar el árbol fluyen a través de él.

Estos datos se denominan datos de entrenamiento porque fueron usados para entrenar el modelo.


Debido a que hicimos crecer el árbol hasta que llegase a un precisión del 100%, este árbol asocia perfectamente cada punto de los datos de entrenamiento con su correspondiente ciudad de manera exacta.


Verificación de la realidad

Por supuesto que lo más importante es ver cómo el árbol se comporta con datos no vistos con anterioridad.


Para probar el rendimiento del árbol con datos nuevos, necesitamos aplicarlo a datos que nunca hayan sido vistos antes. Estos datos que no hemos utilizado se denominan datos de prueba.


Idealmente, el árbol debería comportarse de manera similar tanto en datos conocidos como desconocidos.


Así que este es menos que ideal.


Estos errores se producen por sobreajuste. Nuestro modelo ha aprendido a tratar a cada detalle en los datos de entrenamiento como importantes, incluso aquellos que resultaron ser irrelevantes.

El sobreajuste es parte de un concepto fundamental en machine learning que explicaremos en nuestra próxima publicación.



Resumen

  1. El Machine learning identifica los patrones a través del uso de aprendizaje estadístico y computadores, descubriendo límites en los conjuntos de datos. Puedes usarlo para hacer predicciones.
  2. Un método para hacer predicciones es denominado árboles de decisión, que utiliza una serie de declaraciones si-entonces para identificar límites y definir patrones en los datos.
  3. El sobreajuste ocurre cuando algunos de los ĺímites se basan en distinciones que no hacen ninguna diferencia. Puedes ver si un modelo está sobrejaustado al probar el modelo con datos de prueba.

Próximamente

En nuestra próxima publicación vamos a explorar el sobreajuste, y cómo se relaciona con una compensación fundamental en machine learning.

¿Preguntas? ¿Sugerencias? Nos encantaría saber de ti. Envíanos un tweet a @r2d3us o envíanos un e-mail a team@r2d3.us.

Adicionalmente, agradecemos a Juan Pablo Villaseca y Juan Convers (LinkedIn) y (Sitio Personal) por traducir el texto de manera voluntaria!


Síguenos en Twitter...

...o en Facebook...

Una introducción visual al machine learning

Posted by R2D3 on Facebook

...or mantente en contact a través de email

Posts from R2D3.us


Pie de página

  1. Los conceptos de machine learning han surgido de manera interdisciplinaria (ciencias de la computación, estadística, ingeniería, psicología, etc), es por ello que tienen distintas nomenclaturas.
  2. Para aprender más acerca del cálculo de este punto de división óptimo, busca 'coeficiente de Gini' o 'entropía cruzada'
  3. Una razón por la que los computadores son tan buenos aplicando técnicas de aprendizaje estadístico es que pueden hacer tareas repetitivas de manera rápida, y sin aburrirse.
  4. El algoritmo descrito aquí es codicioso, ya que realiza un enfoque de 'arriba a abajo' para dividir los datos. En otras palabras, él busca a la variable que haga cada subconjunto lo más homogéneo posible, en ese momento en particular.
  5. Posiciónate sobre los puntos para observar el camino que tomaron en el árbol.
  6. Aquí va un spoiler: ¡Es la compensación entre el sesgo y la varianza!

We are so sorry, but we designed this site for desktop rather than mobile viewing. Please come back on a desktop (or a screen at least 1024 by 768 pixels in size)!

…or go ahead anyway.