Entendiendo que Educación es....

"Como hombres libres ,debemos luchar decididamente contra esa nueva forma de esclavitud que a tantos subyuga en tantas partes del mundo, especialmente entre la juventud a la que es necesario prevenir a toda costa"
Beato Juan Pablo II Cartagena Junio de 1986


domingo, 20 de mayo de 2012

¿Qué es el Entorno GeNie-Smile ?


       Paquete GeNie-Smile [1]:

Fue desarrollado por el Laboratorio de Sistemas de Decisión de la Universidad de Pittsburgh (siendo éste propietario de los derechos de autor)   y puesto a disposición de la comunidad para su uso gratuito con cualquier propósito, (incluidos fines comerciales y educativos), desde 1998.

Tanto en conjunto como individualmente  pueden encuadrarse en la categoría de “entorno de desarrollo”.[2]

GeNie (Graphical Network Interface) es un entorno para la creación de modelos gráficos probabilísticos aplicables  al análisis de decisiones, tales como redes bayesianas y diagramas de influencia.

Ha sido desarrollada en Visual C++ y concebida para el sistema operativo Windows.

Tal como consta en la documentación del fabricante, mediante esta plataforma pueden elaborarse modelos de cualquier tamaño y complejidad, limitados únicamente por la capacidad del ordenador.

Smile (Structural Modeling,Interference,and Learning Engine) , es una biblioteca de clases diseñada en C++ utilizada para el razonamiento  e inferencia en los modelos probabilísticos y que puede ser empleada e incrustada dentro de cualquier aplicación.

En el caso particular del "Consejero Virtual" , el software fue desarrollado utilizando el entorno Visual Basic.6

El Smile se incorpora al programa empleando el control Active X,  SmileX ,que asimismo permite la conexión de la interfase de usuario realizada en Visual Basic , y la Red Bayesiana que conforma la Base de Conocimientos del SE , desarrollada usando el GeNie 2.0

Esto permite una rápida y sencilla utilización para  los desarrolladores  

Entorno de Trabajo del GeNie 2.0
 
 


[1] Nota: En cumplimiento de  lo requerido en el apartado de derechos de autor, tanto los programas como los manuales y ayudas utilizados en el presente trabajo, han sido descargados directamente por la autora (previo registro) desde el sitio del Laboratorio de Sistemas de Decisión de la Universidad de Pittsburgh. http://dsl.sis.pitt.edu
[2] Un entorno de desarrollo integrado (IDE)  es un programa informático compuesto por un conjunto de herramientas de programación y que nuclear los principales elementos necesarios como ser un editor de códigos, un compilador, un depurador y una interfase gráfica de usuario (GUI) cuya finalidad consiste en proporcionar un medio de comunicación sencillo entre el usuario y el sistema operativo del computador, utilizando imágenes y objetos gráficos

Ahora si entrando en tema...(2)


Redes Bayesianas

Siguiendo a Kadie, Hovel y Horvitz (2001) diríamos que una red bayesiana es un conjunto de variables, una estructura gráfica conectando estas variables y un conjunto de distribuciones de probabilidad condicional. Codifica incertidumbre asociada a cada variable por medio de probabilidades y, gracias al teorema de Bayes, esta incertidumbre es susceptible de ser modificada con base en observaciones (o evidencias) sobre el modelo.

       Una vez más explicaré las características sobresalientes de estas herramientas utilizando datos del problema que nos ocupa

 
Los gráficos siguientes son capturas del trabajo realizado en el GeNie 2.0 y corresponden a un modelo anterior al consejero Virtual




                                                                                                                                                                                                                           

Se puede afirmar que una Red  Bayesiana tiene en realidad dos dimensiones:

Dimensión cualitativa: desde esta perspectiva se puede decir que una RB es un grafo, es decir una representación gráfica de un determinado problema.
Está compuesto por.

  • Nodos: cada uno de los óvalos representa una variable aleatoria, es decir uno de los factores que constituyen el problema.

Dichas variables pueden tomar diferentes valores tal como se observa en la siguiente tabla para este caso en particular:

