ISSN: 1579-0223
 
Sentience Research
REDcientífica
· Misión de REDcientífica
· Contacto
· Condiciones de publicación
· Consultar todos los documentos
· Consultar todos los autores
· Acceso usuarios registrados
· English version


PORTADAS
40  41  42  43  44  45  46  47  48  49  50  51  52  53 

BOLETINES
40  41  42  43  44  45  46  47  48  49  50  51  52  53 

TEMAS



ENLACES

Cuando las máquinas aprenden

Juan José Samper Márquez
 
ImprimirEnviar

Una exquisita facultad de razonamiento no compensa nunca la ignorancia. Gracias al aprendizaje automático, un sistema experto puede aprender por sí mismo observando a un especialista humano en acción.


Una exquisita facultad de razonamiento no compensa nunca la ignorancia. Gracias al aprendizaje automático, un sistema experto puede aprender por sí mismo observando a un especialista humano en acción.

Una cantidad adecuada de conocimientos es imprescindible para reproducir el comportamiento intelectual humano. Es necesario identificar, dar forma, y representar los conocimientos, a veces bastante simples, que permiten razonar. Lo ideal es que el sistema experto haga todo eso por sí solo.

Hasta en los trabajos más sencillos, el ser humano recurre a multitud de conocimientos de todo tipo, pero sobre todo heurísticos: reglas prácticas e imprecisas, aunque casi siempre eficaces. El problema es que, normalmente, esos conocimientos no se expresan. La mayoría no están escritos en ningún libro, y sólo se pueden aprender con la práctica. Otro problema se plantea debido a que es difícil conocer anticipadamente la cantidad de conocimientos que necesita un sistema experto para efectuar su tarea correctamente. Todo ello hace que la adquisición del conocimiento sea una necesidad fundamental además de una operación económicamente importante.

FUNDAMENTOS DE LA INGENIERÍA DEL CONOCIMIENTO

El término ingeniería del conocimiento engloba a los científicos, tecnología y metodología necesarios para procesar el conocimiento. Su objetivo es extraer, articular y computerizar el conocimiento de un experto.

En la ingeniería del conocimiento hay tres conceptos

interrelacionados: dato e información, propios de la informática, y conocimiento, que es propio de la informática junto a la inteligencia artificial.

El universo de discurso es el conjunto de objetos relativos a un problema o situación a considerar.

Un dato es la representación simbólica de un aspecto simple, objeto o hecho, del universo de discurso. Se distingue entre datos objeto, que son elementos de determinado dominio (pueden ser pares atributo-valor) y datos hecho, que son relaciones entre objetos.

Información es cualquier estímulo capaz de cambiar el estado o de alterar la conducta de un sistema. Es todo aquello que aumenta el conocimiento, o sea, que es novedoso. La cantidad de información que se obtiene de un mensaje depende de cuánto reduzca la incertidumbre en el receptor acerca del correspondiente universo de discurso.

El conocimiento es la representación simbólica de aspectos complejos de algún universo de discurso. Puede ser de dos tipos:

- Declarativo: describe cómo son las cosas.

- Procedural: describe cómo funcionan las cosas.

El uso de un tipo o de otro depende del entorno, aunque en los sistemas expertos se suele usar el conocimiento declarativo por ser más cómodo y fácil de representar.

El proceso de formación del conocimiento de una persona normalmente es cíclico y tiene el esquema que se muestra en la figura 1.

El conocimiento llega incompleto y desordenado. El ingeniero del conocimiento es la persona encargada de organizarlo, completarlo y prepararlo para su transferencia al sistema.

El metaconocimiento es conocimiento sobre el propio conocimiento. Cuanto peor uniformada esté una tarea, más metaconocimiento se necesitará para llevarla a cabo.

La habilidad es la capacidad para trabajar con conocimiento parcial, por parte del experto, y obtener una alta productividad. Es deseable una tarea hábil a una bien informada pero burda. Lo que interesa es reproducir y construir sistemas hábiles. Un sistema no es un sistema experto si no es hábil.

