Inteligencia Artificial
EN FR

Wall-E: El Compactador Terrestre de Basura

Wall-E clasifica metales y plásticos con regresión logística, luego identifica tipos de metales con el algoritmo de los K vecinos más cercanos (KNN).

· 14 min

Como un robot fiel a su misión y entre algunas estimaciones de oro, Wall-E no olvida su tarea principal: clasificar la basura. Es durante sus expediciones a los rincones más remotos del planeta que se enfrenta al desafío supremo que estimula su mente curiosa. Entre los objetos que recolecta, Wall-E se encuentra con una colección variada de viejos componentes electrónicos — algunos en buen estado que lleva a la base, y otros defectuosos que almacena en un rincón.

Apasionado por tales objetos, comienza a desatornillar, desmontar y clasificar cuidadosamente cada componente en dos categorías distintas (clasificación binaria): por un lado las piezas de metal preciosas (clasificación multiclase) y por el otro el plástico sin valor. La pregunta fundamental es: ¿cómo lleva a cabo tal misión?

¡Es muy recomendable haber leído los Episodios I y II antes de continuar!

Los Nuevos Horizontes de Wall-E: la Clasificación

La épica aventura de nuestro intrépido robot solitario, Wall-E, adquiere una nueva dimensión fascinante cuando explora el vasto reino de la clasificación. Después de dominar brillantemente el arte de la regresión en el episodio anterior (ver Wall-E: El Pequeño Minero de Oro), Wall-E emprende valientemente una nueva fase, sumergiéndose en la clasificación binaria entre metales preciosos y plásticos. Este primer paso preparatorio marca el comienzo de una búsqueda más compleja en la que Wall-E despliega audazmente sus habilidades de clasificación.

Aprovechando sus éxitos iniciales, Wall-E decide ampliar su alcance abordando la clasificación multiclase de metales, convirtiendo al algoritmo K-Nearest Neighbors (KNN) en su aliado preferido. Este nuevo desafío exige una comprensión más profunda, ya que no solo debe distinguir entre dos categorías sino también clasificar diferentes tipos de metales como bronce, oro y plata.

El Elemento Clave: Siempre los Datos

Conociendo las Muestras

Cada ejemplo kk era un elemento con características específicas, como la densidad x(k)x^{(k)}, la conductividad térmica x2(k)x_2^{(k)}, eléctrica x3(k)x_3^{(k)}, etc. Para ilustrar nuestro caso simplemente, consideraremos solo la variable de densidad x(k)x^{(k)}.

Para cada muestra kk, Wall-E anota si es un metal (etiquetada y(k)=1y^{(k)}=1) o un plástico (etiquetada y(k)=0y^{(k)}=0). Aquí hay un ejemplo concreto de 5 muestras (entre las 650 que ya conoce):

MuestraDensidadMaterial
12.165747Plástico
27.151579Metal
30.901240Plástico
419.24357Metal
512.54564Metal

Las Fronteras de Decisión

La diferencia con el problema anterior es que aquí debemos definir lo que se llama una frontera de decisión. En lugar de mirar cada objeto individualmente, Wall-E decide dividir este espacio en diferentes regiones. Cada región estaría destinada a recibir un tipo específico de objeto, ya sea metal o plástico. Los límites de estas regiones definirán las fronteras.

Cuando Wall-E dibuja estas fronteras, quiere asegurarse de que los objetos similares se encuentren en la misma región. Idealmente, le gustaría que los dos grupos estuvieran perfectamente separados, como si estuvieran en cajas distintas. Una simple línea recta podría servir.

Una buena frontera de decisión que clasifica un objeto como metal o plástico
Una mala frontera de decisión que clasifica un objeto como metal o plástico

Sin embargo, la realidad no siempre es tan simple. A veces hay objetos que terminan al lado equivocado de la línea. Wall-E también es consciente de que no debe complicar la tarea dibujando fronteras zigzagueantes y complejas. Eso podría llevar a un sobreajuste.

Creación del Modelo de Clasificación Binaria

Wall-E opta por un modelo clásico de regresión logística cuya función asociada (entre 0 y 1) se expresa de la siguiente manera:

σ(x)=11+exp(x)\sigma(x) = \frac{1}{1+\exp(-x)}

Se llama función sigmoide (por su forma de “S”).

Curva de regresión lineal sobre el nombre de los materiales en función de su densidad
Créditos: Disney/PIXAR

Representación de la función logística o sigmoide.

