Revolución IA

La Inteligencia Artificial está llamada a protagonizar la próxima Revolución tecnológica

Inicio Sobre Revolucionia Temas Para saber más Contacto

Clasificadores que generalizan

Fernando P.    15/08/2017

Temas:  Fundamentos

En artículos anteriores ya se intrudujo el concepto de clasificador, se proporcionó su definición básica y se estudiaron problemas que aparecían cuando se presentaba incertidumbre en el proceso.

Pues aún nos queda algún otro refinamiento que considerar respecto a todo lo que hemos visto sobre clasificadores, que nos acercará más a lo que son los problemas reales de clasificación.

Conjuntos de casos finitos e infinitos
En la definición básica de clasificador establecíamos que disponemos de un conjunto de casos de entrada X que queremos asignar a clases que tenemos definidas en otro conjunto de salida C. No impusimos apenas restricciones sobre el tamaño del conjunto X. En general, vamos a asumir que el conjunto X puede ser infinito.

No hace falta que el conjunto X sea infinito para que tengamos problemas por esta parte, puede ser finito pero tan grande que no tengamos ninguna posibilidad de abarcarlo.

Que el conjunto X sea infinito tampoco garantiza que vayamos a tener problemas por ahí. Por ejemplo, podemos considerar como conjunto X el conjunto de números naturales y un clasificador que determine si cada número es primo o no. Aún siendo X infinito, se trata de un clasificador sencillo de construir, no es necesaria ninguna técnica exótica de Inteligencia Artificial en este caso.

Conjunto de casos inabarcable
Siendo el conjunto de casos X finito o infinito, puede darse el caso de que no tengamos ninguna posibilidad de abarcarlo. Es decir, puede suceder que en ningún momento vamos a conocer todos los posibles elementos de X, incluso puede suceder que ni siquiera podamos llegar a conocer en algún momento una fracción apreciable de todos los casos.
Gotas de agua
Lo que sí va a ocurrir es que el número de casos que conocemos aumenta con el tiempo, cada vez conoceremos más, pero nunca conoceremos muchos y en algún momento habrá que empezar a construir el clasificador con lo que tengamos hasta ese momento.

Por ejemplo, consideremos que queremos hacer un clasificador que tome imágenes de gotas de agua y determine si es agua pura o si tiene detergentes, que relajan la tensión superficial de las gotas de agua.

¿ Tenemos alguna posibilidad de fotografiar todas las gotas de agua imaginables ? ... pues no parece algo razonable, podemos probar con muchas imágenes de gotas de agua, pero siempre terminaremos con una imagen nueva de una gota de agua que tiene alguna cosa distinta respecto a lo que hemos visto.

Generalización
Cuando nos enfrentamos a un problema, como el ejemplo de las gotas de agua, en el que no tenemos ninguna posibilidad de abarcar todo el conjunto de casos X, aún así tenemos la misión de construir un clasificador (una aplicación de X a C) sin conocer todo el conjunto de origen.

¿ Podemos construir un clasificador en estas condiciones ? ... estrictamente, no. Desde el punto de vista matemático nos faltan cosas, no vamos a poder solucionar el problema al 100%.

Pero aquí es dónde entra la Inteligencia Artificial. Podemos construir un clasificador usando lo que conocemos del conjunto X tratando de que generalice sobre lo que hay en X.

Es decir, podemos tratar de construir nuestro clasificador con un número limitado de casos conocidos en X de forma que no tenga en cuenta todos los detalles de estos casos, sino que sólo pueda fijarse en propiedades generales, con la esperanza de que cuando dispongamos de nuevos casos el clasificador funcione bien con estos casos desconocidos para él, jústamente porque es capaz de fijarse en las cuestiones importantes que definen a clases completas de casos y no se fija en detalles que pueden variar mucho.

Si conseguimos construir un clasificador que sea capaz de generalizar lo suficiente, puede que hayamos resuelto nuestro problema aunque no podamos abarcar de ninguna forma el conjunto de entrada X.

Generalmente, desde el punto de vista de la Inteligencia Artificial, no conseguiremos un clasificador que sea preciso al 100%, pero seguramente nos sirve si conseguimos que se acerque bastante al 100%. Se trata del compromiso habitual que tenemos en Inteligencia Artificial de poder ofrecer soluciones a problemas difíciles a cambio de no ofrecer una solución perfectamente precisa desde el punto de vista matemático.

La generalización es una propiedad muy deseable que se puede conseguir, hasta cierto punto, con algunas técnicas de Inteligencia Artificial, como son las redes neuronales artificiales.

¿ Cómo funciona la generalización en clasificadores ?
Pues, realmente, no lo sabemos, igual que no sabemos cómo los humanos sómos capaces de clasificar cosas muy complicadas. Sabemos hacerlo pero no podemos explicar cómo lo hacemos.

Sucede algo parecido con muchos clasificadores automáticos que se construyen con técnicas de Inteligencia Artificial. Se puede conseguir que generalicen, pero se consigue a través de un proceso iterativo en el que no hay forma de averiguar exactamente cómo se llega a conseguir que el clasificador generalice.

Un clasificador automático, a menudo, viene a ser una caja negra, puede llegar a funcionar muy bien, pero no es posible saber cómo se ha conseguido.

Aprendizaje
El proceso iterativo por el cual se construye un clasificador que deba tratar con un problema difícil, fundamentalmante un problema con un conjunto X inabarcable, se denomina aprendizaje o entrenamiento.

Realmente, la clave de construir clasificadores de cierta complejidad está en el entrenamiento que debe hacerse. Se trata del famoso machine learning. Pero esto es un tema de enorme complejidad que irá viéndose en otros artículos.

De momento nos sirve el saber que la Inteligencia Artificial puede venir en nuestra ayuda para construir clasificadores en problemas que tienen muchas complicaciones y el efecto de generalización es la respuesta a algunos de estos problemas.


Para saber más:

No es el objeto del artículo tratar las redes neuronales artificiales, pero se trata de una de las mejores técnicas en Inteligencia Artificial que puede construir clasificadores con capacidad de generalización.

El aprendizaje automático o machine learning es una disciplina de las ciencias de la computación que trata la cuestión de sí las máquinas pueden llegar a aprender por la vía de la generalización. Tampoco es el objeto de este artículo el machine learning pero es una buena forma de ir más allá de lo visto en el artículo.



 

Inicio Powered by NetBSD
 
HTML5
 
En general, todo el contenido de este sitio web es original, salvo referencias o enlaces a otros sitios web y citas o reproducciones expresamente presentadas como tales.

No está permitida la reproducción ni la copia del contenido de este sitio web sin el permiso expreso de la propiedad del mismo.

Este sitio web no utiliza cookies ni ningún otro mecanismo para almacenar información en los navegadores de los visitantes ni para realizar seguimiento de los mismos.

2017,2018 Revolucionia.net
Sobre Revolucionia
Temas
Para saber más
Contacto