NIVELES DEL CONOCIMIENTO

Cuando el experto ha terminado de relatar el conocimiento que posee, se puede establecer la base de conocimiento de orden 0 (o teoría de orden 0), formada por conocimiento factual: es el que se puede conocer sin necesidad de hacer preguntas. Si se monta un sistema experto con este conocimiento y se intenta resolver un problema, el resultado va ser bastante pobre.

Normalmente, los expertos humanos son capaces de dar un paso más, proporcionando una heurística (o teoría de orden 1), que se puede definir como el conocimiento que tiene el especialista a partir de sus propias experiencias. La heurística son reglas que muestran cómo tratar el conocimiento. Es un conocimiento sobre el propio dominio en el que se trabaja, que dice cómo emplear los conocimientos que el experto humano dio como factuales. Añadiendo la heurística a la base de conocimientos de un sistema experto se mejora la respuesta, pero se comprueba que no se llega al grado de experto que tiene el

especialista humano.

Volviendo al experto, se obtiene el metaconocimiento (o teoría de orden 2), que es independiente del dominio y dice cómo emplear eficientemente el conocimiento. Es la parte del conocimiento que es completamente independiente del contexto. Dentro del metaconocimiento habrá reglas que indican cómo actuar fuera de cualquier dominio. Puede servir para detectar fallos sintácticos y semánticos en la transmisión del conocimiento por parte del experto. Incluso la forma en la que el experto representa el conocimiento es metaconocimiento. El metaconocimiento es algo innato en los expertos, por lo que difícilmente hablan de el.

Para obtener metaconocimiento, se examina el conocimiento que ha proporcionado el especialista humano. Cuando el sistema no responde de forma adecuada, se analizan los fallos y se descubren las metareglas (reglas de metaconocimiento) que se deberían de incluir.

UTILIDAD DEL METACONOCIMIENTO

- Ayuda a que el sistema se adapte al entorno.

- Permite resolver conflictos entre reglas.

Un ejemplo son las metareglas siguientes:

M.R.1: Usar reglas que empleen materiales ligeros antes que otras con materiales pesados.

M.R.2: Usar reglas proporcionadas por expertos veteranos mejor que por expertos más novatos.

- Permite detectar y suplir fallos simples en las reglas.

Ejemplo:

M.R. sintáctica: Toda regla debe tener condición y acción.

M.R. semántica: Toda regla debe tener por lo menos un caso sobre el que aplicarla.

ADQUISICIÓN DEL CONOCIMIENTO

La adquisición de conocimiento es la transferencia de conocimiento desde alguna fuente a la base de conocimientos del sistema. Esto implica aplicar alguna técnica para extraer el conocimiento del especialista, interpretar los datos para reconocer el conocimiento fundamental, y construir un modelo de representación (como, por ejemplo, reglas del tipo SI...ENTONCES...).

Las fuentes del conocimiento son los expertos humanos, libros, y datos experimentales agrupados en bases de datos.

La adquisición del conocimiento y su modelización son las tareas que más tiempo requieren, y que más dificultades presentan al construir un sistema experto. Puede ocurrir que no haya expertos, que no sean tan expertos, que los expertos no quieran dar su conocimiento o no puedan (porque sea intuitivo). No es fácil encontrar los trucos del experto, el cómo aborda la falta de información. El conocimiento más difícil de extraer es el que el experto lleva innato.

Como resultado de la adquisición, se construye una base de conocimientos. En el caso de reglas de producción, se construyen nuevas reglas y se incorporan al sistema.

La adición de conocimiento puede ser directa, o como resultado de una inducción a partir de ejemplos, o como deducción de otros conocimientos ya almacenados en la base de conocimientos. La inducción es el proceso de producir principios generales a partir de ejemplos específicos, mientras que la deducción significa extraer conclusiones específicas a partir de principios generales.

La adquisición del conocimiento tiene tres fases:

1ª. Sacar datos del dominio que interesa.

