Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TESINA Roche PDF
TESINA Roche PDF
Departamento de Lenguajes y
Sistemas Informáticos.
1.- Introducción.................................................................................. 4
2.- Planteamiento y relevancia del problema..................................... 8
3.- Aspectos resueltos y por resolver................................................. 12
4.- Comparativa de propuestas.......................................................... 14
4.1.- Árboles de decisión....................................................... 15
4.2.- Sistemas basados en reglas............................................ 15
4.3.- Listas de decisión.......................................................... 17
4.4.- Redes neuronales........................................................... 17
4.5.- Aprendizaje basado en ejemplos................................... 18
4.6.- Redes bayesianas........................................................... 18
4.7.- Conclusiones................................................................. 19
5.- Técnicas bayesianas.................................................................... 20
5.1.- Introducción................................................................... 21
5.2.- Conceptos básicos......................................................... 22
5.2.1.- V. a. discretas/continuas................................. 22
5.2.2.- Regla de multiplicación.................................. 25
5.2.3.- Teorema de Bayes.......................................... 26
5.2.4.- Hipótesis MAP y ML..................................... 27
5.3.- Clasificadores bayesianos............................................. 30
5.3.1.- Clasificador óptimo........................................ 30
5.3.2.- Clasificador naive........................................... 31
5.4.- Dependencia/independencia condicional...................... 33
5.5.- Redes bayesianas.......................................................... 35
5.5.1.- Introducción................................................... 35
5.5.2.- Obtención de redes bayesianas...................... 39
5.5.3.- Cálculo de la red más probable...................... 40
5.5.4.- Cálculo de P(D|M) para una red bayesiana.... 41
5.5.4.1.- V. a. con sólo dos valores................ 41
5.5.4.2.- V. a. con n valores........................... 45
5.5.4.3.- Métrica BD y K2............................. 49
5.5.5.- Búsqueda del mejor modelo........................... 50
5.5.6.- Inferencia........................................................ 51
6.- Proyecto de investigación............................................................ 52
6.1.- Introducción.................................................................. 53
6.2.- Discretización............................................................... 56
6.2.1.- Caso general.................................................. 56
6.2.2.- Aplicación para un atributo........................... 58
6.2.3.- Ajuste de parámetros..................................... 62
6.2.4.- Test de validación cruzada............................ 67
6.3.- Generación de la red bayesiana.................................... 69
6.4.- Trabajos pendientes...................................................... 78
2
7.- Revisión Bibliográfica................................................................ 79
8.- Personas y foros relacionados.................................................... 84
ANEXO........................................................................................... 90
1.- Introducción................................................................... 91
2.- Desarrollo del trabajo................................................... 91
3.- Ajuste de parámetros.................................................... 92
3
1.- INTRODUCCIÓN.-
4
Con la revolución digital capturar información es fácil y almacenarla es
extremadamente barato. Almacenamos datos porque pensamos que son un activo
valioso por sí mismos. Para los científicos, los datos representan observaciones
cuidadosamente recogidas de algún fenómeno en estudio. En los negocios, los datos
guardan informaciones sobre mercados, competidores y clientes. En procesos
industriales recogen valores sobre el funcionamiento de determinados procesos.
5
VISION GENERAL
DATOS
4000
3000
2000
1000
0
1
95
189
283
377
471
565
659
753
.-
6
2. Asociación o descubrimiento de relaciones o correlaciones entre un conjunto de
datos. Estas normalmente se expresan en forma de regla mostrando condiciones que
relacionan valores de los atributos y que ocurren frecuentemente entre los datos. Una
regla de asociación tiene la forma X → Y que debe ser interpretada como "los datos que
satisfacen X probablemente satisfacen Y".
• El modelo con dos factores relevantes: la función que se desee desempeñe (v. gr.
clasificación, clustering, etc.) y la forma (función lineal, conjunto de reglas,...)
• El criterio de preferencia o función de bondad para ajustar el modelo a los datos.
• El algoritmo de búsqueda para ajustar los parámetros de un modelo particular a
unos datos y una función de ajuste.
7
2.- PLANTEAMIENTO Y
RELEVANCIA DEL PROBLEMA.-
8
En la figura 1 se presenta un esquema del sistema. Básicamente se trata de un
sistema de flujo de gases que contiene azufre en mayor o menor medida. Sometiendo a
estos gases a los procesos adecuados puede aprovecharse ese azufre para producir ácido
sulfúrico en lugar de dejarlo escapar a la atmósfera, de esta forma se contribuye a
proteger el medio ambiente a la vez que se dispone de un producto comercializable.
9
Los gases se conducen de un punto a otro a través de soplantes, de forma que se
dice que el extremo hacia el cual la soplante actúa tiene presión, mientras que el
extremo contrario tiene tiro. Es de vital importancia que en la cámara de mezcla siempre
haya tiro, ya que un aumento de presión puede producir que los gases escapen a la
atmósfera, lo cual hay que evitar en todo momento.
Como resultado del funcionamiento del sistema se dispone de una inmensa base
de datos que representa el estado del sistema a lo largo del tiempo. Sería deseable saber
si a través de un análisis de estos datos puede llegarse a alguna conclusión.
10
contaría con un conjunto de datos totalmente preparados para aplicarles las técnicas
de aprendizaje.
11
3.- ASPECTOS RESUELTOS Y POR
RESOLVER.-
12
El proceso de producción del cobre requiere de unos sistemas muy complejos
que hacen necesario el acoplamiento de varios subsistemas, cada uno de los cuales se
encarga de una fase del proceso productivo. Los subprocesos realizados por estos
subsistemas liberan una serie de materiales que, en lugar de constituir material de
desecho, pueden servir como subproducto.
En varias fases del proceso productivo se generan gases con contenido en azufre,
el cual se aprovecha para producir ácido sulfúrico.
13
4.- COMPARATIVA DE
PROPUESTAS.-
14
Las principales formas de representar el conocimiento en machine learning son
las siguientes:
Si A entonces B
En donde A es un aserto y B puede ser una acción o bien otro aserto.
Por ejemplo:
1. Si la bomba falla entonces la presión es baja.
Aserto aserto
Estas reglas reflejan esencialmente las relaciones dentro del dominio del
problema, más bien reflejan el camino para razonar sobre el dominio.
Cuando tenemos después información concreta del dominio, esto se aplica a las
reglas y te lleva a conclusiones apuntando a acciones determinadas. Esto se llama
INFERENCIA.
Por ejemplo en el caso anterior del dominio sabemos ahora que hay fallo de
potencia.
15
Por la regla 3 nos dice que la bomba falla, y aplicando la regla 1 nos dice que la
presión será baja, además la regla 2 nos RECOMIENDA que chequeemos el nivel de
aceite (acción).
Por ejemplo supongamos que sabemos actualmente que la presión es baja, por la
regla 1 esto puede ser debido a que la bomba falla y por la regla 3 te dice que puede ser
debido a un fallo de potencia, y la regla 2 te recomienda chequear el nivel de aceite.
Por ejemplo:
Para representar una regla se puede usar una formulación CNF, o conjunción de
cláusulas que son disyunciones de condiciones sobre los atributos, v. gr.:
16
4.3 Listas de decisión.-
La lista de decisión [Rivest 87] es una representación del conocimiento de la
forma:
El sistema CN2 [Clark 89] es una de las herramientas más conocidas que utilizan
listas de decisión. COGITO [Riquelme 98] utiliza también esta representación del
conocimiento realizando la búsqueda mediante un algoritmo genético.
Todos los nodos de un nivel están conectados a todos los nodos del nivel
superior y del nivel inferior.
17
Si las relaciones son con cierto grado de certidumbre, la red puede dar la hipótesis
más probable, dado un conjunto de síntomas, en diagnosis médica, sin embargo no
podremos obtener el grado de incertidumbre de la conclusión, y no seremos capaces de
obtener cual es la hipótesis siguiente más probable.
18
Esto permite expresar que si una instancia está formada por los atributos y1, y2, ...
yn:
n
P( y1 ,... y n ) = ∏ P( y
i =1
i | Padres ( y i ))
n * ( n −1)
2
2
Ya que el número de modelos es realmente grande cuando las variables son
muchas, se impone un método de búsqueda para la elección del modelo más probable.
4.7 Conclusiones.-
El modelo va a tener como función principal el estudio de la relación de
dependencia de parámetros.
Ahora bien la forma adoptada es la red bayesiana, los motivos que influyen en
esta decisión son:
• El grafo generado por las redes bayesianas representan de forma visual la relación
de dependencia existente entre las variables del dominio del problema.
• Las redes neuronales se utilizan para clasificar, pero no dan reglas de cómo
obtienen esta información.
19
5.- TECNICAS BAYESIANAS.-
20
5.1 Introducción.-
En los últimos años los sistemas expertos probabilistas han alcanzado un alto
grado de desarrollo. Hasta los 80 se había dado por supuesto que la probabilidad
requería mucha información y unos cálculos demasiado complejos para poder resolver
problemas reales en los que interviniesen un gran número de variables.
Sin embargo esto cambió a partir de una serie de trabajos entre los que destacan
los de [Pearl 1986], [Pearl 1988], [Jensen 1996] y [Lauritzen 1988].
Si bien un problema que tienen, consiste en que tenemos que discretizar las
variables continuas.
En una red bayesiana esto quiere decir que si conocemos el valor de los padres
de “enfermo tiene gripe” que son “fiebre” y “dolor de cabeza” podemos determinar si el
enfermo tiene gripe o no, con un grado de incertidumbre, además el resto de valores de
variables no influyen en el valor de si tiene gripe o no.
Todas las variables que aparecen son variables del dominio que tratamos y no
como en las redes neuronales que los nodos no tienen representación en el dominio.
21
La información anterior podría verse como una regla de decisión:
Si (fiebre>38.5 y dolor de cabeza = Si) entonces enfermo tiene gripe (con grado
de certidumbre 0.75)
La distancia que hay del blanco al negro es 1, y la distancia que hay del blanco
al azul es 2, pero esta distancia hubiera sido diferente desde el momento en que
asignáramos las etiquetas numéricas diferentes al blanco, negro y azul, entonces aplicar
técnicas como las de los vecinos no tendría sentido.
22
F
E R
X
A11
A16 2
A66 12
0 Probabilidad 1
X:E R
X(E) = { 2,3,4 ... 12}. Llamándose a la función X variable aleatoria, siendo las
inversas de las imágenes en R sucesos en E.
X(w) 1/5
w
F
X
23
Por ejemplo si w1 es sacar cara y w2 es sacar cruz:
Cara 0 ½
Cruz 1 1
X F
X(w1) = 0.
X(w2) = 1.
1/2
0 1 x
E ⊆ R | P(x∈ E) = 1.
F(x) = P{w | -∞ < X(w) <= x}, es decir la suma de las probabilidades de todos aquellos
puntos hasta llegar al x, incluido.
x
F ( x) = ∫ f (t ) dt
−∞
La función f(x) recibe el nombre de función de densidad de probabilidad.
24
5.2.2 Regla de la multiplicación, teorema de la probabilidad
total y sucesos independientes.-
Regla de la multiplicación.-
Sean los sucesos H1, H2 ... Hj sucesos disjuntos y sea el suceso B que cumple B
= (B∩ H1) ∪ (B ∩H2) ... representado en la figura.
H1 H2 Hn
Sucesos independientes.-
Por ejemplo, tengamos cuatro bolas en una bolsa con las siguientes etiquetas.
1
2
3 1 2 3
P(E1) = ½.
P(E2) = ½.
25
Luego el suceso E1 y el suceso E2 son independientes.
P(E1 ∩ E2 ∩ E3) = ¼
P(E1) * P(E2) * P(E3) = 1/8.
Luego:
Escala de credibilidad
0 0.5 1
26
P(A |E) = 0, quiere decir que A debe de ser falso si parto de que se cumple E.
P(A |E) = 1, quiere decir que A debe de ser cierto si parto de que se cumple E.
P(A |E) = 0.5, quiere decir que E no influye en A.
El conocimiento a priori puede ser combinado con los datos observados para
determinar la probabilidad final de cada hipótesis. La probabilidad a priori se determina
asignando una a cada hipótesis inicialmente y considerando la distribución de
probabilidad en los datos observados para cada hipótesis posible.
La mejor hipótesis es aquélla que sea la más probable, teniendo en cuenta los
datos D y cualquier conocimiento inicial de las probabilidades a priori de varias
hipótesis dentro de H.
P( h ∩ D) = P(h) * P(D|h).
P( h ∩ D) = P(D) * P(h|D).
Por lo tanto
P ( D | h)
P(h | D) = P ( h) *
P( D)
a posteriori a priori Factor de corrección
27
P(h|D) es la probabilidad a posteriori de que se cumpla la hipótesis h una vez
conocidos los datos D, reflejando la influencia que tienen los datos D observados a
diferencia con la probabilidad a priori en la que no se tiene en cuenta.
Una vez que disponemos de una fórmula que nos da la probabilidad de una
hipótesis, estamos interesados en obtener aquella hipótesis más probable (maximum a
posteriori MAP) observados los datos D.
h ML = argmax h P(D|h)
28
función, todos los productos pasan a ser sumas y los exponentes desaparecen, limitando
el caso de desbordamientos en las operaciones de cálculo y lo hacen más tratable
matemáticamente.
h ML = argmax h Ln P(D|h)
Es preciso observar que hay que evaluar todas las posibles hipótesis existentes
en el espacio H.
Consideremos un caso:
Posibles hipótesis
• el paciente tiene una forma de cáncer.
• el paciente no tiene esa forma de cáncer.
El conocimiento a priori que tenemos nos dice que 8 de cada mil personas tiene
esa forma de cáncer, 98 de cada 100 personas que tienen esa forma de cáncer que se
someten a la prueba dan + y 97 de cada 100 personas que no tienen esa forma de cáncer
que se someten a esa prueba dan -.
0.0298 → 0.0376
x = 0.0298 / 0.0376 = 0.79
x → 1
29
inferencia bayesiana dependen de los valores de las probabilidades a priori, que deben
de estar disponibles para poder aplicar este método, además con este método las
hipótesis no son completamente aceptadas o rechazadas, si no que son mas o menos
probables, según los datos observados.
Hay que hacer notar que la hipótesis ML no tiene por qué ser la misma hipótesis
MAP, sólo coincidirá cuando las probabilidades de las hipótesis a priori sean idénticas.
hMAP = argmaxh P(h |D), por lo tanto la hipótesis MAP es la hipótesis h1, la
más probable (0.4) teniendo en cuenta los datos observados.
Supongamos una nueva instancia, que se clasifica según las hipótesis h1 como +
y con h2 y h3 como -
30
P(vj | D ) = ∑ P (v
hi ∈H
j | hi ) * P(hi | D)
Siendo vj una posible clasificación, y hi una de las hipótesis dentro del conjunto
H de todas las hipótesis posibles.
La clasificación óptima para una nueva instancia será aquella vj que cumple:
∑ P(+ | h ) * P(h
hi ∈ H
i i | D ) = 1 * 0 .4 + 0 * 0 .3 + 0 * 0 .3 = 0 .4
∑ P(− | h ) * P(h
hi ∈ H
i i | D ) = 0 * 0 .4 + 1 * 0 .3 + 1 * 0 .3 = 0 .6
argmaxv j ∈V ∑P(v
hi ∈H
j | hi ) * P(hi | D)
Sabemos que:
31
En nuestro caso, vMAP = argmax P(vj) * P(a1, a2, ... an | vj)
vj ∈ V
El problema surge cuando queremos obtener P(a1, a2, ... an | vj) ya que el número
de posibles combinaciones diferentes de valores para cada atributo con todos los demás
es muy grande.
P(a1, a2, ... an | vj) = P(a1 | vj) * P(a2 | vj) * ... P(an | vj).
De la siguiente manera:
Es decir, deben de estimarse los valores P(vj) y P(ai | vj) partiendo de los datos
observados.
Un problema surge cuando la P(ai | vj ) es cero para algún atributo, en cuyo caso
fuerza a que la multiplicación sea cero y por lo tanto dará siempre cero para esa
hipótesis, para evitar este problema se introduce la denominada probabilidad m-
estimada, cuya fórmula es la siguiente:
32
P(ai | vj ) = (Nc + 1) / (N + K) siendo
Una variable A y otra B son dice que son dependientes mutuamente, si saber lo
que vale A me ayuda a conocer lo que vale B.
Por ejemplo:
Animal Tipo de
animal
Hábitat
Ahora bien, si yo sé que animal es ballena, esto me ayuda a adivinar que hábitat
es agua.
En este caso saber que tipo de animal es mamífero no nos ayuda para adivinar
que hábitat es agua.
33
Mas formalmente diremos :
P(X1, ... Xh | Y1, ... Ym , Z1, ... Zn) = P(X1, .. Xh | Z1, ... Zn)
0.1
0.1
0.3
0.5
0.2 2
0.8
3
0.1
34
5.5 Redes bayesianas.-
5.5.1 Introducción.-
P(a1, a2, ... an | vj) = P(a1 | vj) * P(a2 | vj) * ... P(an | vj).
Pero es una condición muy restrictiva para poderla aplicar a una gran cantidad
de problemas en los que esto no se da, buscando una solución intermedia entre el
clasificador bayesiano sencillo y el óptimo, surgen las redes bayesianas en las que la
independencia condicional se exige entre un subconjunto de atributos y no entre todos.
35
Veamos un ejemplo de red bayesiana:
A
H
B
J
Cada variable tiene un conjunto de posibles valores llamado espacio de estados que
consiste de mutuamente exclusivos y exhaustivos valores de las variables.
36
La probabilidad joint de cualquier elemento sería:
n
P( y1 ,... y n ) = ∏ P( y
i =1
i | Padres ( y i ))
• Puertas(2, 3, 4 , 5 o más).
• Personas(2, 4, más de 4).
• Seguridad (baja, media, alta).
• Maletero ( grande, mediano, pequeño).
• Precio compra(muy alto, alto, medio, bajo).
• Coste mantenimiento (muy alto, alto, medio, bajo).
• Grado de satisfacción ( muy bueno, bueno, satisfecho, insatisfecho).
37
Manten.
Compra
Puertas
Satisfacción
Maletero
Seguridad
Personas
38
precio de mantenimiento en la variable grado de satisfacción no influye el número de
puertas, es decir satisfacción y número de puertas son independientes condicionalmente.
Para construir una red bayesiana (modelo) es preciso definir las variables en
primer lugar, a continuación obtener la estructura de la red y finalmente obtener las
distribuciones de probabilidad locales.
Casi todas las técnicas que se proponen trabajan con la técnica del gradiente
[Rusell 1995], en cualquiera de los casos supone siempre la obtención del Maximum
Likelihood(ML).
Recordamos que:
n * ( n −1)
2
2
Ya que el número de modelos es realmente grande cuando las variables son
muchas, se impone un método de búsqueda para la elección del mejor modelo ya que
es un problema NP-Hard demostrado en [Chickering 1995].
39
5.5.3 Cálculo de la red bayesiana más probable.-
Sea M el modelo a considerar (red bayesiana) y sean D los datos de
entrenamiento, entonces
P( M 1 | D) P( M 1 ) * P( D | M 1 )
=
P( M 2 | D) P( M 2 ) * P( D | M 2 )
Factor de Bayes
Ahora bien, se puede calcular P(M) para un modelo a priori, es decir antes de
conocer los datos. Una tendencia consiste en dejar hablar a los datos, que sean ellos los
que expresen qué modelo es más probable, es decir todos los modelos sean
equiprobables inicialmente y por lo tanto P(M1) = P(M2) = ..., así nos quedará que la
fórmula para poder comparar dos modelos es la siguiente:
P( M 1 | D) P( D | M 1 )
=
P( M 2 | D) P( D | M 2 )
P ( M 1 | D)
ln = ln P( D | M 1 ) − ln P ( D | M 2 )
P( M 2 | D)
40
Nos debemos plantear el cálculo de P(D|M), es decir la probabilidad de obtener
los datos partiendo de un modelo.
Supongamos v. a. X (con atributos X1, X2...Xn) con dos valores sólo (0,1).
1
P( X1 = x1, X2 = x2 ,...,Xn = xn ) = ∫ P(x ,...,x | q) * f (q) dq
0
1 n
• q va entre 0 y 1.
Por lo tanto:
41
1 Γ(α + β )
f (q) = q α −1 (1 − q) β −1 = q α −1 (1 − q ) β −1
B (α , β ) Γ(α ) * Γ( β )
Sabemos que:
Γ(α) = (α−1)!
siempre que α sea entero.
1 Γ(α + β )
P( X 1 = x1 , X 2 = x 2 ,..., X n = x n ) = ∫q
k
* (1 - q) n -k q α −1 (1 − q ) β −1 dq =
0 Γ(α ) * Γ( β )
Γ(α + β ) 1 k +α −1
∫ q (1 − q ) n −k + β −1 dq
Γ(α ) * Γ( β ) 0
Luego:
Esto se puede ver como que hay a priori α éxitos y β fallos, y observados n
casos más con k éxitos, tendremos una observación total de k + α éxitos con n – k + β
fallos, aunque con un factor de corrección
Γ(α + β )
Γ(α ) * Γ( β )
Tomamos dos cajas(la primera urna para color rojo y la segunda para color
amarillo), inicialmente ponemos α bolas rojas en la urna uno y β bolas amarillas en la
urna dos.
42
A continuación extraemos una bola de la bolsa y la depositamos en la urna de su
color, y así continuamos hasta que las n bolas han sido depositadas en su urna
correspondiente.
Si después de repetir el proceso con las n bolas hemos tenido n1 de color rojo y
n2 de color amarillo, la probabilidad a posteriori será:
Se puede observar que el orden de las cajas en este experimento no tiene ningún
efecto.
X 1 1 1 1 1 1 1 1 0 0 0 0 0
Y 1 1 1 1 1 0 0 0 1 1 0 0 0
43
Supongamos a priori una distribución Beta(1,1), a posteriori será:
k ! ( n − k )!
P ( X 1 = x1 , X = x 2 ,... X = xn ) =
( n + 1 )!
2 n
Modelo M1 Modelo M2
X X
Y Y
Modelo M1.-
8! 5! 7! 6!
P(x, y | M1) = P(x | M1) * P(y | M1) = * = 2.31*10 −9
14! 14!
Modelo M2.-
P(x, y | M2) = P(x | M2) * P(y | x, M2) = P(x | M2) * P(y | x = 0, M2) * P(y | x = 1, M2) =
8!5! 2!3! 5!3!
* * = 1.84 *10 −9
14! 6! 9!
Comparativa de modelos.-
P ( x, y | M 1 ) 2.31 * 10 −9
= > 1
P ( x, y | M 2 ) 1.84 * 10 −9
44
También señalar que son probabilidades relativas, ya que el objetivo es
encontrar una estructura buena, no estimar la probabilidad de una estructura.
E[q] = α / (α+β).
Var[q] = αβ / ( (α+β)2 (α+β+1) )
es decir
Por lo tanto las redes bayesianas utilizan la evidencia para estimar un modelo
bueno, es decir “corrige” el conocimiento a priori que teníamos.
45
p = P(X =0),
q = P(X =1)
1-p-q = P(X =2).
Necesitando entonces una distribución con tres parámetros α1, α2, α3, teniendo
en cuenta que tanto p como q como 1-p-q van entre 0 y 1.
Tomamos tres cajas(la primera urna para color rojo, la segunda para color
amarillo y la tercera para el color verde), inicialmente ponemos α1 bolas rojas en la urna
uno y α2 bolas amarillas en la urna dos y α3 bolas verdes en la urna tres.
Si después de repetir el proceso con las n bolas hemos tenido n1 de color rojo, n2
de color amarillo y n3 de color verde, la probabilidad a posteriori será:
Se puede observar que el orden de las cajas en este experimento no tiene ningún
efecto.
46
La distribución Dirichlet (α1,α2,...αn) es una generalización multivariada de la
distribución Beta(α,β), se supone entonces que tenemos una variable aleatoria de n-
dimensiones (también considerada como n v. a. estudiadas de forma conjunta) (q1,q2,
...,qn) , qi es la probabilidad de que la v. a. se encuentre en el estado i.
• Deben de ser independientes q1, q2 ... qn entre sí, y su suma debe de ser
constante.
αi
α i (1 − )
Var ( X i ) = α , aunque tiene otras formas.
α (α + 1)
Γ (α 1 + α 2 + ... + α n ) α 1 − 1 α 2 − 1
x 1 x 2 ... x αn −n1−1 (1 − x 1 − x 2 − ... − x n −1 ) α n −1
Γ (α 1 ) Γ (α 2 )... Γ (α n )
1 Γ (α + β )
f (q ) = q α −1 (1 − q ) β −1 = q α − 1 (1 − q ) β −1
B (α , β ) Γ (α ) * Γ ( β )
47
Para el caso de Dirichlet(1,1,1) en particular saldrá:
P ( X 1 = x1 ... X n = xn ) =
Γ (3) Γ (1 + n 1 ) Γ (1 + n 2 )Γ (1 + n3 )
=
Γ (1) * Γ (1) * Γ (1) Γ (3 + N )
Γ (1 + n 1 ) Γ (1 + n 2 )Γ (1 + n3 ) n1! n2 ! n3!
2 * = 2 *
Γ (3 + N ) ( N + 2)!
Modelo M1.-
13! 8! 9! 11! 8! 11!
P(x, y | M1) = P(x | M1) * P(y | M1) = 2 * * 2 *
32! 32!
Modelo M2.-
P(x, y | M2) = P(x | M2) * P(y | x = 0, M1) * P(y | x = 1, M2) * P(y | x = 2, M2) =
13! 8! 9! 3! 4! 6! 5! 1! 2! 3! 3! 3!
2 * * 2 * * 2 * * 2 *
32! 15! 10! 11!
Es decir que se ven los pesos tanto del conocimiento a priori, como de la
importancia que se da a los datos.
48
Para la varianza (Var) obtendremos:
N ' N '
n qi
Γ( ) ri
Γ( + N ijk )
qi ri q i
P(D | M ) = ∏∏ N '
∏ N'
i =1 j =1
Γ( + N ij ) k =1
Γ( )
qi ri q i
N’/riqi sería αi
N’/qi sería α1+α2+ ... +αn
49
N’ es el tamaño del ejemplo equivalente, se dice que si N’ es muy grande
entonces pensamos que los datos no deben de influir rápidamente en las probabilidades.
Por lo tanto, escoger un valor diferente puede llevarnos a probabilidades diferentes y
por lo tanto a redes bayesianas diferentes.
50
5.5.6 Inferencia en redes bayesianas.-
Inferencia se refiere a obtener conclusiones basadas en premisas, es decir basada
en una nueva información, permitiendo realizar predicciones en caso de intervenciones
que se hagan en base a las nuevas probabilidades.
Ahora bien, la solución que planteó sólo sirve para cuando se aplica a redes
simplemente conectadas (llamadas polytrees), es decir sin loops, por lo tanto no debe de
existir ciclos sin tener en cuenta la dirección de las flechas.
51
6.- PROYECTO DE INVESTIGACIÓN.-
52
6.1 Introducción.-
El modelo va a tener como función principal el estudio de la relación de
dependencia de parámetros, sobre todo aquellos que influyen en el parámetro TIRO CM
desarrollado en esta página y la forma adoptada es la red bayesiana.
Comenzó el proyecto con el estudio de cada uno de los parámetros que figuraban
en los datos, sobre todo la detección de si eran parámetros de entrada, o bien de salida.
Este detalle es fundamental desde mi punto de vista ya que va a delimitar claramente el
trabajo diferente con cada variable dependiendo del tipo en que sea encuadrada.
Los parámetros de entrada se marcan con (E) y los de salida con (S)
Tiro en HF (S)
Indica el tiro que tenemos en el Horno Flash.
Tiro CM (S)
Este parámetro es el que queremos optimizar. Se trata de conseguir que siempre haya
tiro en la cámara de mezcla y que éste sea lo más estable posible. Valores de consigna
buenos podrían ser: Alimentación HF de 140 aprox., 2 convertidores soplando a 35000,
Tiro en CM de –25 (Tomar como muy malos los valores mayores de –18) . El tiro en el
electrofiltro no debe pasar de 500.
Aspiración S1 (E)
Indica la aspiración de la soplante de la línea 1 de convertidores.
Aspiración S2 (E)
Indica la aspiración de la soplante de la línea 2 de convertidores.
Caudal S1 (E)
Caudal de la soplante 1 de convertidores. Los caudales nos dan una idea de las
revoluciones a las que trabajan las soplantes.
Caudal S2 (E)
Caudal de la soplante 2 de convertidores.
53
Soplado C1 (E)
Indica la cantidad de aire que se está inyectando al convertidor 1.
Ángulo C1 (E)
Indica la posición en la que se encuentra el convertidor 1. Cuando está en campana, el
ángulo estará próximo a 0.
Soplado C2 (E)
Indica la cantidad de aire que se está inyectando al convertidor 2.
Ángulo C2 (E)
Indica la posición en la que se encuentra el convertidor 2. Cuando está en campana, el
ángulo estará próximo a 0.
Soplado C3 (E)
Indica la cantidad de aire que se está inyectando al convertidor 3.
Ángulo C3 (E)
Indica la posición en la que se encuentra el convertidor 3. Cuando está en campana, el
ángulo estará próximo a 0.
Soplado C4 (E)
Indica la cantidad de aire que se está inyectando al convertidor 4.
Ángulo C4 (E)
Indica la posición en la que se encuentra el convertidor 4. Cuando está en campana, el
ángulo estará próximo a 0.
Alimentación HF (S)
Es un campo que se calcula a partir de Rpm FFC101 y Rpm FFC102. Se consigue una
alimentación de HF determinada manipulando los dos parámetros anteriores.
Cola P1 (S)—AV8090
Indica las emisiones de la planta 1 que se lanzan a la atmósfera.
54
Caudal P1 (E)
Indica el caudal (y por tanto, las revoluciones) de la soplante de la planta 1.
Cola P2 (S)
Indica las emisiones de la planta 2 que se lanzan a la atmósfera.
Se puede observar una relación lineal entre este parámetro (que ocupa la
posición dos) y el que ocupa la columna 28, que corresponde al parámetro F3F100.
55
6.2 Discretización.-
6.2.1 Caso general.-
Supongamos que los datos observados han sido generados por m distribuciones
normales de dimensión h cada una.
−1
1 ( Z i − u j ) ' M −1 ( Z i − u j )
P( Z i | n j ) = h
e 2
1
M ( 2π ) 2 2
S 1
2
σ 12 σ 13
= σ σ
2
M 21 S 2 23
σ σ S 2
31 32 3
56
Siendo
σ =
∑ (X i − X )( Y j − Y )
ij
n
ln P( Z | n j ) = arg max n j ln ∏ P( Z i | n j )
i =1
hipot ML = arg max n j
t
Se supone que las t tuplas son mutuamente independientes para poder aplicar el
paso anterior.
−1
t t
1 ( Zi −u j )' M −1 ( Zi −u j )
hipotML = argmaxn j ∑ln P(Z
i =1
i | n j ) = argmaxn j ∑ln
i =1
1 h
e 2
=
M (2π )
2 2
t
1 1 t
arg max n j ( ∑ ln h
− ∑ ( Z i − u j ) ' M −1 ( Z i − u j ))
i =1
1 2 i =1
M 2 ( 2π ) 2
57
Dado que el primer término es constante cuando se modifica el vector de medias
uj, nos queda:
t
hipot ML = arg max n j − ∑ ( Z i − u j )' M −1 ( Z i − u j ) =
i =1
t
arg min n j ∑ (Z
i =1
i − u j )' M −1 ( Z i − u j )
En donde :
t
hipotML = arg minu j ∑ (Z
i =1
i − u j )' M −1 (Zi − u j )
Dado que las hipótesis están caracterizadas por los valores de las medias de las
distribuciones gaussianas, cuando se aplica a un atributo nos dará el valor de la media
que tiene mayor probabilidad de haber generado un dato en concreto y por lo tanto se
realiza una discretización de los datos de partida.
58
Un elemento de la población sabemos que será una posible solución, es decir en
el caso que tenemos ahora de un atributo en cada tupla, será un vector de medias de
distribuciones normales, y partiendo de un número de cluster (agrupamientos) iniciales
“m” de 30, el vector de medias será de dimensión 30.
Población inicial.-
max − min
uj = min + * j
m
max− min
*i
m* n
Variando i desde 1 hasta 100, para completar la población inicial.
Función de evaluación.-
t
arg minu j ∑(Z
i =1
i − u j ) ' M −1 (Zi − u j )
Método de reemplazo.-
Se ha optado por una estrategia elitista, en la que los 4 elementos mejores de los
n de la población, es decir los 4 que tienen una función de evaluación menor pasan
directamente a la población de la siguiente generación.
59
El motivo es claro, ya que todo método de reemplazo que utiliza la técnica
elitista converge, consiguiendo que la aptitud del mejor de la población sea siempre
igual o superior que la correspondiente de la generación anterior.
Método de selección.-
La cantidad elegida es del uno por ciento del valor del dato, por lo tanto no hace
falta normalizar los datos.
Criterio de finalización.-
Una vez alcanzado uno de los motivos de que el proceso de generaciones acabe,
se escoge al individuo que da una función de evaluación mejor.
t
arg min u j ∑
i =1
(Z i − u j )' M −1
(Z i − u j )
60
Esta media u indicará la que tiene una probabilidad mayor de que el dato Zi haya
sido generado por la distribución que tiene esa media, si una clase está caracterizada por
el valor medio, se podrá decir que este valor pertenecerá a esa clase.
Una vez realizada la clasificación de los datos, se genera una salida con el valor
de la función de evaluación alcanzado.
Algoritmo genético;
inicializardatos(datos);
crear_y_cargar_ población inicial;
evaluar(población,datos);
vueltas := 0;
es_solucion(población,vueltas);
mientras (no objetivo) y (vueltas_sin_mejorar <20) hacer
inicio
elite(población);
selección(población);
cruce(población);
mutación(población);
evaluar(población,datos);
es_solucion(población,vueltas);
fin;
escribir_solucion(población,datos);
falgoritmo
61
6.2.3 Ajuste de parámetros.-
Numero de elementos de la población.-
Por todo lo cual se puso como ajuste del número de elementos de la población a
un valor de 50.
62
Selección.-
Dados los resultados hay que mencionar que aplicar élite con un elemento con
réplica consigue un valor de la función de evaluación de 250% mejor que si no se
aplicara réplica al elemento seleccionado para la élite. Si además se observa que no
aumenta el tiempo de ejecución el ajuste adoptado será claramente élite de un elemento
con réplica del mismo.
Se han realizado pruebas haciendo que los valores de las medias variaran un 1
por mil, 1 y 5 por ciento, siendo los resultados los siguientes:
Mención hay que realizar al hecho de que variar del 1 al 5 por ciento no supone
una mejora en el valor de la función a minimizar, siendo el tiempo que tarda en obtener
resultados superior incluso.
Si variamos los valores de las medias un uno por mil el tiempo se dispara a cinco
veces superior, no obteniendo en mi opinión una mejora sustancial en el valor a
minimizar.
Debido a todo esto se ha optado por el operador de mutación del 1 por ciento.
63
Cruce Función de Tiempo
evaluación
Un valor de media 0.0935 2 m.
Cuatro medias 0.0946 2 m. 45 seg.
Diez medias 0.0969 2 m. 45 seg.
Criterio de finalización.-
0,6
0,5
0,4
Serie2
0,3
Serie3
0,2
0,1
0
1
10
19
28
37
46
55
64
73
82
91
0
9
10
10
64
Ajustados los parámetros en el algoritmo genético propuesto quedan de la
siguiente forma:
1
Función de evaluación
0,8
0,6 Serie1
0,4 Serie2
0,2
0
106
121
136
16
31
46
61
76
91
1
Generaciones
65
En las tres gráficas que vienen a continuación, la línea fina corresponde a la
utilización del programa sin ajustar los parámetros, y la línea más gruesa corresponde a
la ejecución con parámetros ajustados.
400
Función de
evaluación
300
Serie1
200
Serie2
100
0
1
18
35
52
69
86
103
120
Generaciones 137
0,0000025
Función de
evaluación
0,000002
0,0000015 Serie1
0,000001 Serie2
0,0000005
0
1
13
25
37
49
61
73
85
Generaciones
0,1
Función de
evaluación
Serie1
0,05
Serie2
0
1
17
33
49
65
81
97
113
129
145
161
177
Generaciones
66
6.2.4 Test de validación cruzada.-
Se va a utilizar el algoritmo dividiendo los datos en 10 grupos, de tal forma que
se va a utilizar para aprendizaje / entrenamiento del algoritmo 9 grupos y el restante se
utiliza para testear, es decir utilizaremos el algoritmo de validación cruzada al 90%,
repitiéndolo en total diez veces, de tal forma que en cada ejecución se deja un grupo
diferente para testear.
m
fi
K ( f || f ' ) = ∑f
i =1
i * ln
fi'
m
fi'
K ( f || f ) =
'
∑
i =1
'
f í * ln
fi
P R U E B A S
1ª 2ª 3ª 4ª 5ª 6ª 7ª 8ª 9ª 10ª
K(f||f’) 1.02 0.11 1.01 1.16 0.01 0.47 0.12 0.97 1.02 1.05
K(f’||f) 0.96 0.05 0.95 0.78 0.04 1.53 0.18 0.98 0.94 0.91
Cuando la distancia sea pequeña entre estos dos valores se obtiene que las
distribuciones son similares.
Observando la tabla anterior se concluye que hay una diferencia media de 0.193
demostrando la gran similitud entre las dos distribuciones, ya que este valor es pequeño,
sin llegar a ser cero que indicaría un sobreaprendizaje, ya que sería la misma.
También se han tomado los errores cuadráticos medios que se obtenían así como
cuantas desviaciones típicas estaba más alejado del segundo cluster que del primero,
siendo los valores los siguientes:
Error 0.02 0.01 0.02 0.02 1.06 0.02 0.01 0.01 0.02 0.02
medio
Desviac 229 20 132 193 10 130 10 150 179 164
típicas
67
Obteniendo un valor de 0.121 como error cuadrático medio de las diez
ejecuciones del algoritmo.
Mención especial cabe reseñar que la primera prueba que se hizo para la
validación cruzada se tomaron los componentes de cada grupo de manera consecutiva
de los datos, obteniendo en algunas ejecuciones un error cuadrático medio de
importancia (4 o 5), concluyendo que era debido a que no se captaban situaciones que se
producían en estos intervalos no considerados. Para evitar esta situación los datos
anteriormente citados han sido obtenidos llevando cada elemento leído a un grupo
consecutivo diferente, haciendo que el primer grupo estuviera formado por los
elementos 1, 11, 21..., el grupo segundo por los elementos 2, 12, 22 ... y así
sucesivamente. La diferencia como se puede observar por los datos expuestos ha sido
muy grande.
68
6.3 Generación de la red bayesiana.-
Ya que la búsqueda del grafo más adecuado es un problema NP- Hard se impone
algún método de búsqueda heurístico, en este trabajo se utilizan los algoritmos
evolutivos.
Mención hay que hacer a un artículo similar en algunos puntos al trabajo que se
va a exponer:
[Larrañaga 1996] lo hace sobre datos ficticios usando PLS, primero genera un
grafo, luego genera con PLS los datos desde el grafo y luego intenta aprender el grafo
desde los datos. Además utiliza para la representación de los individuos un string y por
lo tanto utiliza una estructura fija, en cambio en esta memoria de investigación se utiliza
un estructura dinámica, independiente del número de variables antes de comenzar la
ejecución del programa.
• La similaridad entre estructuras. Número de arcos que sobran y que faltan entre
ellos.
Habrá una lista para los nodos de entrada (aquellos que no van a tener padres, ya
que son variables que introduce el usuario a su criterio) y otra para las variables de
salida (que si pueden tener padres).
69
Crear(entrada);
Crear(salida);
Cargarfdistrinicial (entrada);
Cargarfdistrinicial (salida);
Crearycargarpoblacioninicial;
Evaluar(poblacion);
vueltas := 0;
Fin(poblacion, solucion,vueltas);
Evaluar(poblacion);
Fin(poblacion, solucion,vueltas);
end;
Escribirsolucion(poblacion);
Entrada/ Salida
Nombre
sig
Al siguiente nodo
70
Entrada o Salida
Valor (22.34)
Nombre
Nveces (17)
fdistr
fdistr Valor (24.03)
sig
Nveces (35)
Fdistr(nulo)
Crearycargarpoblacioninicial consistirá en
• Crear la población.
• Crear la estructura de un individuo de la población.
Dir
Dirección de la variable en la lista salida.
sig
Dir
Ady
sig
71
• Crear todos los individuos restantes(29):
Para la inserción de un padre el nodo hijo debe de ser uno que corresponde
exclusivamente a una variable de salida, y para el nodo padre puede ser de
entrada y de salida siempre que no sea el mismo que el hijo, ya que provocaría
ciclo.
Especial mención cabe reseñar que dado que la red bayesiana es un grafo
acíclico dirigido, cada vez que se intenta insertar un individuo se debe de
comprobar antes que no provoca ciclo, si es así este nodo padre no se inserta
padres
Ady Dir Dir
sig
Ady Ady
sig sig
Dir
Ady
sig
72
P(X1 = x1...Xn = xn ) =
Γ(α1 +α2 +α3 +K+αn ) Γ(α1 +n1) Γ(α2 + n2 )Γ(α3 + n3 )KΓ(αn + nn )
Γ(α1) *Γ(α2 ) *Γ(α3) *K*Γ(αn ) Γ(N +α1 +α2 +α3 +Kαn )
Valor (22.34)
Valor (24.03)
Nveces (17)
Nveces (35)
Fdistr Valores distintos
Fdistr
para la misma variable
padre
padre
Nveces (12)
Nveces (5)
Fdistr Valores distintos
Fdistr para la misma variable
padre
padre
La variable hijo
Valor (-15)
Valor (-3)
Nveces (1)
Nveces (11)
Fdistr Valores distintos
Fdistr para la misma variable
padre
padre
73
Dado que son productos de muchos factores, todos menores que uno ya que es
probabilidad, se ha optado por trabajar con el logaritmo neperiano de este valor,
evitando muchos problemas de desbordamiento en este cálculo al pasar las
multiplicaciones / divisiones a sumas o restas.
Fin consistirá en pasar por todas los individuos detectando si alguno consigue
llegar al umbral marcado, que es 0, ya que el logaritmo neperiano de 1 es cero y
estamos hablando de probabilidades, si esto es así devolverá cierto en solución y
acabará el programa.
Además se escoge también este mismo individuo para realizarle las operaciones
de mutación y cruce (a esto se le llama élite con réplica).
Cruce consistirá en intercambiar los padres de una variable al azar entre dos
individuos separados n div 2, siendo n el número de individuos totales. Todo esto se
repite (n div 2) veces.
74
La salida que genera el programa exactamente es la siguiente:
ADECUACION.->
0.00000000
##########
ORIGEN ALIHFN
---------- PADRES : DIRTM2 AV8095 F1F101 ANGC21
ORIGEN ASPS2N
---------- PADRES : SOPLADC3 AV8095 COLAP3 ANGC1
ORIGEN TIROCALD
---------- PADRES : SOPLADC3 COLAP2 F3F100 ANGC1
ORIGEN 3DKD051P
---------- PADRES : F3F100 F1F101 F1F102 SOPLADC3
ORIGEN AV7163
---------- PADRES : F1F101 Q3Q100M ANGC3 CACL1 F1F102
ORIGEN AV8090
---------- PADRES : CACL2 CAUDALS2 ANGC2 TIROMEZC ANGC1 F1F102
ASPS2
ORIGEN AV8095
---------- PADRES : TIROMEZC F1F101 DIRTM1
ORIGEN COLAP2
---------- PADRES : CACL2 COLAP3 CAUDALP2 TIROMEZC TOFLASH
ANGC1
ORIGEN AV8210
---------- PADRES : SOPLADC4 CAUDALP2 PCMEZC AV8090 ASPS2
TOFLASH SOPLADC3
ORIGEN CACL1
---------- PADRES : COLAP2 AV8095 F1F101 AV8210 DIRTM2 Q3Q100M
CAUDALP2
ORIGEN CACL2N
---------- PADRES : F1F102 SOPLADC3 3DKD051P CAUDALS2 F3F100
FCI105
75
ORIGEN DIRTM1
---------- PADRES : CACL2 ANGC4 F1F101 TIROMEZC F3F100
ORIGEN DIRTM2
---------- PADRES : F1F101 COLAP3 TIROMEZC 3DKD051P TIROCALD
SOPLADC3 F1F102
ORIGEN PCMEZC
---------- PADRES : CAUDALP2 COLAP3 FCI104 ALIHF TIROCALD ANGC3
ANGC1 FCI105 CAUDALS2 F3F100
ORIGEN COLAP3
---------- PADRES : Q3Q100M CAUDALS1 ANGC1 CACL2 SOPLADC4
TIROMEZC
ORIGEN Q3Q100M
---------- PADRES : CAUDALS1 TIROMEZC CAUDALS2 SOPLADC4
TOFLASH SOPLADC3
ORIGEN TOFLASH
---------- PADRES : ANGC2 AV8095 DIRTM1 F3F100 SOPLADC4
CAUDALS1 FCI105 CACL2 ANGC1
76
Sólo aparecen las variables clasificadas como de salida.
Tiromezc
3dkd051p
Cacl2
Av8095
Dirtm1
Q3q100m
Toflash
Colap2
Colap3
Asps2
Dirtm2
Alihf Av8090
Pcmez
Av8210
Cacl1
Tirocald
Av7163
77
6.4 Trabajos pendientes.-
• Detección de outliers.
• Relaciones causa-efecto.-
• Problemas dinámicos.-
El hecho de que haya un número finito de estados para que una variable
se considere como discreta, no se ve claro en este trabajo, ya que por ejemplo el
número de revoluciones de un motor es un valor discreto, pero es tan grande la
relación de estados diferentes que hace pensar en otro concepto diferente que
exprese claramente cuando se debe de aplicar una discretización previa.
• Diagramas de influencia.-
78
7.- REVISION BIBLIOGRAFICA.-
79
Discretización.-
[Dagneli 1997]
Analyse Statistique a plusieurs variables, by Pierre Dagneli.Diffusion.
[Dempster 1997]
Maximum likelihood with incomplete data via the EM algotihm, by A.
Dempster, N. Laird, D. Rubin. J. Roy, Statist. Soc. Ser. B (1997) 1-22.
[Peña 1997]
Estadística. Modelos y métodos. 1. Fundamentos, by Daniel Peña
Sánchez, Catedrático de la Univ. Carlos III de Madrid. Alianza
Universidad Textos. 1997.
[Kullback 1951]
Annals of Mathematics and Statistics p. 79-86. Kullback-Leibler 1951.
[Kullback 1969]
Medida de la divergencia, Ku ,H.H. and S. Kullback. 1969
Approximating discrete probability distributions. IEEE Trans. Inform.
Theory 15 (4) 444-47.
[Goutte 1997]
Note on free lunches and cross-validation, Neural Computation, 9, 1211-
1215. ftp:// eivind.inm.dtu.dk /dist /1997/ goutte.nflcv.ps.gz
Redes bayesianas.-
[Blackmond 2001]
INFT 819 Computational models for probabilistic inference unit 5
Learning bayesian networks from data. Katheryn Blackmond Laskey.
[Chickering 1995]
5ª Conference on Artificial Intelligence and Statistics. P. 112-128.
80
[Cooper 1992]
Computational complexity of probabilistic inference using bayesian
belief networks. Artificial Intelligence, 42, 393-405.
[Etxeberria 1997]
Proc of Causals Models and Statistical Learning p. 151-168.
[Gamma 2001]
A linear bayes classifier.
[Heckerman 1995]
Heckerman, Geiger y Chickering 1995. Learning Bayesian Networks:
The combination of knowledge and statistical data. Machine Learning,
20, 197,Kluwer Academic Publishers.
[Jensen 1996]
An introduction to bayesian networks. New York. Spronger Verlag, UCL
Express.
[Jensen 2001]
Aalborg University. A brief Overview of the three main paradigms of
expert systems.
[Larrañaga 1996]
Structura Learning of bayesian networks by genethic algorithms: An
análisis of control parameters. IEEE.
[Lauritzen 1988]
Local computation with probabilities on graphical structures and their
application to expert systems, Journal of the Royal Statistical Society, B
50, 157-224 .
[Mitchell 1998]
Machine Learning . Mac Graw Hill.
[Neapolitan 1990]
Probabilistic Reasonning in Expert Systems. Theory and Algorithms.
Wiley / Interscience, New York.
[Pearl 1986]
Fusion, propagation and structuring in belief networks. Artificial
Intelligence 29, p. 241-288.
[Pearl 1988]
Probabilistic reasoning in intelligent systems: Networks of plausible
inference, San Mateo, Morgan-Kaufmann.
[Peña 2000]
Peña, J. A. Lozano, P. Larrañaga 2000. An improved bayesian structural
EM algorithm for learning bayesian networks for clustering.
81
[Rusell 1995]
Artificial Intelligence: A modern approach. Englewood Cliffs, NJ:
Prentice Hall.
[Whiltaker 1990]
Capítulo 3. Graphical Models in Applied Multivariate Statistics, Wiley,
Chichester, UK.
[Xiang 1999]
Belief updating in multiply sectioned bayesian networks without repeated
local propagations.
[Agrawal 1993]
Efficient similarity search in sequence databases. Proceedings of the 4th
International Conference of Foundations of Data Organization and
Algorithms.
[Bezdek 1981]
Pattern recognition with fuzzy objective functions algorithms. Plenium
press. New York.
[Breiman 1984]
Classification and regression trees. Wadsworth Belmont, CA.
[Clark 1989]
Knowledge representation in Machine Learning.
[Dasarathy 1991]
Nearest neighbor pattern classification techniques. IEEE Computer
Society press. 1991.
[DeJong 1993]
Learning search control knowledge for deep. Machine Learning.
[Janikow 1993]
A knowledge intensive GA for supervised learning. Machine Learning,
13, 198-228.
[Kohonen 1982]
Self-Organized formation of topologically correct feature maps.
Biological Cybernetics 43, 59-69.
[McCulloch 1943]
A logical calculus of the ideas immanent in nervous activity. Bulletin of
the Mathematical Byophisics 5, 115-133.
82
[Michalski 1987]
Constraints and preferences in inductive learning: An experimental study
of human and machine performance. Cognitive Science 11 (3): 299-339.
[Pawlak 1991]
Rough sets: Theoretical aspects of reasoning about data.
[Quinlan 1993]
C4.5: Programs for Machine Learning. Morgan Kauffmann 1993. 9
Machine Learning.
[Rivest 1987]
Learning decision trees. Machine Learning Vol. 2, 229-246.
[Riquelme 1998]
Cogito. Una herramienta para obtener un clasificador jerárquico en
aprendizaje supervisado. CAEPIA 1997.
[Rosenblatt 1958]
The Perceptron: a probabilistic model of information storage and
organization in the brain.
[Sugeno 1993]
A fuzzy logic based approach to qualitative modeling.
83
8.- PERSONAS Y FOROS
RELACIONADOS.-
84
ESPAÑA.-
• Enrique Castillo. Universidad de Cantabria.
• Hay un grupo de investigación repartido entre las universidades del País Vasco,
Almería, Granada, UNED (F. J. Díez, tiene su Tesis doctoral sobre aplicación de
las redes bayesianas a ecocardiografía, Local conditioning in Bayesian networks,
Artificial Intelligence 87, 1996. p. 1-20.).
OTROS LUGARES.-
85
• Src = source code included?
• Lib = linkable library/API included? (N means the program is a standalone executable.)
• Exec = Executable runs on W = Windows (95/98/NT), U = Unix, M = Mac, or - = any.
• Cts = continuous-valued nodes supported? (D = discretized)
• GUI = Graphical User Interface included?
• Learns parameters?
• Learns structure?
• Sample = sampling methods (e.g., likelihood weighting, MCMC) supported?
• Utility = utility and decision nodes (i.e., influence diagrams) supported?
• Free = Is a free version available? Yes, No or Restricted. (Commercial products often have free versions which are
restricted in various ways, e.g., the model size is limited, or models cannot be saved; in this case, we say R for
"restricted".)
Learn Learn
Name Authors Src. Lib. Exec. Cts GUI Sample Utility Free Comments
Params Struct
Analytica Lumina N W Y W N N N Y R Spread sheet compatible.
U.
Bayda Java - - Y Y Y N N N Y Bayesian Naive Bayes classifier.
Helsinki
Nijman
BayesBuil
(U. N N W N Y N N Y N R -
der
Nijmegen)
Bayesian KMI/Ope N N WUM D Y Y Y N N Y Uses "bound and collapse" for
86
Knowledg n U. learning with missing data.
e
Discoverer
U. Runs on their server: view results
B-course N N - D Y Y Y N N Y
Helsinki using a web browser.
Motomura For learning, represents BN as a
Bayonnet Java - - NN Y Y N N N Y
(ETL) neural net.
Belief net Cheng
Uses cond. indep. tests to learn
power (U.Alberta N W W N Y Y Y N N Y
structure.
constructor )
Murphy
BN Matl Also handles dynamic models, like
(U.C.Berk - - Y N Y Y Y N Y
Toolbox ab HMMs and Kalman filters.
eley)
Rish
BucketEli Uses variable elimination for
(U.C.Irvin C++ - WU N N N N N N Y
m inference.
e)
MRC/Imp
BUGS erial N N WU Y W Y N Y N Y Uses Gibbs Sampling for inference.
College
Cousins et
Implements 5 different sampling
CABeN al. (Wash. C Y - N N N N Y N Y
algorithms.
U.)
Badsberg Designed for statistical analysis of
CoCo (U. C - WUM N N Y Y N N Y contingency tables by discrete
Aalborg) undirected graphical models.
CoCo+Xli Badsberg C/lis Extends CoCo with GUI and block
- U N Y Y Y N N Y
sp (U. p recursive models.
87
Aalborg)
Poole et Uses variable elimination for
CIspace Java N - N Y N N N N Y
al. (UBC) inference.
Noetic
Ergo N N WM N Y N N N N R -
Systems
Genie/Smi U.
N WU WU N W N N Y Y Y -
le Pittsburgh
Hugin
Hugin N Y W Y W N N N Y R -
Light
Ideal Rockwell Lisp - - N Y N N N Y Y GUI requires Allegro Lisp.
Cozman
Java Bayes Java - - N Y N N N Y Y -
(CMU)
HyperGra
MIM ph N N W Y Y Y Y N N R Designed for chain graphs
Software
MSBN Microsoft N N W N W N N N Y Y -
WU
Netica Norsys N W Y W Y N Y Y R -
M
Learns structure from fully
Pronel Hugin N N W N W Y Y N N R
observed discrete data.
Dodier
Only handles polytrees. Distributed
RISO (U.Colora Java - - Y Y N N N N Y
implementation.
do)
Uses cond. indep. tests to learns
Tetrad CMU N N WU Y N Y Y N N Y
causal structure.
Web Xiang Java - - N Y N N N Y Y -
88
Weaver (U.Regina
)
XBAIES Cowell
N N W Y Y N N N Y Y Also handles chain graphs.
2.0 (City U.)
89
ANEXO.-
90
APLICACION REAL PARA H-ATRIBUTOS DE LA
DISCRETIZACIÓN DE UN PARÁMETRO VISTO EN EL
APARTADO 6 DEL PROYECTO DE INVESTIGACIÓN.-
Anexo.1 Introducción.-
Este trabajo realizado está puesto como anexo, ya que en principio se pensó en
que la función del modelo sería la búsqueda de agrupamientos, con el fin de detectar en
qué situación se encontraba la fábrica y poder predecir situaciones futuras con la
consiguiente acción previa a tomar.
Una vez detectada que la función principal del modelo residía en la relación de
dependencia entre parámetros se dejó dicho trabajo, para abordar la generación de la red
bayesiana expuesta en el trabajo de investigación.
Sin embargo, creo interesante que aparezca dicho trabajo, ya que representa
una forma de utilizar los algoritmos evolutivos para técnicas NO supervisadas.
Los datos de Atlantic Cooper proporcionados son dos ficheros, que fusionados
por el tiempo en que están tomadas las muestras, quedan 109 tuplas.
91
• Sólo aplicado a los parámetros que son de Salida y no a aquellos que son de
entrada. Resultan 17 atributos de salida.
4000
Función de evaluación
3500
3000
2500
2000
1500
1000
500
0
1
101
201
301
401
501
601
701
801
901
1001
1101
1201
1301
Generaciones
4000
3500
3000
2500
2000
1500
1000
500
0
1
113
225
337
449
561
673
785
897
1009
1121
1233
1345
Generaciones
92
En la gráfica inferior de la página anterior se puede observar que si
aumentamos el número de cluster iniciales la función de evaluación es muy
similar, pero si tenemos en cuenta que el tiempo que tarda desde una generación
a otra en el caso de utilizar 50 cluster es 1m. 40 seg. y el tiempo que tarda desde
una generación a otra es de 1m. 10 seg. en el caso de utilizar 40 cluster,
obtenemos como conclusión que no se alcanza mejora en el tiempo de ejecución
aumentando el número de cluster iniciales.
Comparativa entre
30 cluster(Línea fina)
40 cluster(Línea gruesa)
Función de evaluación
4000
3500
3000
2500
2000
1500
1000
500
0
1
117
233
349
465
581
697
813
929
1045
1161
1277
Generaciones
93
4000
3500
3000
2500
Serie1
2000
Serie2
1500
1000
500
0
1
130
259
388
517
646
775
904
1033
1162
1291
Si tenemos en cuenta que el tiempo que tarda desde una generación a otra
es de 50 seg. en el caso de utilizar 50 elementos (Línea fina) y el tiempo que
tarda desde una generación a otra es de 1m. 50 seg. (Línea gruesa) en el caso de
utilizar 100 elementos, la conclusión es que el algoritmo es más rápido en el
caso de utilizar 50 elementos en la población.
Comparativa entre
100 elementos (Línea fina)
y 130 elementos(Línea gruesa)
4000
Función de evaluación
3500
3000
2500
Serie1
2000
Serie2
1500
1000
500
0
1
92
183
274
365
456
547
638
729
Generaciones
94
Hagamos la prueba de realizar la selección de un elemento para élite, con
réplica (Línea gruesa) del elemento para mutación y cruce y en la otra prueba sin
réplica (Línea fina), es decir sin tenerlo en cuenta para mutación y cruce.
4000
3500
3000
2500
Serie1
2000
1500 Serie2
1000
500
0
1
73
145
217
289
361
433
505
577
649
721
4000
Función de
evaluación
3000
2000
1000
0
1
69
137
205
273
341
409
477
545
613
681
749
Generaciones
95
Se pasa a realizar estudio con una mutación del 1‰ y del 1%
4000
3500
3000
2500
2000
1500
1000
500
0
123
184
245
306
367
428
489
550
611
672
733
62
1
Generaciones
4000
Función de
evaluación
3000
2000
1000
0
1
63
125
187
249
311
373
435
497
559
621
683
745
Generaciones
96
Mutación del 5% (Línea fina).
Mutación del 10% (Línea gruesa)
3500
3000
Función de
evaluación
2500
2000
1500
1000
500
0
1
68
135
202
269
336
403
470
537
604
671
738
805
Generaciones
4000
Función de
evaluación
3000
2000
1000
0
1
68
135
202
269
336
403
470
537
604
671
738
Generaciones
97
Cruce de un cluster (Línea fina).
Cruce de 4 cluster (Línea gruesa).
4000
Función de
evaluación
3000
2000
1000
0
1
65
129
193
257
321
385
449
513
577
641
705
Generaciones
98