Aplicando esta función a nuestro dataset, obtenemos σ(z)=11+exp(z)\sigma(z) = \frac{1}{1+\exp(-z)}, donde zz puede ser una función lineal ax+bax+b o polinómica ax2+bx+cax^2 + bx + c, con aa, bb y cc como parámetros a ajustar.

La gran ventaja de esta función es que podemos definir muy fácilmente una frontera de decisión fijando un valor umbral de decisión. Si la probabilidad es mayor que 0,5, se clasifica el objeto como “metal”; si es menor que 0,5, será plástico.

Curva de regresión logística sobre el nombre de los materiales en función de su densidad
Créditos: Disney/PIXAR

Evaluación de las Predicciones: la Función de Coste

Wall-E elabora su modelo, pero quiere evaluar la precisión de sus predicciones. Para ello, podría usar una función de coste clásica de la regresión, el MSE (ver Wall-E: El Pequeño Minero de Oro):

MSE(a,b)=1nk=1n(σ(x(k))y(k))2.\text{MSE}(a, b) = \frac{1}{n}\sum_{k=1}^{n}\left(\sigma(x^{(k)}) - y^{(k)}\right)^2.

Sin embargo, esta función de coste no es convexa: tiene varios mínimos locales. Esta peculiaridad hace que el algoritmo de descenso de gradiente sea poco eficaz, ya que usando la analogía de un relieve montañoso, Wall-E corre el riesgo de quedar atrapado en un mínimo local que no es necesariamente el mínimo global de la curva.

Ejemplo de función no convexa con varios mínimos locales y un mínimo global.

Wall-E introduce entonces una nueva función de coste basada en el logaritmo (log-verosimilitud negativa):

L(a,b)=1nk=1n[y(k)log{σ(ax(k)+b)}+(1y(k))log{1σ(ax(k)+b)}]L(a,b) = -\frac{1}{n}\sum_{k=1}^n\left[y^{(k)}\log\left\{\sigma\left(ax^{(k)}+b\right)\right\} + \left(1-y^{(k)}\right)\log\left\{1-\sigma\left(ax^{(k)}+b\right)\right\}\right]

Esta función posee la propiedad de convexidad, lo que significa que tiene un único mínimo global y ningún mínimo local. Esto facilita el uso del descenso de gradiente para ajustar los parámetros del modelo.

La primera parte de la función de coste, cuando una etiqueta es 1, está representada por y(k)log{σ(x(k))}-y^{(k)}\log\left\{\sigma\left(x^{(k)}\right)\right\}. La segunda parte trata los casos donde la etiqueta es 0: (1y(k))log{1σ(x(k))}-\left(1-y^{(k)}\right)\log\left\{1-\sigma\left(x^{(k)}\right)\right\}.

Primera parte de la función de coste
Segunda parte de la función de coste

Cuando y(k)=1y^{(k)}=1 solo la primera parte de la función actúa; cuando y(k)=0y^{(k)}=0, solo la segunda. La función de coste total es el promedio de estas dos partes, tomado sobre todos los nn ejemplos de entrenamiento, para obtener una medida global del ajuste del modelo a los datos de entrenamiento.

El Re-Descenso de Gradiente

Hacemos exactamente lo mismo que para la regresión, pero con la nueva función de coste. Los gradientes se escriben:

L(a,b)a=1nk=1n(σ(ax(k)+b)y(k))x(k)\frac{\partial L(a, b)}{\partial a} = \frac{1}{n}\sum_{k=1}^n\left(\sigma\left(ax^{(k)}+b\right) - y^{(k)}\right)x^{(k)} L(a,b)b=1nk=1n(σ(ax(k)+b)y(k))\frac{\partial L(a, b)}{\partial b} = \frac{1}{n}\sum_{k=1}^n\left(\sigma\left(ax^{(k)}+b\right) - y^{(k)}\right)

Y la actualización de los parámetros:

a=aδ×L(a,b)a,b=bδ×L(a,b)ba^* = a - \delta \times \frac{\partial L(a, b)}{\partial a}, \quad b^* = b - \delta \times \frac{\partial L(a, b)}{\partial b}

Créditos: Disney/PIXAR

El Poder del Pequeño Clasificador de Basura

En notación matricial, con el vector Y\mathbf{Y}, la matriz X\mathbf{X} y el vector de parámetros P=[ab]\mathbf{P} = \begin{bmatrix} a \\ b \end{bmatrix}, la función sigmoide se aplica componente a componente:

