Explícamelo como si tuviera 10 años: hacia la IA

Estás leyendo la publicación: Explícamelo como si tuviera 10 años: hacia la IA

Publicado originalmente en Hacia la IA, la empresa líder mundial en noticias y medios de IA y tecnología. Si está creando un producto o servicio relacionado con la IA, lo invitamos a considerar convertirse en patrocinador de la IA. En Hacia la IA, ayudamos a escalar las empresas emergentes de IA y tecnología. Permítanos ayudarlo a dar rienda suelta a su tecnología a las masas.

Esta va a ser la parte 4 del Explicar los algoritmos de aprendizaje automático a un niño de 10 años serie. Anteriormente discutimos un algoritmo (XGBoost) y dos algoritmos (K-medias y Jerárquico). Para cambiar las cosas, hoy abordaremos un clásico técnica — Decision Trees, un viejo pero bueno.

Usaremos un conjunto de datos de entrenamiento súper simplificado de 7 personas para construir un Árbol de decisión que predice si una persona tiene o no en función de su , si tiene (dolor en el pecho durante el ejercicio) y su .

Paso 1: encontrar el nodo raíz

Empecemos por encontrar el nodo raíz de nuestro árbol. Para propósitos de edificación, dividiremos el proceso de encontrar el nodo raíz por tipos de variables.

Variables categóricas

Comience por ver qué tan bien predice si alguien tiene o no. Hacemos esto estableciendo como nuestro nodo raíz y contando cuántas de las personas tienen y no tienen basándonos solo en.

Haz lo mismo para

Mirando los árboles, vemos que ninguno de los dos hace un trabajo perfecto para predecir si una persona tiene o no. Las hojas que contienen una mezcla de personas que tienen y no tienen se llaman. Podemos cuantificar la impureza usando y . En nuestro caso, usemos . Cuanto mayor sea el , más impuras son las hojas. Así que queremos que el valor sea lo más bajo posible. Primero calculamos el de cada una de las hojas, luego calculamos el total de la división. La fórmula para calcular las hojas es:

🔥 Recomendado:  Hola, soy Marjolein - Informe mensual de mayo de 2020

Hoja izquierda:

Hoja derecha:

El total de la división es el promedio ponderado de las impurezas de Gini de las hojas. Dado que la hoja izquierda tiene 4 personas y la derecha tiene 3:

De manera similar, usando las mismas fórmulas anteriores, el total de es 0.214.

Variables continuas

Encontrar variables continuas es un poco más complicado. Primero, ordena de menor a mayor:

Luego calcule la edad promedio para las filas adyacentes:

Estas edades promedio serán nuestros candidatos para los umbrales del nodo raíz. Por último, calculamos los valores de impureza de Gini para cada promedio. Por ejemplo, para calcular para:

Del mismo modo, para el resto de medias las fracciones son:

Después de hacer esto, el umbral candidato con el valor más bajo es . Entonces, este será el candidato de nodo raíz para la división.

Ahora que tenemos nuestros tres candidatos de nodo raíz, el que tenga el más bajo será nuestro nodo raíz. En este ejemplo, tiene el valor más bajo de 0.214así que eso es lo que usamos

Paso 2: Agregar sucursales

Agregamos ramas a los nodos que son impuros para reducir la impureza. Agregar ramas sigue prácticamente el mismo proceso que encontrar el nodo raíz. Comencemos dividiendo el árbol para que las personas que van a la izquierda y las personas que no van a la derecha:

Vemos que el nodo de la derecha es puro con 0 y el nodo de la izquierda es impuro con 0.375. Ahora comprobamos si podemos reducir la impureza agregando ramas o dividiéndola más por o . Dado que solo buscamos dividir el nodo izquierdo, solo debemos observar a las personas que tienen .

🔥 Recomendado:  Cómo crear un rol de usuario en Magento 2

Primero, intente dividir el nodo izquierdo por:

Ahora calculamos el de la división de la misma manera que antes y vemos que el valor es 0.25.

Ahora, para encontrar el umbral candidato para la división, ordenamos las 4 filas resaltadas en orden ascendente y calculamos para cada edad promedio:

Vemos que da el valor de impureza de Gini más bajo de 0. Entonces, este será nuestro candidato para la división. Ahora porque < 0.25 use para dividir este nodo en hojas.

NOTA: Dejamos las hojas de salida como hojas porque no hay razón para continuar dividiendo a estas personas en grupos más pequeños agregando ramas.

Ahora el árbol se parece a esto:

Paso 3: Asignación de valores de salida para cada hoja

En términos generales, el resultado de un Leaf es cualquier categoría que tenga la mayor cantidad de votos. En nuestro caso, será si la mayoría de las personas en la hoja tienen o no. Entonces, nuestro árbol final es:

Paso 4: Comprobación de sobreajuste

El sobreajuste de datos es cuando un modelo se ajusta exactamente al conjunto de datos de entrenamiento. Idealmente, queremos evitar el sobreajuste de nuestro conjunto de datos de entrenamiento porque eso afecta el rendimiento del modelo en datos nuevos. Una forma de evitar esto es podando el árbol. Esto significa que reducimos el tamaño del árbol al deshacernos de las ramas. Esto se puede hacer de dos formas:

  1. Pre-poda: Aquí podamos el árbol al comienzo del proceso de construcción del modelo al controlar: la profundidad máxima del árbol, la cantidad mínima de observaciones requeridas en un nodo para agregar ramas al árbol y/o la cantidad mínima de observaciones requeridas para estar en un nodo hoja.
  2. Post-poda: Esto permite que el árbol crezca hasta su máxima profundidad, luego quitamos las ramas después.
🔥 Recomendado:  Cómo crear un plan financiero para alcanzar tus metas

Y eso es. ¡Tu árbol de decisiones simple pero efectivo!

Otro saludo a Estadísticas, mis estadísticas favoritas y recurso de aprendizaje automático. Siéntase libre de conectarse conmigo en LinkedIn ¡y envíenme sugerencias sobre cualquier otro algoritmo que los niños de 10 años deban entender!


Clasificación del árbol de decisiones: Explícamelo como si tuviera 10 años se publicó originalmente en Hacia la IA en Medium, donde las personas continúan la conversación destacando y respondiendo a esta historia.

Publicado a través de Hacia la IA