2ª. Elaborar los datos para obtener información.

3ª. Codificar el conocimiento de alguna forma.

Ejemplo: Sistema con una "caja negra", del que sólo se puede conocer su entrada x y su salida y. Lo que se quiere saber son las reglas que sigue.

Se observan los siguientes datos:

Lingüísticamente, puede decirse que dada una entrada, el sistema aproxima la misma salida. Entonces, este sistema tiene la ecuación siguiente, donde r es el "ruido":

Esto es ya una representación simbólica de conocimiento.

TÉCNICAS DE ADQUISICIÓN DEL CONOCIMIENTO

En general, las técnicas más representativas para la extracción del conocimiento se dividen en manuales y basadas en el ordenador. Las más simples se basan en un contacto directo entre el ingeniero del conocimiento y un experto en el dominio, sin usar herramientas especializadas. También pueden ser por contacto entre el ingeniero del conocimiento y los datos. Las técnicas manuales consumen mucho tiempo y son costosas. Para simplificar el proceso, se han construido una variedad de técnicas asistidas por ordenador, en las que se pone en contacto la máquina con la fuente de conocimiento. El ordenador pregunta al especialista al igual que lo haría un ser humano (en este sentido no se diferencia de lo que haría un sistema manual). Pueden ser interactivas (o semiautomáticas) y de aprendizaje automático.

En muchos casos, para llegar a la heurística y deducir el metaconocimiento, se emplean técnicas psicológicas. Estas técnicas se usan sobre todo en grandes empresas, cuando el experto no es muy colaborador.

TÉCNICAS MANUALES E INTERACTIVAS

El contacto entre un experto en el dominio y un ingeniero del conocimiento se hace directamente, de persona a persona, o con la ayuda de algún software especial. En la figura 2 se muestra un esquema de las técnicas manuales e interactivas. Las principales son la entrevista con el experto y la observación del experto.

La entrevista puede ser:

- Estructurada: El entrevistador o ingeniero del conocimiento tiene un plan bien programado, cada respuesta le permite sacar una información, y va construyendo la base de conocimientos. Avanza de forma estructurada hacia la obtención del conocimiento.

- No estructurada: Se deja llevar por la conversación. Se habla sin orden y sólo al final se puede construir la base de conocimientos.

Se suele empezar con entrevistas no estructuradas para alcanzar una idea general, y luego se pasa a realizar entrevistas estructuradas para afinar en detalles preguntando por cuestiones más específicas.

Para efectuar las entrevistas se debe:

1. Seleccionar los mejores expertos en el tema.

2. Tomar contacto tanto con el experto como con el dominio de su trabajo.

3. Organizar y conducir las entrevistas. Es importante generar documentación sobre las entrevistas y construir la base de

conocimientos desde el principio, teniendo cuidado con la incertidumbre.

El ingeniero de conocimiento emplea la mayor parte de su tiempo en preparar las sesiones y en analizarlas. Anotará las metas logradas en la entrevista y una descripción de los datos extraídos.

Posteriormente, elaborará las reglas derivadas de la sesión (suponiendo un sistema experto basado en reglas). El proceso de la entrevista se considera más un arte que una ciencia.

Cuando se entrevista a varios expertos, se realiza un debate entre ellos (también llamado brainstoming o torbellino de ideas), una consulta nominal (los expertos no se ponen de acuerdo y votan) y, por último, se intenta forzar un consenso. No es fácil llegar a una decisión consensuada. Si no coinciden los distintos expertos, se le da un valor al conocimiento de cada uno y se introduce en la base de conocimientos por separado. Para resolver conflictos, se coge el metaconocimiento que provenga del experto con más experiencia.

La observación es una alternativa o un complemento a la entrevista, ya que muchas veces el experto no puede expresar sus conocimientos específicamente o puede tener dificultades para hacerlo. En estos casos es más provechoso adquirir el conocimiento mediante observación: se trata de observar el comportamiento del especialista humano ante un problema y extraer las leyes que lo rigen. La observación puede ser concurrente, si el ingeniero de conocimiento y el experto concurren en la actuación, o retrospectiva, cuando se graba al experto y esta grabación se le presenta al experto para que explique qué es lo que hace.