σ(X×P)=[11+exp((ax(1)+b))11+exp((ax(2)+b))11+exp((ax(n)+b))].\mathbf{\sigma(X \times P)} = \begin{bmatrix} \frac{1}{1+\exp(-(ax^{(1)}+b))} \\ \frac{1}{1+\exp(-(ax^{(2)}+b))} \\ \vdots \\ \frac{1}{1+\exp(-(ax^{(n)}+b))} \end{bmatrix}.

La función de coste se convierte en:

L(P)=1n[Ylog{σ(X×P)}+(1Y)log{1σ(X×P)}]L(\mathbf{P}) = -\frac{1}{n}\left[\mathbf{Y} \cdot \log\left\{\sigma(\mathbf{X} \times \mathbf{P})\right\} + (\mathbf{1}-\mathbf{Y}) \cdot \log\left\{1-\sigma(\mathbf{X} \times \mathbf{P})\right\}\right]

y su gradiente:

PL(P)=1nX(σ(X×P)Y)\frac{\partial}{\partial \mathbf{P}} L(\mathbf{P}) = \frac{1}{n}\mathbf{X} \cdot \left(\sigma(\mathbf{X} \times \mathbf{P}) - \mathbf{Y}\right)

con la actualización:

P=PδPL(P)\mathbf{P^*} = \mathbf{P} - \delta \frac{\partial}{\partial \mathbf{P}} L(\mathbf{P})

Representación final de la función sigmoide ajustándose lo mejor posible a los datos presentes.

Los parámetros óptimos obtenidos tras el descenso de gradiente son a=16,85a = 16{,}85 y b=9,71b = 9{,}71. El modelo puede determinar, con una precisión global del 93%, si el material proporcionado es metal o plástico.

Más Allá de la Clasificación de Basura: Determinar el Tipo de Metal

Adentrándose más profundamente en la clasificación de metales, Wall-E se enfrenta a un desafío más complejo: determinar el tipo específico de metal entre una variedad de aleaciones que incluyen bronce, oro, plata y muchas otras.

Para enfrentar este desafío, la herramienta predilecta de Wall-E se convierte en el algoritmo de los K vecinos más cercanos (KNN). Aquí está la lista de todos los metales puros registrados por Wall-E:

MetalConductividad Eléctrica (Giga S/m)Densidad
Acero1.57.500 - 8.100
Aluminio37.72.700
Plata6310.500
Berilio31.31.848
Bronce7.48.400 - 9.200
Carbono (grafito)612.250
Cobre59.68.960
Estaño9.177.290
Hierro9.937.860
Iridio19.722.560
Litio10.85.30
Magnesio22.61.750
Mercurio1.0413.545
Molibdeno18.710.200
Níquel14.38.900
Oro45.219.300
Osmio10.922.610
Paladio9.512.000
Platino9.6621.450
Plomo4.8111.350
Potasio13.90.850
Tántalo7.6116.600
Titanio2.344.500
Tungsteno8.919.300
Uranio3.819.100
Vanadio4.896.100
Zinc16.67.150

Esto simula aleaciones metálicas, donde cada aleación se considera compuesta por un metal puro a determinar y por impurezas que modifican ligeramente sus características. La base de datos de Wall-E contiene 300 muestras para cada tipo de aleación metálica. Aquí hay cinco muestras, cada una con sus propiedades distintivas:

MetalConductividad Eléctrica (Giga S/m)Densidad
Acero2.70937.7446
Vanadio5.80007.5000
Hierro9.26008.4000
Oro43.00018.500
Bronce7.51328.7000

El objetivo de Wall-E será entonces clasificar cada muestra metálica que encuentre — en función de su densidad y conductividad eléctrica — en una categoría de metales puros.

Contraste con la Clasificación Binaria: la Complejidad de la Multiclase

Wall-E, después de dominar la clasificación binaria para distinguir metales preciosos de plásticos, se da cuenta de que el siguiente paso — la clasificación multiclase — representa un desafío más complejo. Mientras que la clasificación binaria simplemente divide los objetos en dos categorías distintas, Wall-E ahora debe diferenciar entre tipos específicos. La simplicidad de una frontera de decisión como una recta ya no basta.

Tipo de metal en función de la densidad y conductividad eléctrica (en Giga Siemens por metro). 300 muestras para cada aleación.

En este nuevo territorio, Wall-E debe navegar por un espacio de características complejo donde los metales pueden solaparse. Esta complejidad exige un enfoque más refinado — y es aquí donde Wall-E recurre a un método que tiene en cuenta las sutilezas de las relaciones entre los metales.

El Poder de la Proximidad: K-Nearest Neighbors

