Representación del Conocimiento
¿Cómo representar para aprender?
Inteligencia ArtificialLuis Villaseñor Pineda
Aprender
Si vamos al diccionario tenemos esto: tr. Adquirir el conocimiento de alguna cosa:
está aprendiendo inglés.
Fijar algo en la memoria:aprender una poesía.
Definición operacional En nuestro caso la orientaremos a algo observable:
Un sistema aprende cuando es capaz de cambiar su comportamiento de tal forma que su desempeño futuro sea mejor
Consideramos esta definición objetiva, Pues se puede probar el aprendizaje observando el
comportamiento pasado contra el comportamiento actual
Elementos del aprendizaje
El resultado del aprendizaje es una función objetivo Si el aprendizaje es exitoso la función aproximada será capaz de
generar una salida correcta
¿Cómo representamos la función objetivo? ¿Qué se transformó durante el aprendizaje? ¿Cómo sabemos que el aprendizaje está completo? ¿Cómo sabemos que el aprendizaje es correcto?
Aprendiendo a partir de ejemplos
Aprendizaje por ejemplos es un caso de inferencia inductiva Cada ejemplo es un par (x, f(x)), donde f(x) es la salida de la
función objetivo a aprender. El proceso de aprendizaje generará diferentes aproximaciones de
la función objetivo f Cada aproximación es llamada una hipótesis
Ejemplo
Deseamos aprender cuando un jinete es un jockey Tenemos una base de datos describiendo jinetes
Nombre, edad, peso, altura, años compitiendo
La función objetivo es una función binaria que tiene por salida 1 cuando se trata de un jockey y 0 en caso contrario
Algunos problemitas
El aprendizaje no es tan blanco y negro como en nuestro ejemplo El proceso de inducción rara vez puede ser calificado tan
claramente. Siempre existe un cierto grado de incertidumbre Una forma de incluir el grado de certeza es midiendo la
probabilidad de que un jinete x sea un jockey dado su peso p(jockey|peso)
La función de distribución de probabilidad es usada en lugar de nuestra función anterior.
Parámetros de la función objetivo
Un sólo parámetro: el umbral T
Para nuestra distribución usamos dos parámetros (si sólo usamos el peso del jinete) La media La desviación estándar
Terminología: Concepto
El resultado de un proceso de aprendizaje es la descripción de un concepto (a través de una función objetivo)
Para describir dicho concepto necesitamos un lenguaje de representación
Terminología: Instancia
Una instancia es la pieza de información mínima a partir de la cual el clasificador inducirá un modelo ¿Cuántas instancias son necesarias para inducir nuestro modelo? ¿Cómo asegurar si las instancias son pertinentes para nuestro
proceso inductivo? ¿Cómo representamos nuestras instancias?
¿Qué tipo de representación escogerían para clasificar? Los libros en un biblioteca Los equipos de fútbol en buenos y malos Las acciones en bolsa con mejores oportunidades
Terminología: Atributos
Cada instancia se caracteriza por los valores de un conjunto predeterminado de atributos.
Un atributo es un rasgo cuantificable con el cual describimos la instancia. (el peso del jockey, su altura, su edad, etc.) También los existen nominales o categóricos (el color del pelo)
Dimensionalidad
Nuestro ejemplo de un sólo atributo es unidimensional, sin embargo, es común enfrentar problemas de alta dimensionalidad Escoger los “mejores” atributos se vuelve una tarea por si sola Añadir demasiados atributos puede afectar nuestra tasa de
clasificación Incluso no es posible asegurar si se aprende lo que en realidad busacamos
Pocos ejemplos VS muchos atributos
Representado nuestras instancias
Podemos usar un vector n-dimensional donde tendremos los valores de los n atributos caracterizando nuestro ejemplo.
Si nosotros conocemos la clase a la que pertenecen nuestros ejemplos tendremos un conjunto de instancias de la forma Donde xi es el vector de características de la instancia i y yi es el
indicador de la clase a la que pertenece la instancia i
)},(),...,,{(11 nn
yxyx
Nota al respecto
Cuando conocemos las clases de nuestras instancias se conoce como aprendizaje supervisado
Cuando no conocemos las clases se conoce como aprendizaje no-supervisado
Ejercicio
Deseamos aprender a distinguir entre mesas y sillas
¿Qué atributos usarían para representar/describir sus instancias? ¿De qué dimensión es su espacio de características? Presente al menos dos ejemplos de cada clase
¿Cómo representarían la función objetivo?
Representando la función objetivo
Existen muchos tipos de algoritmos de aprendizaje, estos se pueden agrupar por: Si son supervisados o no-supervisados el tipo de tarea de aprendizaje el dominio de aplicación la representación de la función objetivo
Algunos ejemplos
Cuando representamos las hipótesis por una conjunción de literales (cálculo de predicados)
escamas(pez) piernas(pez,0) pone_huevos(pez) habitat(pez, agua)
Algunos ejemplos
Cuando representamos las hipótesis por árboles de decisión
Algunos ejemplos
Cuando representamos las hipótesis por una función de decisión
¿Cuál escoger?
Depende de muchos factores: Tipo de atributos (continuos o discretos) Eficiencia Conocimiento del dominio Entendimiento de los algoritmos de aprendizaje
¡ Visibilidad de lo que hemos aprendido !
Tareas incluyendo aprendizaje
Existen diversas tareas que consideradas dentro del aprendizaje computacional:
Algunas de ellas: Clasificación: La meta es inducir un modelo para poder predecir
la pertenencia a una clase de un objeto dado. Los datos son objetos caracterizados a través de atributos que permiten la
identificación de los objetos a una clase. Agrupamiento: Separación de los objetos en sub-grupos o
clases relevantes. Las clases pueden ser exhaustivas y mutuamente exclusivas o jerárquicas y con traslapes.
Tareas con aprendizaje Análisis de dependencias: El valor de un elemento puede usarse para
predecir el valor de otro. Detección de desviaciones, casos extremos o anomalías: Detectar los
cambios más significativos en los datos con respecto a valores pasados o normales.
Aprendizaje por refuerzo: consiste en aprender a decidir a partir de la experiencia.
Optimización y búsqueda: El aprendizaje puede ser visto como una búsqueda en un espacio de hipótesis. La meta de la búsqueda es encontrar la hipótesis que mejor representa la función objetivo. Existen una gran cantidad de algoritmos de búsqueda. Aquí podemos incluir a los algoritmos genéticos, recocido simulado, ant-colony, técnicas de búsqueda local, etc.