Este documento describe el uso de redes bayesianas para predecir la probabilidad de que los estudiantes de ingeniería en sistemas aprueben o reprueben el décimo módulo basándose en factores como las calificaciones y la asistencia a clases de las materias que componen el módulo. Se explica brevemente qué son las redes bayesianas, cómo funcionan y algunas de sus aplicaciones comunes.
Redes Bayesianas aplicadas a la Aprobación de un Módulo Universitario
1. 1
“Análisis de las Probabilidades de Pasar el Décimo
Módulo en la Carrera de Ingeniería en Sistemas a
través de Redes Bayesianas”
L. Bravo, M. León, J. Solano,
Resumen—En el análisis del rendimiento académico de los
estudiantes de la carrera de ingeniería en sistemas, las opciones
que estos tienen para acreditar se consideran en exámenes y
trabajos extraclase o intraclase,en este punto encontramos las
posibilidades que estos tienen para aprobar o reprobar un ma-
teria, sea por aprovechamiento , por asistencias . Considerando
que cada materia es de aprobación obligatoria con 7 puntos sobre
10 posibles, y las asistencias no deben ser mayores al 20 %
Palabras Claves—redes bayesianas, rendimiento académico,
asistencias, planes de estudio, ELVIRA, OpenMarkov, JAVA.
I. INTRODUCCIÓN
Las redes bayesianas modelan un fenómeno mediante un
conjunto de variables y las relaciones de dependencia entre
ellas. Dado este modelo, se puede hacer inferencia bayesiana;
es decir, estimar la probabilidad posterior de las variables no
conocidas, en base a las variables conocidas. Estos modelos
pueden tener diversas aplicaciones, para clasificación,
predicción, diagnóstico, entre múltiples usos en nuestro caso
se utilizará para la predicción de las probabilidades de pasar
o reprobar el décimo módulo en la carrera de Ingeniería en
Sistemas.
Además,pueden dar información interesante en cuanto a
como se relacionan las variables del dominio, las cuales
pueden ser interpretadas en ocasiones como relaciones de
causa/efecto relacionando la aprobación de materias y la
asistencia.
En el presente trabajo se ha planteado la creación de una
red bayesiana la cual comprenderá las materias que se reciben
con su respectiva acreditación, considerando 7 puntos para el
examen y 3 puntos por los aportes sean estos intra o extraclase,
con los cuales se tomarán las probabilidades media, alta o baja.
Las mismas que al combinarse con factores como la asistencia
nos permitirán un análisis más extenso de lo que sucede en la
aprobación o reprobación de un módulo el cual comprende de
6 materias de aprobación obligatoria, y también es relevante
que solo se puede tener un 20 % de faltas como máximo en
cada materia.
L. Bravo , Universidad Nacional de Loja, Loja, Ecuador, E-mail:
lfbravoe@unl.edu.ec
M. León, Universidad Nacional de Loja, Loja, Ecuador, E-mail:
mrleonr@unl.edu.ec
J. Solano, Universidad Nacional de Loja, Loja, Ecuador, E-mail:
jpsolanoc@unl.edu.ec
II. ESTADO DEL ARTE
II-A. REDES BAYESIANAS
Las redes bayesianas o probabilísticas se fundamentan en la
teoría de la probabilidad y combinan la potencia del teorema
de Bayes con la expresividad semántica de los grafos dirigi-
dos; las mismas permiten representar un modelo causal por
medio de una representación gráfica de las independencias /
dependencias entre las variables que forman parte del dominio
de aplicación[1].
Una red bayesiana es un grafo acíclico dirigido –las uniones
entre los nodos tienen definidas una dirección– en el que los
nodos representan variables aleatorias y las flechas representan
influencias causales; el que un nodo sea padre de otro implica
que es causa directa del mismo.
Se puede interpretar a una red bayesiana de dos formas:
1. Distribución de probabilidad: Representa la distribución
de la probabilidad conjunta de las variables representa-
das en la red.
2. Base de reglas: Cada arco representa un conjunto de
reglas que asocian a las variables involucradas. Dichas
reglas están cuantificadas por las probabilidades respec-
tivas.
II-B. RAZONAMIENTO CON PROBABILIDADES LA RE-
GLA DE BAYES
Propuesta en 1763 por el Reverendo T. Bayes
Figura 1. Regla de Bayes
De forma intuitiva: La probabilidad de una hipótesis
A dada una evidencia B: P(A|B) es proporcional a
probabilidad de la hipótesis P(A) multiplicada por el
grado en que la hipótesis predice los datos P(B|A)[2]
Aplicabilidad:En muchos problemas dado un conjunto
de datos (evidencia) B tenemos que seleccionar la
hipótesis A más probable mediante P(A|B).
2. 2
Regla de Bayes: Si se tiene un conjunto de proposiciones
A1, A2, Am
completas y mutuamente excluyente se tiene:
Figura 2. Regla de Bayes 1
O lo que es lo mismo, si tiene una variable aleatoria A
con valores
a1, a2, am
resulta:
Figura 3. Regla de Bayes 2
II-C. DEFINICIÓN FORMAL DE LAS REDES BAYESIA-
NAS
Una red bayesiana es un grafo acíclico dirigido en el
que los nodos representan variables aleatorias que pueden
ser continuas o discretas; en las siguientes definiciones se
utilizarán letras mayúsculas para denotar los nodos ( X ) y las
correspondientes letras minúsculas para designar sus posibles
estados[3]. x1
Los estados que puede tener una variable deben cumplir con
dos propiedades:
1. Ser mutuamente excluyentes, es decir, un nodo sólo
puede encontrarse en uno de sus estados en un momento
dado.
2. Ser un conjunto exhaustivo, es decir, un nodo no puede
tener ningún valor fuera de ese conjunto.
Se emplea la siguiente terminología dentro de redes baye-
sianas:
Nodo:Un nodo X es una variable aleatoria que puede
tener varios estados xi. La probabilidad de que el nodo
X este en el estado x se denotará como: P(X)=P(X=x).
Arco:Es la unión entre dos nodos y representa la depen-
dencia entre dos variables del modelo. Un arco queda
definido por un par ordenado de nodos (X,Y).
Padre: El nodo X es un padre del nodo Y, si existe un
arco(X,Y) entre los dos nodos.
Hijo:El nodo Y es un hijo del nodo X , si existe un arco
( X,Y) entre los dos nodos.
Probabilidad Conjunta: Dado un conjunto de variables
{ X,Y...Z} la probabilidad conjunta especifica la
probabilidad de cada combinación posible de estados
de cada variable P(xi, yj.....zk) de tal manera que se
cumple que:
Figura 4. Probabilidad Conjunta
Probabilidad Condicional:Dadas dos variables X e Y
, la probabilidad de que ocurra yj dado que ocurrió el
evento xi es la probabilidad condicional de Y dado X y
se denota como: P(yj|xi ):
Figura 5. Probabilidad Condicional
Aplicando a esta expresión el Teorema de Bayes obtene-
mos la probabilidad total:
Figura 6. Probabilidad Totall
Independencia:
Decimos que dos proposiciones A1yA2 son independien-
tes si el conocimiento de una no cambia la posibilidad
de la otra[4].
Formalmente A1yA2 independientes si P(A1|A2)=P( A1)
o de forma equivalente P(A2|A1)=P(A2) o utilizando la
regla del producto P(A1yA2)=P(A1) P(A2). Dos varia-
bles aleatorias son independientes si el conocimiento del
valor que toma una no cambia la probabilidad de los
valores de la otra: P(A1 = c|A2 = d)=P(A1 = c)
Representación de la Independencia:Redes Bayesianas
La clave hacer factible la inferencia con probabilidades
es la introducción explícita de la independencia entre
variables
El modelo más extendido de representación de indepen-
dencias lo constituye las Redes Bayesianas.
En este modelo se representa de forma explícita la
dependencia entre variables mediante un grafo
Los nodos del grafo se corresponden con variables y las
dependencias se representan mediante arcos entre ellas.
Caracterítsticas Redes Bayesianas[5]
Eliminan algunos de los problemas asociados al razona-
miento probabilístico
Desarrolladas a finales de los 70 (Pearl), se convirtieron
durante los 90 en un esquema general de representación
de la incertidumbre
Una Red Bayesiana (RB) proporciona una forma
compacta y modular de representar la distribución
conjunta de varias variables aleatorias.
3. 3
Una RB consta de:
• Una parte cualitativa que describe las relaciones
entre las distintas variables.
• Una parte cuantitativa que describe la fuerza de
dichas relaciones mediante probabilidades condicio-
nadas
Redes Bayesianas: Inferencia, Decisión y Aprendizaje
En una RB, la información proporcionada por una o más
variables que se observan (evidencia) se propaga por la
red y actualiza nuestra creencia acerca de las variables
no observadas. A este proceso se le llama inferencia.
Es posible aprender las probabilidades condicionales que
describen las relaciones entre las variables a partir de los
datos. Incluso es posible aprender la estructura completa
de la red a partir de datos completos o con algunos de
sus valores desconocidos.
Las RB pueden utilizarse para tomar decisiones óptimas
introduciendo posibles acciones y la utilidad de sus
resultados[6].
II-D. ¿QUÉ PROBLEMAS PODEMOS RESOLVER CON
REDES BAYESIANAS?
Las redes Bayesianas resuelven problemas de razonamiento
probabílistico[6] tales como:
Problemas que tienen Insensibilidad a probabilidades
previas
Modelos Frecuentistas.
Modelos con Insesibilidad a la capacidad predictiva del
dato.
Problemas con concepciones estadísticas inexactas.
Modelos que presentan la Falacia de Conjunción.
Modelos con Accesibilidad o Disponiblidad.
Modelos con Ajuste o Anclaje.
Problemas relacionados a la Teoría de Modelos Mentales.
II-E. ÁREA DE APLICACIÓN DE LAS REDES BAYESIA-
NAS
Microsoft
• Answer Wizard (Office).
• Diagnóstico de problemas de usuario (Aladdin)
• Home Health en la red de Microsoft (MSN)
Intel
• Diagnóstico de fallos de procesadores
HP
• Diagnóstico de problemas de impresoras.
Nokia (Windows Phone)
• Diagnóstico de redes celulares.
NASA
• Sistema de Ayuda de Decisión en misiones espacia-
les.
II-F. LIBRERÍA ELVIRA
¿Qué es ELVIRA?
: Las redes bayesianas[7] surgieron en la década de los
80 como modelo probabilístico para el razonamiento con
incertidumbre en inteligencia artificial. En pocos años
experimentaron una notable expansión: se formaron grupos
especializados en las universidades más importantes (UCLA,
Stanford, MIT, Carnegie-Mellon...) y en las grandes
compañías (IBM, Microsoft, Digital, etc.).
También en España surgieron grupos de investigadores
en varias universidades, los cuales decidieron unirse para
solicitar un Proyecto Coordinado de I+D financiado por
la CICYT, que se ha desarrollado entre los años 1997 y
2000. En él participaron 25 profesores de 8 universidades
españolas, agrupados en cuatro subproyectos: Granada,
Almería, País Vasco y UNED. La concesión de una Beca para
la incorporación de tecnólogos a proyectos de investigación
de la Comunidad de Madrid supuso una gran ayuda para este
proyecto.
El principal objetivo del proyecto era la construcción de
un entorno que sirviera, por un lado, para la investigación de
nuevos métodos y algoritmos de razonamiento probabilístico
y, por otro, para la implementación de sistemas expertos
bayesianos. El programa resultante se llamó Elvira, tomando
el antiguo nombre de la ciudad de Granada, a cuya
Universidad están vinculados en mayor o menor medida
varios de los investigadores del proyecto. Por la misma razón,
el proyecto de la CICYT asociado fue denominado entre sus
participantes como Proyecto Elvira.
En marzo de 2001, un grupo formado más o menos
por los mismos investigadores solicitó un nuevo Proyecto
Coordinado, titulado Elvira II: Aplicaciones de los Modelos
Gráficos Probabilísticos, que fue concedido por el Ministerio
de Ciencia y Tecnología a finales de ese mismo año. Sus
objetivos principales son dos: mejorar las características del
programa Elvira actual y desarrollar aplicaciones en diversos
campos, como la medicina, la genética, la agricultura y el
comercio inteligente (filtrado cooperativo).
El proyecto Elvira II se compone de cinco subproyectos:
Granada,
Almería,
País Vasco,
UNED y
Albacete.
El programa Elvira cuenta con un formato propio para
la codificación de los modelos, un lector-intérprete para los
modelos codificados, una interfaz gráfica para la construcción
de redes, con opciones específicas para modelos canónicos
(puertas OR, AND, MAX, etc.), algoritmos exactos y
aproximados (estocásticos) de razonamiento tanto para
variables discretas como continuas, métodos de explicación
del razonamiento, algoritmos de toma de decisiones,
aprendizaje de modelos a partir de bases de datos, fusión de
4. 4
redes, etc.
Elvira está escrito y compilado en Java, lo cual permite
que pueda funcionar en diferentes plataformas y sistemas
operativos (linux, MS-DOS/Windows, Solaris, etc.).
La principal limitación del programa Elvira es que la
búsqueda de resultados de investigación a corto plazo
dificultó la aplicación de los principios de la metodología de
desarrollo de software. El programa aún carece de ayuda en
línea y todavía necesita bastante trabajo de depuración.
Instalación de ELVIRA
: Una vez instalado Java, debe descomprimir el archivo
Elvira.zip (versión 0.14, del 10 de febrero de 2005), que
ocupa actualmente 2’4 MB y es común para todas las
plataformas (Windows, linux, Solaris).
En Windows XP el archivo anterior aparecerá como una car-
peta comprimida. Debe seleccionar la opción "Descomprimir
archivos.en el Explorador de Windows y escoger el directorio
donde desee descomprimirlos; por ejemplo,c:elvira.
Si tiene versiones anteriores de Windows, debe
descomprimirlo con Winzip u otro programa similar; puede
descargar una versión de evaluación en www.winzip.com.
Pulsando Control-E en Winzip se accede a la ventana
Extract (Extraer). Compruebe que están señaladas las
opciones All files y Use folder names. En el campo Extract
to escriba el directorio (carpeta) donde desea instalar el
programa, por ejemplo c:; de este modo, todos los archivos
se descomprimirán en el directorio c:elvira y en los
subdirectorios correspondientes.
Es posible que, al hacer clic en el enlace Elvira.zip
anterior, su navegador le muestre una carpeta .elvira.en forma
de icono. En ese caso, haga clic con el botón derecho
del ratón sobre el icono y seleccione la opción çopiar".
Vaya luego a la carpeta donde desee instalar Elvira (por
ejemplo, c:) y pegue allí la carpeta .elvira"que acaba de copiar.
Si ha seguido las indicaciones anteriores, en el directorio
c:elvira encontrará el archivo Elvira.jar. También encontrará
un pequeño manual de Elvira en c:elviramanualmanual.html.
Figura 7. Descarga de Elvira
Figura 8. Instalación de Elvira
Figura 9. Ejecución de Elvira
Figura 10. Interfaz de Elvira
II-G. LIBRERÍA OPEN MARKOV
OpenMarkov es una herramienta de software para modelos
gráficos probabilísticos (PGMs) desarrollados por el Centro
de Investigación en Sistemas Inteligentes de apoyo a las
decisiones de la UNED en Madrid, España.
Ha sido diseñado para:
Edición y evaluación de varios tipos de varios tipos
de PGM , como las redes bayesianas, diagramas de
influencia, factorizado modelos de Markov, etc;
Edición y evaluación de varios tipos de varios tipos
de PGM , como las redes bayesianas, diagramas de
influencia, factorizado modelos de Markov, etc;
Aprendizaje de redes bayesianas a partir de datos de
manera interactiva; análisis de costo-efectividad
Instalación de Open Markov
OpenMarkov requiere Java 7 .
Descargar este archivo org.openmarkov.full-0.1.4.jar des-
de la dirección http://www.openmarkov.org/usuarios.html
(12 MB) en el disco duro (o en un pen-drive o en un CD
...) y empezar a OpenMarkov haciendo doble clic sobre
él. No se requiere instalación.
Como alternativa, puede descargar la última versión (que
puede ser inestable).
5. 5
Hay un truco para abrir las redes más fácilmente con
OpenMarkov haciendo doble clic sobre ellos.
Figura 11. Archivo de OpenMarkov
Figura 12. Ejecución de OpenMarkov
.
III. IMPLEMENTACIÓN
Para analizar el problema de la posibilidades que existen
para aprobar el décimo módulo de la carrera de Ingeniería en
Sistemas utilizamos la siguiente red bayesiana que fue reali-
zada utilizando la aplicación para redes bayesianas ELVIRA:
Primero se definió la red bayesiana con las materias que
componían al módulo en referencia:
package redesBayesianas;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import org.openmarkov.core.model
.network.ProbNet;
import org.openmarkov.core.mode
l.network.ProbNode;
import org.openmarkov.io.probmode
l.PGMXReader;
import java.io.File;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import javax.swing.JTextArea;
import javax.swing.LayoutStyle.
ComponentPlacement;
import javax.swing.JScrollPane;
import javax.swing.JLabel;
public class Inicio extends JFrame {
private JPanel contentPane;
JFileChooser abrirArchivo;
final private String bayesNetworkName =
"BN-two-diseases.pgmx";
JTextArea textArea = new JTextArea();
JLabel lblNmeroDeNodos =
new JLabel("Numero de Nodos: ??");
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Inicio frame = new Inicio();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public Inicio() {
setTitle("Redes Bayesianas");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 935, 335);
contentPane = new JPanel();
contentPane.setBorder
(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
JButton btnCargarRedBayesiana =
new JButton("Cargar Red Bayesiana");
btnCargarRedBayesiana.
addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
abrirArchivo();
}
});
JScrollPane scrollPane = new JScrollPane();
GroupLayout gl_contentPane =
new GroupLayout(contentPane);
gl_contentPane.setHorizontalGroup(
gl_contentPane.createParallelGroup(Alignment.LEADING)
.addGroup(gl_contentPane.createSequentialGroup()
.addContainerGap()
.addGroup(gl_contentPane.
createParallelGroup(Alignment.LEADING)
.addComponent(scrollPane,
GroupLayout.DEFAULT_SIZE, 899, Short.MAX_VALUE)
.addGroup(gl_contentPane.createSequentialGroup()
.addComponent(lblNmeroDeNodos)
.addGap(189)
.addComponent(btnCargarRedBayesiana)))
.addContainerGap())
);
gl_contentPane.setVerticalGroup(
gl_contentPane.createParallelGroup(Alignment.LEADING)
6. 6
.addGroup(gl_contentPane.createSequentialGroup()
.addGroup(gl_contentPane.
createParallelGroup(Alignment.BASELINE)
.addComponent(lblNmeroDeNodos)
.addComponent(btnCargarRedBayesiana))
.addGap(18)
.addComponent(scrollPane, GroupLayout.
DEFAULT_SIZE, 242, Short.MAX_VALUE))
);
textArea.setEditable(false);
scrollPane.setViewportView(textArea);
contentPane.setLayout(gl_contentPane);
}
private void abrirArchivo() {
String path="";
/**llamamos el metodo que permite
cargar la ventana*/
JFileChooser filee=
new JFileChooser();
filee.showOpenDialog(this);
/**abrimos el archivo seleccionado*/
File abre=
filee.getSelectedFile();
path = abre.getPath();
String matriz[][] = new String[18][3];
try {
// Open the file containing the network
this.setTitle
("Redes Bayesianas - " + path);
InputStream file =
new FileInputStream(new File(path));
// Load the Bayesian network
PGMXReader pgmxReader =
new PGMXReader();
ProbNet probNet = pgmxReader.
loadProbNet
(file, bayesNetworkName).getProbNet();
System.out.println(probNet.getNumNodes());
lblNmeroDeNodos.setText("Numero de Nodos: " +
probNet.getNumNodes());
// Create an evidence case
// (An evidence case is
composed of a set of findings)
List<ProbNode> listPro = probNet.getProbNodes();
String s="";
String s1="";
String r = "MinimotMaximotRelevanciatCoord. X
tCoord. YtHijostPadrestNombrenn";
for (int i = 0; i < listPro.size(); i++) {
ProbNode probNode = listPro.get(i);
s = String.valueOf(probNode
getApproximateMinimumUtilityFunction());
s1 = String.valueOf(probNode.
getApproximateMaximumUtilityFunction());
String c = s.substring(0,3);
String c1 = s1.substring(0,3);
r += (
c + "t" +
c1 + "t" +
probNode.getRelevance() + "t" +
probNode.getNode().getCoordinateX() + "t" +
probNode.getNode().getCoordinateY() + "t" +
probNode.getNode().getNumChildren() + "t" +
probNode.getNode().getNumParents() + "t" +
probNode.getName() + "n"
);
textArea.setText(r);
}
} catch (Exception e1) {
System.err.println(e1.getMessage());
e1.printStackTrace();
}
}
}
Figura 13. Red Bayesiana para la Aprobación de Módulo
Luego se procedió a realizar el estudio inferencial:
Figura 14. Red Bayesiana para la Aprobación de Módulo (Estudio Inferencial)
7. 7
Las asignaturas que comprende el décimo módulo de la
carrera de Ingeniería en Sistemas son las siguientes:
Número Asignatura
1 Anteproyectos de Tesis
2 Control Automático
3 Sistemas Expertos
4 Ética
5 Simulación
6 Inteligencia Artificial
Cabe señalar que para cada asignatura se hizo el estudio
en base a 2 parámetros los Pruebas y Tareas.
Los nodos de Pruebas fueron agrupadas en 3 parámetros:
alto, medio y bajo. , en todos las materias se evaluó sobre
7 puntos a excepción de la materia de Anteproyectos de
Tesis, la cual fue evaluada bajo 10 puntos. La tabla que
a continuación se presenta detalla mejor la evaluación y
criterios:
Notas/10 Notas/7 Parámetro
1 0.7 Bajo
2 1.4 Bajo
3 2.1 Bajo
4 2.8 Bajo
5 3.5 Bajo
6 4.2 Medio
7 4.9 Medio
8 5.6 Medio
9 6.3 Alto
10 7.0 Alto
Para las tareas se rigió la evaluación en 3 criterios :
por el número de puntos como se detalla a continuación:
Tareas/3 Parámetro
1 Bajo
2 Medio
3 Alto
La asistencia a sido considerada como un nodo de análisis
después del rendimiento puesto que tiene una consideración
en especial la cual se muestra en la siguiente tabla:
Porcentaje de Asistencia Nivel
De 0 -79 % Bajo
De 80-89 % Medio
De 90 a 100 % Alto
Explicación de los Nodos: Explicaremos los nodos Padre
Intelligencia Artificial que sigue el sistema de calificaciones 7
puntos para pruebas y 3 puntos para Tareas, el mismo sistema
siguen en las otras materias a excepción de Anteproyectos de
Tesis cuya calificación es sobre 10 puntos.
Luego se procedió a realizar el estudio inferencial:
Figura 15. Nodo Puebas de Inteligencia Artificial
En la figura 15 podemos apreciar claramente que los niveles
medio y alto suman 0.71 lo cual corresponde a datos que
agregamos de promedios de notas anteriores y nuestros propios
promedios.
Luego se procedió a realizar el estudio inferencial:
A continuación se explica el nodo de Tareas de Inteligencia
Artificial el cual es el siguiente:
Figura 16. Nodo Tareas de Inteligencia Artificial
8. 8
Se ha considerado la misma probabilidad de obtener un
deber de promedio alto que sería un deber de 3 puntos, o un
deber de 2 puntos: un deber de promedio medio y un deber
de promedio bajo de 1 punto.
Luego de haber sido evaluado el rendimiento académico en
la red que proponemos aparece el nodo de asistencia:
Figura 17. Nodo Asistencias de Inteligencia Artificial
Este nodo es analizado independientemente puesto que si
el aprovechamiento no es el indicado ya no sería necesario
analizar la asistencia, pero si se obtiene el puntaje requerido el
nodo asistencia determinará la aprobación de la materia.Para
todas las materias se aplica el mismo criterio en asistencia.
Un nodo que se diferencia al resto porque su acreditación es
en base a revisiones es el nodo de revisiones de Anteproyectos
de Tesis , el cual es el siguiente:
Las probabilidades corresponden al número de opciones de
Figura 18. Nodo Revisiones de Anteproyectos de Tesis
acreditación que tiene esta materia.Por ejemplo tenemos 2 op-
ciones de obtener un nivel alto sería 9 y 10 que corresponden
a 0.2, así mismo tenemos 3 opciones de nivel medio que
corresponden a 6,7 y 8 con un porcentaje de 0,3 y para el
nivel bajo 5 opciones que serán el 0,5 de probabilidad.
El nodo principal de la red planteada que definirá si se
aprobara de módulo responde a la combinación de variables de
asistencia en las distintas materias, es así que si el estudiante
no aprobaría el módulo en aprovechamiento, la asistencia ya
no estaría considerada, si sucede que en una materia no puede
llegar al nivel medio o alto de asistencia también perdería el
ciclo, las combinaciones que hacen que un estudiante luego de
haber obtenido los puntajes necesarios en aprovechamiento, en
asistencia necesitará un nivel medio o alto como se describe
a continuación:
Figura 19. Nodo Revisiones de Paso de Módulo.
A través de la aplicación nuestra red realizada en Elvira,
es guardada como un archivo.pgmx como el siguiente:
Figura 20. Archivo.pgmx.
Este archivo será leído utilizando un proyecto el cual tendrá
incluida entre sus librerías a OpenMarkov.
Figura 21. Leer Archivo
9. 9
Figura 22. Presentar resultados
IV. RESULTADOS
Al ejecutar el programa tenemos se abre una ventana
en la cual podemos cargar la red que hemos propuesto
para lo cual es necesario que sea de extensión pgmx,
que fue resultado de guardar nuestra red hecha en Elvira
utilizando Open Markov y seleccionamos la red:
Figura 23. Red Seleccionada
Luego presentamos los resultados de la red analizada:
Figura 24. Red Seleccionada
V. CONCLUSIONES Y RECOMENDACIONES
Como podemos comprobar los algoritmos genéticos sir-
ven para problemas de razonamiento probabilíistico, en
este caso nos permite obtener las probabilidades de pasar
un ciclo académico.
El mejor resultado que podemos obtener dependerá de
las variables que utilicemos sumadas a datos reales
que podamos obtener de promedios históricos que se
obtuvieron en años anteriores.
La utilización de una librería como Elvira en nuestra
aplicación permite una mejor implementación de las
redes bayesianas en aplicaciones con lenguaje JAVA.
Los redes bayesianas resuelven problemas relacionados
con la probabilidad, su implementación y uso es cada
vez más aceptado en la comunidad científica.
Es importante considerar la utilización de una libreria
especializada para redes bayesianas como OpenMarkov,
la cual nos permitirá aplicar los conocimientos de redes
bayesianas en la programación utilizando lenguaje JAVA.
Este tipo de aplicaciones prácticas permiten mejorar la
comprensión de los conocimientos teóricos referentes a
las redes bayesianas.
Se puede aplicar esta red como el principio para la
aplicación de este estudio y considerar la creación de
una red genérica con todas las variantes de evaluación
que un estudiante tienen en una carrera universitaria.
REFERENCIAS
[1] MORAL SERAFIN Redes Bayesianas, Una Introducción
a las Redes Bayesianas, Universidad de Granada.[En línea].
Available:http://decsai.ugr.es/ smc/redesia2.pdf[Último acceso: 5
de Junio 2014].
[2] RODRIGUEZ DANIEL, Redes Bayesianas en la Inge-
niería del Software , Bogotá, 2013.[En línea]. Availa-
ble:http://www.cc.uah.es/drg/b/RodriguezDolado.BBN.2007.pdf[Último
acceso: 5 de Junio 2014]].
[3] SUCAR LUIS ENRIQUE, Redes Bayesianas,Universidad de
Puebla,2006. [En línea]. Available: http://ccc.inaoep.mx/ esucar/Clases-
mgp/caprb.pdf. [Último acceso: 5 de Junio 2014].
[4] PEREZ FERNANDO. , Redes Bayesianas e Inteligencia Artificial:
Aplicaciones en Educación,Universidad de Coruña,2006.[En línea].
Available: http://fdoperez.webs.ull.es/doc/RedesBayesianasEduc.pdf.
[Último acceso: 5 de Junio 2014].
[5] OPTIMIZACIÓN DE REDES BAYESIANAS BASADO EN TÉCNICAS
DE APRENDIZAJE POR INDUCCIÓN ,[En línea]. Available:
http://materias.fi.uba.ar/7500/felgaer-tesisingenieriainformatica.pdf
[Último acceso: 5 de Junio 2014].
[6] Probabilidad,[En línea]. Available:http://www.mty.itesm.mx/dtie/centros/csi/materias/ia
022/bayes-foils.pdf [Último acceso: 5 de Junio 2014].
[7] INSTALACIÓN DE ELVIRA.[En línea]. Available:
http://www.ia.uned.es/proyectos/elvira/instalar/install.html [Último
acceso: 5 de Junio 2014].
10. 10
Luis Bravo
Estudiante de la Carrera de Ingeniería en Sistemas de la
Universidad Nacional de Loja, Nivel Medio en Software Libre, Redes
y Mantenimiento, Provincia de Loja, Ciudad Loja, Ecuador, 2014.
Jhon Solano
Estudiante de la Carrera de Ingeniería en Sistemas de la
Universidad Nacional de Loja, Programador Senior en Java, Analista
de Sistemas nivel medio, Provincia de Loja, Ciudad Loja, Ecuador,
2014.
Mario León
Estudiante de la Carrera de Ingeniería en Sistemas de la
Universidad Nacional de Loja, Programador Senior en Java, Analista
de Sistemas nivel medio,Provincia de Loja, Ecuador, 2014.