La idea esencial detrás de KNN es agrupar objetos similares en el espacio de características. En nuestro contexto, si una pieza de bronce comparte características similares con otras piezas de bronce, esos objetos estarán situados cerca unos de otros en este espacio multidimensional.

El proceso es bastante intuitivo. Cuando una nueva pieza de metal debe clasificarse, Wall-E mide sus características específicas y la posiciona en el espacio de características. Luego, el algoritmo identifica los kk vecinos más cercanos. Una vez identificados los vecinos, KNN asigna a la nueva pieza el tipo de metal que recoge la mayoría de votos entre esos vecinos cercanos.

Clasificación usando el algoritmo KNN con 5 vecinos y 3 clases que dependen de dos características.

Proceso de Clasificación Metálica: los Vecinos en Acción

Wall-E busca en su base de datos relativamente extensa, que comprende diversos tipos de metales y aleaciones, cada uno asociado con características específicas como conductividad eléctrica, densidad y otras propiedades únicas. Cuando se presenta una nueva pieza de metal, Wall-E activa el algoritmo KNN para determinar su tipo:

Créditos: Disney/PIXAR

Con un parámetro kk óptimo de 20 vecinos, Wall-E puede afirmar con una confianza cercana al 95% su capacidad de identificar cualquier aleación metálica.

Clasificación de una muestra metálica desconocida según su densidad y conductividad eléctrica — resulta ser una aleación de oro.

Clasificación de una muestra metálica desconocida: aleación de hierro (70% hierro, 20% bronce, 10% estaño).

Clasificación de una muestra metálica desconocida: aleación de vanadio (70% vanadio, 25% estaño, 5% hierro).

El Arte de la Selección del Modelo

Entrenamiento y Test

Wall-E comprende rápidamente la importancia de no evaluar nunca su modelo sobre los mismos datos que sirvieron para entrenarlo. Divide el conjunto de datos en dos partes:

Créditos: Disney/PIXAR

Validación del Modelo

Para ajustar los hiperparámetros (como el número de vecinos del KNN), Wall-E introduce una tercera sección: el validation set. Compara distintos modelos — KNN con 2, 3, 20 o 100 vecinos — siguiendo esta metodología:

  1. Entrenar los modelos en el conjunto de entrenamiento.
  2. Seleccionar el modelo con mejor rendimiento en el conjunto de validación.
  3. Evaluar ese modelo elegido en el conjunto de test.

Curvas de validación y entrenamiento: precisión en función del número de vecinos usados en el algoritmo KNN.

Más precisamente, la curva de validación para el número de vecinos kk en KNN da respuestas a preguntas clave:

En su caso, ambas curvas alcanzan rápidamente una precisión de 95,7% a partir de unos 20 a 25 vecinos.

Validación Cruzada

Wall-E utiliza el método K-fold (con 5 particiones). Durante el entrenamiento, el modelo se entrena sistemáticamente sobre K1K-1 de estas particiones y se valida en la partición restante, repitiendo este proceso KK veces. También aprovecha el Stratified K-fold, que tiene en cuenta la distribución de clases en el conjunto de datos.

Curvas de Aprendizaje

Curioso por saber si su modelo podría beneficiarse de añadir más datos, Wall-E examina las curvas de aprendizaje. Aunque añadir datos puede inicialmente conducir a una mejora en el rendimiento, Wall-E reconoce que estos beneficios acaban por alcanzar un umbral.

Créditos: Disney/PIXAR
Curvas de validación y entrenamiento: precisión en función del número de muestras

Examinando esta curva, observa que se podría haber obtenido una estimación suficientemente precisa con menos de 1000 muestras de metales. Incluso acumulando 300 muestras para cada tipo (8100 objetos en total), la precisión se estanca en 95,7%.

El Fin de una Trilogía, el Inicio de una Era Tecnológica

Este último episodio marca la conclusión de la cautivadora saga del pequeño robot Wall-E, una aventura que comenzó con los fundamentos del machine learning. Desde sus primeros pasos en el reino de la inteligencia artificial, Wall-E ha evolucionado a través de varios capítulos, explorando los principios básicos del aprendizaje automático, sumergiéndose en el estudio profundo de la regresión y, finalmente, escalando las complejas cumbres de la clasificación.

Esta saga, rica en enseñanzas, se cierra con la certeza de que Wall-E está ahora listo para enfrentar nuevos desafíos en el complejo mundo de la inteligencia artificial.

Créditos: Disney/PIXAR

Bibliografía