Normalmente, para complementar la entrevista, el ingeniero de conocimiento realiza una observación de lo que le ha dicho el experto.

APRENDIZAJE AUTOMÁTICO

El aprendizaje automático ya interesaba a los antiguos filósofos. Uno de los principales logros de la inteligencia artificial actual es que puede otorgar a los ordenadores la habilidad de aprender.

El objetivo es transferir al interior de la máquina el conocimiento que haya en su exterior. El aprendizaje puede ser:

- Memorístico, en el que se transcribe el conocimiento, se copia la memoria de un ordenador a otro.

- Por relato, que se basa en adaptar el conocimiento desde su fuente a una forma que pueda ser aceptada y utilizada por el ordenador. "Se le cuenta" el conocimiento. A veces se transfiere sólo una parte y se reutiliza de forma distinta a como fue concebido.

- Por analogía, si se guarda el conocimiento que resuelve un problema para aplicarlo cuando las circunstancias sean similares.

- Inductivo, al ordenador se le suministran datos y de ellos extrae el conocimiento. Se efectuará:

*A partir de ejemplos (supervisado o con maestro), hay un ser inteligente que le indica a la máquina cuáles son los ejemplos, y una vez conocidos, ésta ya puede trabajar y sacar conclusiones, aprendiendo e induciendo un concepto de más alto nivel. Se le suministran asociaciones entre objetos, y obtiene la regla resultante. Ejemplo, si se le dan los pares (1, 1), (2, 2), (3, 3), se induce x = y.

*A partir de observaciones (no supervisado o sin maestro), no hay un ser inteligente, el ordenador sólo "se pone a observar" y extrae conocimiento, descubre regularidades de un grupo de datos.

Los paradigmas más utilizados para el aprendizaje automático son:

- Inducción de reglas a partir de bases de datos

- Razonamiento basado en casos (CBR)

- Redes neuronales

- Algoritmos genéticos

APRENDIZAJE A PARTIR DE BASES DE DATOS

Entre los métodos de aprendizaje automático, el aprendizaje a partir de bases de datos por inducción (ya sea mediante ejemplos u observación), es prácticamente el único que se utiliza en los sistemas expertos. Este aprendizaje está particularmente adaptado para resolver problemas de clasificación, lo cual no es restrictivo, porque la mayoría de los problemas se pueden enfocar como uno de ese tipo.

La técnica se desarrolla en los siguientes pasos:

1º .Identificar objetos, atributos y valores.

2º .Construir el árbol o la tabla de decisión.

3º .Construir la base de conocimientos.

Ejemplo: Problema de clasificación de coches, en el que se consideran sólo cuatro modelos: Ferrari 348, Honda NSX, Nissan 300 y Mitsubishi 3000.

Identificación de objetos, atributos y valores:

Los objetos son los cuatro tipos de coches. Habrá que determinar qué atributos sirven para diferenciar los coches entre sí, descartando aquellos que no se necesiten para el proceso de toma de decisiones. Por ejemplo, el atributo "categoría de coche" no es necesario, puesto que, todos los coches considerados son deportivos. Se tendrá cuidado en que los atributos desechados no formen parte del conocimiento necesario para resolver el problema. Una vez elegido el conjunto de atributos a utilizar, se confecciona una lista con ellos y con sus valores asociados, formando la tabla 1.

Tipo de coche

Atributo Ferrari 348 Honda NSX Nissan 300 Mitsubishi 3000

Tipo de motor

Alerón

Nacionalidad

Precio

Longitud (m)

V8 V6 V6 V6

Pequeño Pequeño Pequeño Grande

Europeo Japonés Japonés Japonés

> 8 mill. < 8 mill. < 8 mill. > 8 mill.

4.23 4.40 4.52 4.56

Tabla 1. Lista de atributos de coches