Vulnerabilidad
Alta
Baja
Familiares_Tempranos
Favorables
Desfavorables
Familiares_Actuales
Favorables
Desfavorables
Sociales_Actuales
Favorables
Neutros
Desfavorables
Cambios_Adolescencia
Aceptados
No_Aceptados

  En este caso el Nodo  principal, o Nodo Objetivo es la Vulnerabilidad ya que la meta de la inferencia es determinar la probabilidad de que un individuo resulte vulnerable al consumo abusivo a partir de la información recopilada  sobre los distintos factores de riesgo

  • ·   Las Aristas que relacionan los distintos Nodos modelan la dependencia condicional que existe entre ellos , por ejemplo:


Se observa en esta porción extraída de la red principal que las aristas son en realidad flechas, esto se expresa diciendo que las Redes Bayesianas son Grafos Dirigidos, es decir gráficas en las cuales importa el orden en que se relacionan los dos Nodos que definen cada arista.

      Esto se explica en forma elemental a partir del Teorema de Bayes:
En efecto:
·         El Nodo que recibe la flecha  (Nodo Hijo) es  condicionalmente dependiente del
                Nodo del cual parte la flecha (Nodo Padre).

      Traducido en palabras simples, puede decirse que en el trozo elegido:

1)          Los factores sociales actuales ejercen influencia sobre los factores familiares
        tempranos.
2)          Los factores familiares tempranos  influyen sobre los cambios en la
        adolescencia
3)          Los cambios en la adolescencia influyen finalmente sobre la vulnerabilidad

      Esto significaría, por ejemplo que partiendo de esta dependencia puede calcularse la probabilidad de que los factores  Familiares_Tempranos sean “Favorables” si se conoce como evidencia que los factores Sociales_Actuales  son “Favorables” utilizando el Teorema de Bayes tal como ha sido descrito anteriormente[1]

   Esto permite la actualización de las probabilidades “a priori” de los distintos nodos a partir de las evidencias y de las relaciones de dependencia entre ellos y sus padres.

    Igualmente es importante consignar que el grafo refleja también las relaciones de Independencia entre Nodos (aquellos que no se encuentran relacionados por flechas), en cuyo caso, la evidencia de un valor en uno no tiene efecto sobre la probabilidad de los valores en el otro.
 
  • Dimensión Cualitativa :
 Asociada a cada Nodo de la red existe una tabla en la que se ingresan todas las probabilidades previamente elicitadas. 
Se conoce como  elicitación al proceso de extracción del conocimiento del experto


En el ejemplo en cuestión, por ejemplo el nodo  Sociales_Actuales (que no tiene padres) tiene asignadas las siguientes probabilidades “a priori”, para cada uno de sus valores.

(En este caso los valores los he colocado yo para poder ver la red en funcionamiento, pero  realmente deben ser obtenidos a partir de la experiencia de un profesional idóneo)


Puede observarse que como los tres valores son mutuamente excluyentes la suma de las probabilidades de los tres debe ser igual a 1

       Para el nodo Familiares_Tempranos que ya posee un padre (Sociales_Actuales), la tabla presenta ya las probabilidades condicionadas en función de los valores de dicho padre
 
 
   El agregado de estas tablas constituyen lo que se conoce como la función de probabilidad conjunta, el cual junto con el gráfico y las variables que representan, conforman el modelo probabilístico que constituye la base de conocimientos sobre la que opera el SE.

  El manejo de la inferencia  es realizado por un Algoritmo basado en el Teorema de Bayes y cuya función es propagar el impacto de las evidencias a través de los nodos de la red, calculando para cada uno las correspondientes  probabilidades  “a posteriori”.

Existen varios tipos de algoritmos para la propagación de evidencias : 

 Un algoritmo de propagación se denomina exacto si calcula las probabilidades de los nodos sin otro error que el resultante del redondeo producido por las limitaciones de cálculo del ordenador.

Estos algoritmos no siempre pueden aplicarse y muchas veces resultan ineficientes cuando la red a la que deben aplicarse contiene un número muy grande nodos y resulta altamente compleja.

En esos casos, se aplican algoritmos “aproximados”, es decir que calculan las probabilidades condicionales de los nodos de forma aproximada.

Convenientemente utilizados, estos algoritmos pueden ofrecer estimaciones lo suficientemente correctas en todos los casos y con un gasto computacional mas adecuado.




.