sábado, 23 de agosto de 2008

Naive Bayes: "Clasificador de Texto"

En este caso la probabilidad se obtiene a partir de frecuencias, Se calcula el número de veces que se da cada valor para cada clase.

El clasificador de texto clasificará a los documentos (de noticias) en dos clases: Deporte y No Deporte.Para el entrenamiento se ha utilizado tres documentos que pertenecen al rubro de noticias deportivas y un documento que pertenece a las noticias de música

Ingresando Documentos de Noticias Deportivas:

Ingresando Documento de Noticia Musical:

Ahora Vamos a Clasificar la siguiente noticia:
"La serie entre Ecuador y Perú de la Copa Sudamericana se define a las 17 horas de hoy , en el estadio Atahualpa de la capital ecuatoriana . Deportivo Quito sale con la ventaja de haber empatado sin goles en Lima ante el Universitario de Pero , pero de nada le servirá si no logra un triunfo . Un nuevo empate forzaría a los tiros penales"

como podemos ver en la imágen anterior la noticia pertenece a la clase "deporte" con una probabilidad de 0.64

Para poder verificar el "aprendizaje" ingresaremos la siguiente noticia:
" Durante seis años , el chelista ha acudido a Oviedo para formar parte del claustro de los cursos de perfeccionamiento musical que organiza la Asociación Encuentros Musicales de Asturias , que se imparten actualmente hasta el próximo día 23 del mes de agosto ."


Como podemos ver la clasificación es correcta, porque la noticia pertenece al rubro musica.

Adaline: “Convertir un número binario a decimal”.

En la implementación se ha considerado realizar un programa generalizado, de manera que se pueda aplicar a diferentes casos, para esto las entradas son patrones, que contienen un vector característico y un valor deseado de salida, el factor de aprendizaje y el valor mínimo de error.
Como criterio de parada se considero que el error de época sea menor que un valor determinado (0.1).

En la fase de entrenamiento se consideró los siguientes patrones

1 0 0 1 1
1 0 1 0 2
1 0 1 1 3
1 1 0 1 5

Factor de aprendizaje = 0.3
Valor de error mínimo = 0.1


Se probó con estos datos el programa y el aprendizaje nos dio como resultados lo siguiente:
Número de Iteraciones = 49
w = 0.6350 3.7432 1.6340 0.5798

Ahora para probar que el aprendizaje fue correcto se probó con las siguientes nuevas entradas:

>> convertidor(w,[1,1,1,1])
rpta = 7

>> convertidor(w,[1,1,0,0])
rpta = 4

>> convertidor(w,[1,1,1,0])
rpta = 6

Como podemos notar los resultados son los deseados y por lo tanto queda demostrado que el aprendizaje fue correcto.

Notas:
El factor de aprendizaje mas adecuado que se encontró es el 0.3 porque por ejemplo si probamos con el factor 0.5 el aprendizaje no es tan bueno, como podemos notar a continuación:

Número de Iteraciones = 45
w = 0.1335 4.3759 1.8665 0.7593

>>convertidor(w,[1,1,0,1])
rpta sin redondeo=5.2687
rpta = 5

>> convertidor(w,[1,1,0,0])
rpta sin redondeo=4.5094
rpta = 5

Como se puede notar el resultado de la segunda conversión no es correcta, por tanto el factor
de aprendizaje 0.5 no es el adecuado.

Si el factor de aprendizaje es 0.1 se tiene lo siguiente:
Número de Iteraciones = 265
w = 0.2678 4.2013 1.8016 0.8055

>> convertidor(w,[1,1,0,0])
rpta = 4
>> convertidor(w,[1,1,0,1])
rpta = 5
>> convertidor(w,[1,1,1,1])
rpta = 7
>> convertidor(w,[1,1,1,0])
rpta = 6
>> convertidor(w,[1,0,1,1])
rpta = 3
>> convertidor(w,[1,0,1,0])
rpta = 2
>> convertidor(w,[1,0,0,1])
rpta = 1
>> convertidor(w,[1,0,0,0])
rpta = 0
Como podemos notar el aprendizaje es correcto pero el número de iteraciones son muchas.

Perceptrón Primal


El ejemplo mostrado esta aplicado a la funcion AND
patrones de entrada:
bias x1 x2 vEsperado
1 1 1 1
1 1 -1 -1
1 -1 1 -1
1 -1 -1 -1

Perceptrón Simple de Rosemblant



Los patrones de entrada fueron para clasificar las nueces, según el cuadro siguiente:

Nuez Tipo A-1 Tipo A-2 Tipo A-3 Tipo A-4 Tipo A-5 Tipo A-6
Largo 2.2 1.5 0.6 2.3 1.3 0.3
Peso 1.4 1.0 0.5 2.0 1.5 1.0

Entrenada con los siguientes vectores de entrada:
(1, 2.2, 1.4)
(1, 1.5, 1.0) Asociar 1 a la clase A
(1, 0.6, 0.5)

(1, 2.3, 2.0)
(1, 1.3, 1.5) Asociar -1 a la clase B
(1, 0.3, 1.0)

viernes, 22 de agosto de 2008

Inferencia Por Eliminación De Variables En Redes Bayesianas


Los valores de las probabilidades consideradas son las siguientes:

Visito Asia(V) -- 0.1
Fuma(F) -- 0.7

Tuberculosis(T)
V P(T|V)
T 0.7
F 0.1

Cancer al Pulmón(C)
F P(C|F)
T 0.9
F 0.5

Bronquitis(B)
F P(B|F)
T 0.6
F 0.3

Respiración anormal(R)
T C P(R|T,C)
T T 0.9
T F 0.7
F T 0.5
F F 0.3

Resultados R-X(X)
R P(X|R)
T 0.6
F 0.8

Disnea(D)
R B P(D|R,B)
T T 0.9
T F 0.8
F T 0.7
F F 0.5