Establecimiento del árbol de decisión:

Cada nodo en el árbol representará o una pregunta sobre el valor del atributo o una conclusión. Cada rama que emana de un nodo

perteneciente a una pregunta representará uno de los posibles valores del atributo asociado. Los nodos correspondientes a preguntas se representarán mediante cajas, mientras que aquellos que reflejen conclusiones se representarán mediante círculos. Usando de forma arbitraria el atributo "tipo de motor" como nodo raíz, se obtiene el árbol de la figura 3.

Se puede desarrollar un árbol de decisión alternativo, como se muestra en la figura 4, simplemente ordenando los nodos y eliminando cualquier rama que lleve a conclusiones imposibles. Este árbol requerirá menos atributos para llegar a una identificación y nunca resultará en un caso imposible. En general, se preferirá desarrollar un árbol con tan pocos atributos como sea posible, y con todos los casos representando conclusiones conocidas. Cuanto menor sea el número de atributos, menos datos y/o respuestas de usuario se necesitan para llegar a una conclusión.

Generación de las reglas a partir del árbol:

Una cadena se define como el camino desde un nodo del árbol a otro, recorriendo las ramas en una sola dirección.

Para generar las reglas, primero se identifica un nodo conclusión que no haya sido tratado, se traza una cadena, a través del árbol, desde el nodo conclusión hasta la raíz, y, por último, se construye la regla correspondiente a la cadena considerada, repitiendo este proceso para cada nodo conclusión. Los nodos círculo formarán la parte conclusión de la regla (parte ENTONCES...), mientras que los nodos rectángulo formarán la parte condición o premisas de la regla (parte SI...).

Aplicando el algoritmo al árbol de la figura 4, que no contiene ningún nodo indeterminado, se obtienen las siguientes reglas:

R1: SI motor es V8

ENTONCES el coche es un Ferrari 348.

R2: SI motor es V6 Y alerón es grande

ENTONCES el coche es un Mitsubishi 3000.

R3: SI motor es V6 Y alerón es pequeño Y longitud es 4.40

ENTONCES el coche es un Honda NSX.

R4: SI motor es V6 Y alerón es pequeño Y longitud es 4.52

ENTONCES el coche es un Nissan 300.

Esta es ya una base de conocimientos para el problema de

identificación de coches. Sin embargo, el conjunto de reglas es poco eficiente, considerando por eficiente el que tengan pocas condiciones. En realidad, sólo se necesita preguntar por la longitud del coche para discernir de cuál de ellos se trata. El atributo más importante para este ejemplo (el que contiene más información) será "longitud". El problema se simplifica mucho, obteniéndose el árbol minimizado de la figura 5. De él, se genera el siguiente conjunto de reglas:

R1: SI longitud es 4.23 ENTONCES coche es Ferrari 348.

R2: SI longitud es 4.40 ENTONCES coche es Honda NSX.

R3: SI longitud es 4.52 ENTONCES coche es Nissan 300.

R4: SI longitud es 4.56 ENTONCES coche es Mitsubishi 3000.

Sin embargo, puede resultar imprudente minimizar el número de atributos, ya que, una base de reglas puede ser extensivamente modificada en un futuro, requiriendo que se incluyan atributos no necesarios previamente.

En el ejemplo, se han desarrollado árboles diferentes de forma arbitraria, dependiendo del orden de selección de los atributos (particularmente de la elección del nodo raíz). En un problema real, se debe de utilizar un enfoque sistemático para desarrollar un conjunto de reglas eficiente. Un mecanismo que se utiliza para tratar este problema es el algoritmo ID3 de J.R.Quinlan, que calcula qué atributos se deben seleccionar primero.

RAZONAMIENTO BASADO EN CASOS

Este tipo de razonamiento utiliza la experiencia que se adquirió al tratar casos o problemas similares. Es un aprendizaje por analogía.

Se construye una base de conocimiento con los casos que ya se han resuelto. Cuando aparece un problema nuevo, se buscan problemas similares en la base de casos y se adaptan sus soluciones a la situación actual. Un sistema experto de esta clase va a proporcionar la mejor solución disponible, más que una solución exacta.

Si con los casos existentes en la base no se puede resolver una situación de forma satisfactoria, ésta se atrapa automáticamente para actualizar los casos disponibles. Al irse incorporando nuevos casos, el sistema irá aumentando sus prestaciones.

REDES NEURONALES

Se trata de emular las neuronas cerebrales mediante modelos matemáticos, usando unidades de procesamiento elementales que copian algunas de sus características.

Una neurona biológica tiene el esquema que se muestra en la figura 6. Cada axón se conecta a las dendritas de otras células, formando redes capaces de transmitir impulsos eléctricos.

El modelo más simple es el diseñado por Mc Culloch y Pitts en 1949, en el que una caja representa el cuerpo de las neuronas. Tiene entradas que son las dendritas, las cuales están valoradas con un peso (w) que representa la potencia de la conexión. La salida representa el axón. Este modelo es el de la figura 7. Los pesos de las dendritas pueden ser positivos o negativos. En el primer caso se tendrán canales excitatorios y en el segundo canales inhibitorios. El cuerpo procesa las señales que le llegan de otras neuronas según la hipótesis siguiente:

- Señales de entrada: Oi = 0 o 1.

Se ponderan según su peso wi: N = S wi * Oi.

- Señal de salida: O = 0 si N £ Umbral

O = 1 si N > Umbral.

A partir de esta "célula", se pueden construir redes neuronales, interconectando los axones y dendritas de muchas células.

Para definir completamente una red neuronal, se tiene que especificar tanto el comportamiento individual de cada neurona como la interconexión existente entre ellas. Las neuronas que se comportan de forma similar se agrupan en capas.

Su cualidad principal es la capacidad para variar de comportamiento cuando cambia una situación.

El proceso mediante el cual aprende la red se denomina entrenamiento. El aprendizaje en una red consiste en ir cambiando los pesos de las conexiones adaptándola hasta conseguir la respuesta que se desea. Puede ser supervisado, en el que cada ejemplo estará formado por las entradas a la red y la salida que se espera para esas entradas, y no supervisado, en el que cada ejemplo de entrenamiento está constituido sólo por las entradas, sin dar la salida esperada, por lo que se asociará la información recibida con la almacenada (la memoria está formada por los pesos sinápticos entre neuronas).

ALGORITMOS GENÉTICOS

Estos algoritmos buscan soluciones de forma adaptativa, en analogía a los cambios genéticos que se producen en las poblaciones naturales para adaptarse al medio. Comienzan con un conjunto de datos o patrones generados de forma aleatoria, y evolucionan hacia una solución a través de técnicas de adaptación de los patrones iniciales. La solución no será estrictamente la mejor, pero se puede estar muy cerca de ella.

Para representar las propiedades de un individuo o suceso se utiliza un patrón, en el que se indica la presencia (1) o ausencia (0) de cada propiedad. Hay un peso asociado a cada patrón (idoneidad), que indica su rendimiento en experiencias anteriores.

El problema a resolver se representa mediante una cadena compuesta por ceros y unos (101001101). Se genera aleatoriamente una población de individuos formados también por cadenas o patrones de este tipo. Se evalúa el rendimiento de cada patrón, aumentando su peso si clasifica de forma adecuada el caso o disminuyéndolo si no lo hace, y se seleccionan los individuos para la siguiente generación basándose en su rendimiento, reemplazando los que tengan menor peso. Entonces, se realizan cruces (intercambiando los bits) y mutaciones (cambiando un 0 por un 1, o viceversa) de forma aleatoria entre los patrones.

Una exquisita facultad de razonamiento no compensa nunca la ignorancia. Gracias al aprendizaje automático, un sistema experto puede aprender por sí mismo observando a un especialista humano en acción.




[Evaluar este artículo]








              Misión de REDcientífica              Condiciones de publicación              E-mail de contacto



  Bookmark and Share