Está en la página 1de 26

GUIA TALLER DE METODOS DE INVESTIGACIÓN

Estimado Estudiante:

Es un gusto para nosotros contar con su lectura y estudio de


la presente guía. Este documento servirá para que Usted
curse el taller que le permitirá avanzar con la obtención de su
título académico. Los objetivos que se persiguen en este
trabajo son:

a) Conocer los conceptos básicos de un clasificador


b) Interpretar los resultados de un experimento científico
c) Elaborar papers de comunicación de resultados
académicos – científicos.

Para cumplir con estos objetivos se han diseñado tres


actividades. En estas Usted encontrará los pasos que se
deben seguir para obtener el conocimiento necesario para
aprobar este taller.
Los entregables de las actividades son documentos en donde
Usted plasmará lo que se le solicita en cada una de las
actividades, y son lo que se tomará en cuenta para la
aprobación académica. Empecemos entonces con el
desarrollo de cada una de las actividades. Muy buena suerte.
ACTIVIDAD 1: ANALISIS DE REDES NEURONALES

El estudiante deberá responder a las preguntas de esta actividad


tomando en cuenta:
1.- El conjunto de datos.
2.- La teoría del algoritmo
3.- Verifique las conclusiones para cada caso.

A continuación la teoría de la actividad y las preguntas que debe


responder. Si Usted necesita mayor información para la
elaboración de la tarea lea detenidamente el documento redes
neuronales que forma parte de esta guía-taller.

Entrenamiento y validación de la red neuronal


Los ficheros tra.pat y val.pat tienen 100 variables de entrada por lo tanto el
número de nodos en la capa de entrada de la red neuronal es 100. El
número de nodos en la capa de salida es 2, ya que el fichero de
entrenamiento tiene dos clases a las que puede pertenecer cada fila, sus
valores son 0 y 1.

Para realizar el entrenamiento de la red, los ficheros tra.pat y val.pat fueron


cargados en Weka, para ello se procedió a convertir los ficheros en extensión
arff. El número de nodos de la capa intermedia fue formateado como “a” o
sea (100(variables) + 2(clases))/2 = 51. Los resultados del entrenamiento
utilizando, como fichero de test a val.pat, con un learning_rate = 0.3 y
momemtum 0.2, son los que se muestran en la tabla siguiente:
TABLA 1. RESULTADOS DEL ENTRENAMIENTO DE LA RED NEURONAL CON CAMBIOS EN EL NÚMERO DE CICLOS DE
ENTRENAMIENTO

Ejecución Epoch Error per


Epoch
1 500 0.0000832
2 1000 0.0000423
3 1500 0.0000257

En los resultados de la tabla anterior se puede notar que el error va


disminuyendo mientras mayor es el número de ciclos de entrenamiento (500
a 1500). Realizando cambios en la learning_rate, se obtienen los siguientes
resultados:

TABLA 2. RESULTADOS DEL ENTRENAMIENTO DE LA RED NEURONAL CON CAMBIOS EN LA TASA DE APRENDIZAJE

Ejecución Learning Epoch Error per


rate Epoch
1 0.5 500 0.53
2 0.2 1000 0.0000716
3 0.1 1500 0.000053

Como se conoce la learning_rate es la tasa de aprendizaje con la cual la red


neuronal aprende. En el presente experimento, el incremento y
decremento de la red neuronal no ha permitido disminuir el error, por lo que
se concluye que la learning_rate adecuada para obtener el mínimo error por
ciclo (0.0000257) tiene el valor del 0.3.

PREGUNTAS

La tasa de aprendizaje (learning_rate) es la curva de aprendizaje de la red neuronal. En este caso, su


incremento o decremento no ha disminuido el error. ¿Se puede encontrar una arquitectura de red, una
learning_rate y un momentum adecuado con el fin de obtener el mínimo error por cada ciclo? Existe algún
algoritmo que nos permita obtener la mejor combinación.
El valor por defecto para iniciar el valor aleatorio de los pesos de la red
neuronal es 0. Cambiando este valor aleatorio se obtienen los siguientes
resultados:

TABLA 3. RESULTADOS DEL ENTRENAMIENTO DE LA RED NEURONAL, VARIANDO EL VALOR ALEATORIO

Ejecució Valor Learnin Epoc Error


n aleatori g rate h per
o Epoch
1 10 0.3 500 0.53
2 500 0.1 1000 0.000176
2
3 1000 0.1 1500 0.000069
9

Los resultados de la tabla anterior muestran que no fue posible disminuir el


error variando el valor aleatorio de los pesos. La tasa de aprendizaje tuvo
que ser cambiada por la capacidad de manejo de memoria de Weka, lo que
implica que mientras mayor sea la cantidad de números a ser escogidos por
el aleatorio (incremento del rango), la tasa de aprendizaje tiene que ser
disminuida para obtener resultados, debido al incremento del intervalo de
valores aleatorios.

PREGUNTAS

El intervalo de los números aleatorios no ha logrado disminuir el error. Sin embargo, cuando se incrementó el
aleatorio a 1000 en la tabla 3, el error se disminuye con la misma tasa de aprendizaje, pasa de 0.0001762 a
0.0000699. ¿La disminución de este error se debe solamente al incremento del número de ciclos de 1000 a
1500?
Al disminuir el número de ciclos de N=500 a N=10 el error lógicamente se
incrementa e = 0.4659. Esto significa que la red neuronal no ha aprendido lo
suficiente como para poder ser testeada con el conjunto validación.

PREGUNTAS

Es verdad que si no se tiene un número adecuado de ciclos de entrenamiento, la red neuronal no aprende de
forma correcta. Pero también existe la aparición del mínimo local cuando el error permanece “estable” a pesar
de incrementar el número de ciclos de entrenamiento. ¿Cómo se puede salir de un mínimo local?

Manipulando la tasa de aprendizaje (valor inicial 0.3) con Decay, el resultado


es el siguiente:

TABLA 4. ENTRENAMIENTO DE LA RED NEURONAL CON DECAY

Ejecución Epoch Error per


Epoch
1 500 0.36
2 1000 0.3630
3 1500 0.3630

Los cambios en la tasa de aprendizaje (tasa de aprendizaje actual = tasa de


aprendizaje / número de época) a pesar de ser utilizados en teoría para
mejorar el “rendimiento”, en el presente caso no presenta mejora. Como se
observó en los resultados de la tabla 3, cuando se cambió el valor de la tasa
de aprendizaje no se presentaba mejora en los resultados.

Con la variación del momentum (variación de la actualización de los pesos de


la red neuronal) de 0.2 a 0.1, se obtiene un error bajo (0.0000796) con una
tasa de aprendizaje del 0.3, igual situación sucede con una tasa de
aprendizaje del 0.1, en donde el error es 0.000423. Lo que obliga
nuevamente a concluir que la mejor tasa de aprendizaje es igual a 0.3.

PREGUNTAS

El problema común de una red neuronal es “encontrar” los valores adecuados para su arquitectura. Existen
formulas para calcular el número de neuronas ocultas, pero para la tasa de aprendizaje y el momentum hay
que realizar experimentos, ¿Existe una forma de calcularlos?
Entrenamiento y validación de la red neuronal con filtro
de datos
Ejecutando el filtro de dato de Weka, CfsSubsetEval y el método de
búsqueda BestFirst, algunos atributos fueron eliminados (lógicamente se
observa al aporte de cada uno al conjunto de datos). La red neuronal queda
como se muestra en la siguiente figura:
Figura 1. Red neuronal construida a partir del filtro de los atributos

Los resultados de esta nueva red neuronal son los siguientes:

TABLA 5. ENTRENAMIENTO DE LA RED NEURONAL CON CAMBIOS EN EL NÚMERO DE CICLOS DE ENTRENAMIENTO

Ejecución Epoch Error per


Epoch
1 500 0.0002518
2 1000 0.0001191
3 1500 0.000081
4 2000 0.0000616

Los resultados de la tabla anterior, muestran el error más bajo en la


ejecución 3, es decir cuando el número de ciclos es 1500. En este caso se
puede “afirmar” que no es necesario tener “todos” los atributos de los
ficheros para el entrenamiento, sino que la selección con el filtro ha
permitido obtener aquellos que más “colaboran para el entrenamiento de la
red”.

El filtrado de atributos siempre es importante antes de realizar alguna clasificación. El trabajo de filtrado, se
lo ha hecho antes en la tarea de WrapperSelection (envolvente). Los resultados del filtrado de atributos
pueden tener distintos resultados, ¿En una clasificación utilizando una red neuronal nos fiamos más del
filtrado de datos o del número de ciclos de entrenamiento? Y esto no ¿Contradice el hecho que entre más
ejemplos mejor es el entrenamiento?
Cambiando los valores de la tasa de aprendizaje:

TABLA 6. ENTRENAMIENTO DE LA RED NEURONAL CON CAMBIOS EN LA TASA DE APRENDIZAJE

Ejecución Learning Epoch Error per


rate Epoch
1 0.5 500 0.0002293
2 0.2 1000 0.000126
3 0.1 1500 0.0002222

La variación de la tasa de aprendizaje, no ha permitido disminuir el error. De


igual forma ocurre cuando se mantienen todos los atributos. Esto implica
que si existe correlación entre los atributos, pero que los “seleccionados”
aportan mayor información a la clasificación, ya que los resultados son
parecidos “el error no disminuye variando la tasa de aprendizaje”.

Si cambiamos los valores de inicio de los pesos, los resultados se muestran


en la siguiente tabla:

Tabla 7.RESULTADOS DEL ENTRENAMIENTO DE LA RED NEURONAL, VARIANDO EL VALOR ALEATORIO

Ejecució Valor Learnin Epoc Error


n aleatori g rate h per
o Epoch
1 10 0.3 500 0.000308
1
2 500 0.1 1000 0.000146
3
3 1000 0.1 1500 0.000085

Los resultados de la tabla anterior, muestran que el error es menor al


obtenido cuando se entrenó la red con “todos” los atributos.
PREGUNTAS

El filtrado de atributos siempre es importante antes de realizar alguna clasificación. ¿Pero, eso significa que
elimina aquellos atributos que no “aportan mucho” para la clasificación o está eliminando el ruido?

Analizando el valor para decay:

Tabla 8. ENTRENAMIENTO DE LA RED NEURONAL CON DECAY

Ejecución Epoch Error per


Epoch
1 500 0.04643
2 1000 0.04427
3 1500 0.04301

Realizando una variación de la tasa de aprendizaje, los resultados se


muestran en la tabla anterior. El error, es mucho menor que el obtenido con
“todos los atributos”. Nuevamente es necesario aclarar que se ha hecho una
selección de atributos que le ha permitido a la red neuronal “aprender de
mejor manera”, aunque siempre queda la duda si se ha eliminado algún
ejemplo de entrenamiento que si vale la pena que se encuentre entre el
conjunto de atributos.
ACTIVIDAD 2: Análisis de la precisión de los
algoritmos BayesNet y J48 mediante la desviación
típica y tstudent pareado
El estudiante deberá entregar un trabajo de entre 5 y 10 páginas A4 a
una cara con los siguientes apartados:
1.- Diseñe un conjunto de datos que le permita analizar la precisión de
los algoritmos.
2.- Analice mediante tablas de datos los resultados científicos y
explique cada una de ellas.
3.- Verifique las conclusiones para cada caso. Analice cuantas
descomposiciones grupales se pueden tener, según su conjunto de
datos.

A continuación encontrará un ejemplo de como debe


desarrollar la Actividad. Analice cada uno de los métodos y la forma
como se obtienen los resultados. Compare las tablas y trate de entender
el funcionamiento de las medidas de análisis del experimento. Si
Usted necesita mayor información para la elaboración de la tarea lea
detenidamente el documento de Remco R. Bouckaert que forma parte
de esta guía-taller.
En esta actividad se aborda un planteamiento que permite validar si los
resultados de un clasificador son correctos, dando con ello respuesta al
problema de “aceptar los resultados de un clasificador como válidos”. Para
ello se escogieron los clasificadores BayesNet y J48, ya que han sido
utilizados frecuentemente sobre el fichero iris.arff, el mismo que también
va a ser utilizado en este trabajo. La variable a ser analizada fue la
precisión, cuya desviación típica mostro que no existe diferencia
significativa en los resultados de ambos clasificadores. Esto fue
corroborado por el estadístico Tstudent pareado.

2.1.Introducción

Uno de los problemas de la clasificación de datos es seleccionar el algoritmo


adecuado y el número de pruebas suficientes con el fin de afirmar que los resultados
obtenidos son correctos. En esta trabajo, realizamos pruebas con dos clasificadores:
BayesNet y J48, los cuales se escogieron ya que han sido utilizados en la clasificación
de las instancias del fichero iris.dat [1][2] (este mismo fichero será utilizado en este
trabajo).El objetivo es determinar si los clasificadores obtienen los mismos resultados.
Para ello, se siguió el proceso que se muestra en la siguiente figura:

2..11 folders

Precision

Iris1.arff BayesNet

.
Tabla de
Resta de Resta
. resta de
precisiones
precisiones
.

J48
Iris10.arff

2..11 folders

Fig. 1. Procedimiento para obtener la tabla de resta de precisiones

En la figura anterior, el fichero iris.dat ha sido dividido en 10 ficheros de


entrenamiento. Cada fichero de entrenamiento sirvió de entrada para
BayesNet y J48. Se utilizó un proceso de validación cruzada con el fin de
entrenar los algoritmos y examinar sus resultados, con 2 folds hasta 11 folds.
Cada proceso generó un valor de precisión para cada uno de los algoritmos
(10 valores de precisión, 1 por cada fold). Se restan las precisiones obtenidas
con el fin de obtener la diferencia en la exactitud de cada algoritmo y este
valor se lo ubica en una tabla (como la que se muestra en la tabla 1).
Por último se ordena la tabla obtenida en el proceso descrito anteriormente,
de menor a mayor según sea el valor de la precisión. El resultado es una
nueva tabla de precisiones ordenadas (como se muestra en la tabla 2). El
proceso de ordenar la tabla corresponde a los métodos de Average over
sorted runs, que sirve para verificar la eficiencia de dos clasificadores
distintos [3].
La hipótesis consiste en que el resultado de los clasificadores tiene que ser el
mismo, mas si hay diferencias entre sus precisiones lo consideramos como el
error obtenido. Por lo tanto, se pueden considerar a las tablas, como tablas
que contienen el error en la precisión analizada para cada uno de los
clasificadores.
Si la media del error para cada fold y su desviación típica posee valores
similares, implica que los clasificadores tienen un resultado parecido por lo
tanto se están comportando de la misma manera. Esto será corroborado con
un análisis estadístico en este caso T Student pareado, el cual nos sirve para
determinar si después de aplicar un clasificador, aplicamos otro al mismo
conjunto de datos el resultado tiene que ser el mismo [4]. Trabajamos con
un valor de alfa = 0.05, cuyo valor de la tabla cuando el conjunto de datos es
igual a 10 es 2,2281. Si el valor de t obtenido es menor al valor a 2,2281
entonces el resultado de los clasificadores “efectivamente es similar”.

2.2.BayesNet, J48 y Tstudent

Las redes Bayesianas pertenecen a los métodos de clasificación supervisada.


Su funcionamiento parte de variables predictoras y del cálculo de
probabilidad los cuales permiten obtener un valor para la clase a ser
analizada. Su principio fundamental es el análisis de la probabilidad de que
dado un evento cual es la probabilidad de que otro suceda, e inclusive; dada
la aparición de dos eventos cual es la probabilidad de que otro se registre [5].
En el caso del presente trabajo las variables predictoras son sepallength,
sepalwidth, petallength, petalwidth, y la clase a ser obtenida se corresponde
con Setosa, Virginica y Versicolor. Un ejemplo de interpretación
probabilística en este caso sería que dado un valor para sepalwidth, cuál es la
probabilidad de que un cierto valor se de para petallength, y dados estos
dos cuál es probabilidad de que sea Sesota, o Versicolor.

El algoritmo J48 es también un método de clasificación supervisada, el


objetivo es similar al de la red bayesiana, es decir dada la clase, se
determinan el valor de dicha clase para casos nuevos. Su representación se
basa en una estructura de árbol, el cual para ser construido, necesita que en
el nodo raíz se asocien todos los ejemplos o casos de entrenamiento. Luego,
se selecciona la variable a partir de la cual se va a dividir la muestra de
entrenamiento original (nodo raíz: Setosa, Virginica, Versicolor en el
presente trabajo), buscando que en los subconjuntos generados haya una
mínima variabilidad respecto a la clase. El proceso es recursivo, es decir una
vez que se ha identificado una instancia de clase, se regresa a comprobar el
resto de ramas del árbol [6].

Con los algoritmos anteriores, se procede a clasificar cada uno de los ficheros
de entrenamiento obtenidos a partir del fichero iris.arff (10 ficheros para el
presente trabajo).

El T student se utiliza para comparar dos tipos de métodos, lógicamente en


este trabajo se compara los resultados obtenidos con los algoritmos
BayesNet y J48. Este test, basado en la desviación estándar, puede
determinar si existe diferencias significativas en la variable que se analiza (en
este caso la variable a ser analizada es la precisión de clasificación de cada
algoritmo). Existe dos tipos de test t: pareado y no pareado [4]. En el
presente trabajo se aplicara el pareado debido a que tenemos la aplicación
de un algoritmo antes(BayesNet) y después (J48), en el mismo conjunto de
datos (los 10 ficheros obtenidos de iris.arff).

Para ejemplificar el funcionamiento del Tstudent Pareado (t) tomaremos


como referencia los datos de la tabla 1, en donde; el valor de cada celda es la
diferencia de las precisiones obtenidas con ambos clasificadores, para cada
fichero y para folds desde 2 hasta 11. Así por ejemplo, el valor 0,009 de la
casilla (1,1) es la diferencia entre 0,944 y 0,935, valores de la precisión de
BayesNet y J48, cuando ambos clasificadores utilizaron 2 folds en la
validación cruzada.
El promedio de las diferencias de precisiones es -0,0045. Para calcular el
valor de t se utiliza las siguientes formulas [4]:

d -0
tn-1 = - - - - - - - - , Sd =  (d2 - d)2 / n) / n - 1
Sd / n (1)

Calculando Sd = ( 0,005662 – (0,002025)/10)/9 = 0,024.

Calculando tn-1 = -0,6

El valor de tn-1 = 0,6 es menor que el valor de la tabla para t, cuando tiene
como grados de libertad 9 = 2,26. Esto significa que no existe variación entre
los resultados obtenidos con los clasificadores por lo tanto no existen
diferencias. Es necesario notar que para el cálculo de las diferencias se
utilizó la resta de Precision(BayesNet) – Precisión (J48) lo cual produce un
resultado negativo para t. Sin embargo si se cambia el orden de la resta el
resultado es positivo como se demuestra en la tabla 3.

A continuación se presenta la experimentación de este trabajo en donde se


ha sometido a análisis los algoritmos BayesNet y J48, junto con el Tstudent
pareado explicado con anterioridad.

2.3.Experimentación

Aplicando el filtro Resample sobre el fichero iris.arff se obtuvieron 10


ficheros de entrenamiento, nombrados como iris1.arff hasta iris10.arff. Cada
fichero de entrenamiento sirvió como entrada de datos para los
clasificadores BayesNet y J48. La tabla de resta de precisiones se muestra a
continuación:
Table 1. Tabla de resta de precisiones
Folds/Fichero de entrenamiento 2 3 4 5 6 7 8 9 10 11

1 0,009 -0,002 -0,01 -0,008 0 0,017 0,009 0,008 -0,011 0,018

2 0,027 0,014 0,027 0,027 0,014 0,014 0,014 0,014 0,014 0,014

3 0 -0,035 0 0 0 0 0 0 0 0

4 0 0 0 0,049 0 0 0 0 0 0

5 0,006 0,006 0,019 0 -0,007 0 0,02 -0,006 0,006 -0,001

6 0,006 0,014 -0,005 -0,04 -0,026 0 -0,007 -0,013 -0,033 -0,026

7 -0,041 0 -0,039 -0,014 0 -0,008 -0,007 -0,008 -0,008 -0,021

8 -0,02 0,006 -0,001 -0,026 -0,014 -0,028 -0,007 -0,027 -0,007 -0,021

9 -0,025 -0,016 -0,021 -0,046 -0,027 -0,001 -0,015 -0,007 -0,026 -0,019

10 -0,007 0,004 -0,013 -0,014 -0,019 -0,02 -0,02 -0,02 -0,007 0,947

Sumatoria -0,045 -0,009 -0,043 -0,072 -0,079 -0,026 -0,013 -0,059 -0,072 0,891

X media -0,0045 -0,0009 -0,0043 -0,0072 -0,0079 -0,0026 -0,0013 -0,0059 -0,0072 0,0891

Desv.Estan 0,02 0,01 0,02 0,03 0,01 0,01 0,01 0,01 0,01 0,30

La tabla anterior ordenada es la siguiente:

Table 2. Tabla de resta de precisiones ordenada


Folds/Fichero de entrenamiento 2 3 4 5 6 7 8 9 10 11

1 -0,011 -0,01 -0,008 -0,002 0 0,008 0,009 0,009 0,017 0,018

2 0,014 0,014 0,014 0,014 0,014 0,014 0,014 0,027 0,027 0,027

3 -0,035 0 0 0 0 0 0 0 0 0

4 0 0 0 0 0 0 0 0 0 0,049

5 -0,007 -0,006 -0,001 0 0 0,006 0,006 0,006 0,019 0,02

6 -0,04 -0,033 -0,026 -0,026 -0,013 -0,007 -0,005 0 0,006 0,014

7 -0,041 -0,039 -0,021 -0,014 -0,008 -0,008 -0,008 -0,007 0 0

8 -0,028 -0,027 -0,026 -0,021 -0,02 -0,014 -0,007 -0,007 -0,001 0,006

9 -0,046 -0,027 -0,026 -0,025 -0,021 -0,019 -0,016 -0,015 -0,007 -0,001

10 -0,02 -0,02 -0,02 -0,019 -0,014 -0,013 -0,007 -0,007 0,004 0,947
Sumatoria -0,214 -0,148 -0,114 -0,093 -0,062 -0,033 -0,014 0,006 0,065 1,08

Xmedia -0,0214 -0,0148 -0,0114 -0,0093 -0,0062 -0,0033 -0,0014 0,0006 0,0065 0,108

Desv.Estan 0,79 0,78 0,78 0,78 0,78 0,78 0,78 0,78 0,78 0,78

En la tabla anterior se muestra que la desviación estándar es la misma en


todos los folds, por lo tanto los clasificadores obtienen resultados parecidos.
Esto debe ser comprobado mediante el T student pareado como se describe
a continuación:

Table 3. T student pareado para el fichero 2


Prueba t para medias de dos muestras emparejadas

Variable 1 Variable 2

Media 0,9455 0,9425

Varianza 0,00026894 0,00012694

Observaciones 10 10

Coeficiente de correlación de Pearson 0,75919045

Diferencia hipotética de las medias 0

Grados de libertad 9

Estadístico t 0,88337241

P(T<=t) una cola 0,20000805

Valor crítico de t (una cola) 1,83311293

P(T<=t) dos colas 0,4000161

Valor crítico de t (dos colas) 2,26215716

En la tabla anterior el valor de t = 0.88 menor al valor t(de la tabla) = 2,26


para el 5%, lo que implica que no hay existido diferencias significativas en los
resultados obtenidos con ambos clasificadores. En el T student pareado
aplicado para el fold 3, observamos una diferencia:
Table 4. T student pareado para el fichero 3
BayesNet J48

Media 0,9909 0,973

Varianza 3,94333E-05 1,36955E-32

Observaciones 10 10

Coeficiente de correlación de Pearson 2,04998E-14

Diferencia hipotética de las medias 0

Grados de libertad 9

Estadístico t 9,014077466

P(T<=t) una cola 4,21478E-06

Valor crítico de t (una cola) 1,833112933

P(T<=t) dos colas 8,42957E-06

Valor crítico de t (dos colas) 2,262157163

El valor del estadístico es 9,01 que supera fácilmente al valor de T en la tabla.


Se puede concluir que con un Fold = 3, los resultados de los clasificadores
cambian. Sin embargo, para el resto de Folds el valor de T es menor al valor
de T en la tabla, obteniendo con ello que los clasificadores no producen
diferencias significativas. Cada uno de los valores de T, para cada fichero se
presenta en las siguientes tablas:
P(T<=t) dos colas 0,34089313
Table 5. T Student pareado para el fichero 4
Valor crítico de t (dos colas) 2,22813885
Prueba t para medias de dos muestras emparejadas

BayesNet J48

Table 6. T Student pareado para el fichero 5


Media 0,99681818 1
Prueba t para medias de dos muestras emparejadas
Varianza 0,00011136 0

BayesNet J48
Observaciones 11 11

Media 0,9604 0,9561


Diferencia hipotética de las medias 0

Varianza 4,8489E-05 5,8544E-05


Grados de libertad 10

Observaciones 10 10
Estadístico t -1

Coeficiente de correlación de Pearson 0,20145157


P(T<=t) una cola 0,17044657

Diferencia hipotética de las medias 0


Valor crítico de t (una cola) 1,81246112
Grados de libertad 9 P(T<=t) dos colas 0,01196899

Estadístico t 1,46999599 Valor crítico de t (dos colas) 2,26215716

P(T<=t) una cola 0,0878174

Valor crítico de t (una cola) 1,83311293 Table 9. T Student pareado para el fichero 8
P(T<=t) dos colas 0,1756348 Prueba t para medias de dos muestras emparejadas

Valor crítico de t (dos colas) 2,26215716 BayesNet J48

Media 0,95309091 0,96590909

Table 7. T Student pareado para el fichero 6 Varianza 4,6491E-05 4,9891E-05

Prueba t para medias de dos muestras emparejadas


Observaciones 11 11

BayesNet J48 Coeficiente de correlación de Pearson -0,62895211

Media 0,937 0,95 Diferencia hipotética de las medias 0

Varianza 8,4667E-05 0,00013933 Grados de libertad 10

Observaciones 10 10 Estadístico t -3,39330771

Coeficiente de correlación de Pearson -0,4143132 P(T<=t) una cola 0,00342383

Diferencia hipotética de las medias 0 Valor crítico de t (una cola) 1,81246112

Grados de libertad 9 P(T<=t) dos colas 0,00684766

Estadístico t -2,31994948 Valor crítico de t (dos colas) 2,22813885

P(T<=t) una cola 0,02274478

Valor crítico de t (una cola) 1,83311293 Table 10. T Student pareado para el fichero 9
P(T<=t) dos colas 0,04548957 Prueba t para medias de dos muestras emparejadas

Valor crítico de t (dos colas) 2,26215716 BayesNet J48

Media 0,9333 0,9536

Table 8. T Student pareado para el fichero 7 Varianza 0,00010201 3,8933E-05


Prueba t para medias de dos muestras emparejadas

Observaciones 10 10
BayesNet J48
Coeficiente de correlación de Pearson -0,07898615
Media 0,9443 0,9589
Diferencia hipotética de las medias 0
Varianza 0,00029512 1,1433E-05
Grados de libertad 9
Observaciones 10 10
Estadístico t -5,22578356
Coeficiente de correlación de Pearson 0,7752588
P(T<=t) una cola 0,00027249
Diferencia hipotética de las medias 0
Valor crítico de t (una cola) 1,83311293
Grados de libertad 9
P(T<=t) dos colas 0,00054498
Estadístico t -3,13787074
Valor crítico de t (dos colas) 2,26215716
P(T<=t) una cola 0,0059845

Valor crítico de t (una cola) 1,83311293


Grados de libertad 9

Table 11. T Student pareado para el fichero 10


Estadístico t -5,24267047
Prueba t para medias de dos muestras emparejadas
P(T<=t) una cola 0,00026643

BayesNet J48
Valor crítico de t (una cola) 1,83311293

Media 0,9458 0,9587


P(T<=t) dos colas 0,00053287

Varianza 2,8178E-05 8,1344E-05


Valor crítico de t (dos colas) 2,26215716

Observaciones 10 10

Coeficiente de correlación de Pearson 0,51150721

Diferencia hipotética de las medias 0

2.4.Conclusiones

La presente actividad plantea utilizar los algoritmos BayesNet y J48, y


comprobar si existen diferencias en los resultados de la clasificación. Para
hacerlo se trabajo con 10 ejemplos de entrenamiento obtenidos a partir del
archivo iris.arff. La variable en análisis fue la precisión, y para obtener el
error del análisis se resto la precisión obtenida con ambos algoritmos.

El resultado de la media y la desviación típica de la resta de las precisiones


muestra que para cada fold, no existe variacion entre los clasificadores, por
lo tanto se puede concluir que lo obtenido con los algoritmos no muestra
diferencias significativas. Para afirmar esta conclusión se aplica el test
student pareado sobre la precisión obtenida con ambos clasificadores. Los
valores obtenidos para t, muestran que son menores en su mayoría al valor
crítico de tabla t = 2,26, con 9 grados de libertad. Existe una sola ejecución
que demostró ser mayor, y fue en el segundo fold, lo que nos lleva a concluir
que existen ejemplos de entrenamiento en los cuales los clasificadores si
pueden mostrar diferencias en sus resultados.

Se puede concluir además que la clase Setosa, es mucho más lineal que
Virginica y Versicolor en todos los folds utilizados para el análisis.
3. Bibliografia
1. Bayesian Network Classifiers in Weka, http://es.scribd.com/doc/3837893/Bayesian-Network-Classifiers-in-Weka
2. Interpreting Weka Output, http://www.let.rug.nl/tiedeman/ml06/InterpretingWekaOutput
3. Remco, Bouckaert.: “Estimating replicability of classifier learning experiments”, In Proceeding ICML ’04 of the
twenty-first international conference on Machine Learning, page 15, 2004.
4. T Student o Test T, http://patoral.umayor.cl/anestbas/TEST_T.html#Tabla1
5. Robles.V.: “Clasificación supervisada basada en Redes Bayesianas. Aplicación en Biología Computacional”,
Universidad Politécnica de Madrid, Tesis Doctoral, 2003.
6. Análisis de Información Clínica mediante técnicas de Minería de Datos,
http://www.revistaesalud.com/index.php/revistaesalud/article/view/358/707
ACTIVIDAD 3

El estudiante deberá entregar un trabajo de entre 5 y 10 páginas A4 a una cara con los
siguientes apartados:

1. Una justificación breve sobre los motivos para la elección del artículo.
2. Un resumen del artículo: de qué secciones consta y de qué trata cada una. Es
importante que el alumno demuestre su comprensión del artículo en este resumen.
En particular, que describa la aportación novedosa frente a trabajos anteriores
citados en el propio artículo
3. Un estudio sobre el ámbito de aplicabilidad de las conclusiones obtenidas (para qué
tipo de datos/algoritmos está especialmente indicado, limitaciones, en qué
situaciones está contraindicado...).
4. Un estudio de la bibliografía reciente del autor y el área. El estudiante puede hacer
el estudio comenzando con una búsqueda por autor en los servidores citeseer y
Google Scholar. Con los resultados, deberá realizar una selección de 5
publicaciones relacionadas con el tema de la selección de atributos y, en particular,
con la aproximación elegida, y analizar su impacto medido por el número de
citaciones. Finalmente, el informe deberá recoger publicaciones de otros autores
relacionadas con el artículo original, de publicaciones de relevancia y los mayores
índices de citación encontrados.

A continuación encontrará un ejemplo de como debe desarrollar la Actividad. Fijese


en especial en la forma como se trabaja en cada párrafo, en la claridad de la propuesta y en la
justificación bibliográfica. Si Usted necesita mayor información para la elaboración de la
tarea lea detenidamente el documento Lineamientos generales para escribir un paper que
forma parte de esta guía-taller.

Análisis de la categorización de texto basado en la aparición de palabras y


clasificación automática de documentos

4. Introducción

La importancia de la clasificación automática de textos, radica en la gran cantidad de información


que necesita ser manejada por las personas en distintos ambientes. La información disponible en
internet, bibliografía, periódicos, hace que sea necesario tener métodos que permitan
“seleccionar” aquellos que la persona considere como importantes para su lectura. Una de las
soluciones que se adopta, es clasificar a los textos de acuerdo a la materia a la que están
relacionados, o clasificar el contenido, según sea los términos lingüísticos (apropiados o
inapropiados) contenidos en los mismos (apropiados o inapropiados) [1].

Las fuentes de información existentes web, repositorios OCW, bibliotecas, etc., tienen gran
cantidad de información y generalmente se han utilizado métodos manuales y semiautomáticos
para clasificarla [2]. En la actualidad se prefiere utilizar métodos automáticos basados en la
estadística y algoritmos de inteligencia artificial para obtener dicha clasificación [3].

En este trabajo, se presenta las ventajas de aplicar métodos de probabilidad junto a maquinas
vectoriales, para clasificar el contenido y mejorar los resultados obtenidos con las técnicas de
agrupación de palabras en un texto. Para ello, se analizará la propuesta realizada en [3], se
explicará sus ventajas y se detallará sus principales contribuciones. Se escoge este trabajo debido
a que sus resultados muestran más del 70% de precisión en la categorización de textos y además
porque ha sido citado en más de 180 trabajos, siendo su cita más importante la detallada en [4], la
cual hace referencia a la categorización de un conjunto de textos basado en el algoritmo de
agrupación de cuello de botella, o como se denomina [4] “el método para obtener el ranking de
una variable”, este método se explica a continuación.

5. Trabajos relacionados

En la propia literatura de [3] se puede leer que existen trabajos que presentan mecanismos para
clasificar textos, logrando precisiones del 92% como es el caso de [5]. La clasificación de textos
puede ser aplicado para la identificación de spam en correos electrónicos. Muchas técnicas han
sido utilizadas para ello, como la técnica IMatch que busca duplicados en los correos basado en la
distancia del coseno, para determinar si existe similitud entre los textos de correos analizados [6].
Sin embargo esta técnica analiza el conjunto de todo el texto, a diferencia del análisis del
aparecimiento de una palabra en un texto como se hace en [3].

Al utilizar técnicas de aprendizaje no supervisado, se pueden manejar variables de grupos de


varios tipos (por ejemplo, documentos, palabras y autores) sobre la base de las interacciones entre
pares de tipos, como se observa en co-ocurrencia datos. En este esquema, es necesario maximizar
una función objetivo que mide múltiples fuentes de información mutua entre pares de clúster
variables. Para llevar a cabo esta idea, se propone un algoritmo que intercala de arriba hacia abajo
la agrupación de algunas variables y de abajo hacia arriba la agrupación de las otras variables, con
un local optimización rutinaria corrección [7]. El principio de este trabajo es el mismo que [3],
analizando la pertenencia de una palabra a un texto y lógicamente luego verificar la clasificación
“no supervisada” de los documentos, con lo que la categorización de textos basada en al
aparecimiento de las palabras en los mismos, sirve de base también para obtener una clasificación
de ese tipo.

Un trabajo muy relacionado con lo descrito en [3] (y muy referenciado) es el que se describe en
[8], en donde se muestra que la categorización del texto se puede mejorar al aumentar un
pequeño número de documentos de formación etiquetados, con un gran número de documentos
sin etiquetar. Esto es importante porque en muchos problemas de categorización de texto la
obtención de etiquetas caro, mientras que grandes cantidades de documentos no etiquetados
están fácilmente disponibles. Allí, se introduce un algoritmo de categorización de los documentos
etiquetados y no-etiquetados basado en la combinación de Esperanza-Maximización (EM) y
clasificador NaiveBayes. El primer algoritmo se entrena utilizando los documentos disponibles
etiquetados, y probabilísticamente etiqueta aquellos que no lo están. A continuación, entrena a
una nuevo clasificador utilizando las etiquetas de todos los documentos, y se repite a la
convergencia. Este procedimiento básico de EM funciona bien cuando los datos se ajustan a la
generación de supuestos en el modelo. Sin embargo, estos supuestos son frecuentemente
alterados en la práctica, y se puede obtener bajos rendimientos. Se presentan dos opciones para
que el algoritmo mejore su precisión en estas condiciones: (1) un factor de ponderación para
modular la contribución de los datos no marcados, y (2) el uso de múltiples componentes de la
mezcla por clase. Como se describe anteriormente la esperanza de maximización parte de que se
tienen documentos etiquetados y no etiquetados, y efectúa un análisis probabilístico para la
clasificación de documentos. Se considera entonces una mejora en [3] ya que generalmente los
buscadores se basan en palabras y no en el contenido de todo un texto, de allí que se parte del
análisis de la pertenencia de las palabras al texto para luego si categorizarlos. Sin embargo, el
utilizar documentos no etiquetados, parece ser una buena vía, para enfatizar en que este tipo de
algoritmos debe tambien aprender a manejar información no estructurada mediante la cercanía
que tienen los textos etiquetados frente a los que no lo están, lo que repercute inclusive cuando
se utiliza conjuntos de características de cardinalidad pequeña (por ejemplo, k = 10), en donde se
espera que al menos en "complejos" conjuntos de datos como 20NG (grupos de noticias), exista
cierta ventaja en la representación de la forma de categorización descrita en [3] en donde; los
documentos al estar etiquetados y al tener un centroide ghost, puede servir de apoyo también
para etiquetar a los documentos que no contienen clase alguna. A continuación se describe la
propuesta de [3] empezando por aquellos por los algoritmos que utiliza.

6. Algoritmo para la categorización de textos

El problema de la categorización de textos, es encontrar un mecanismo adecuado de


agrupamiento. Generalmente se utilizan las distancias como Manhatan y Euclediana para resolver
el problema, de la selección adecuada de la distancia depende el resultado de la clasificación. La
técnica que se describe aquí esta basada en la información proveniente de un “cuello de botella”
es decir, se recibe toda la información disponible, se crea un solo cluster (de partida) y luego se va
dividiendo la información en distintos clusters, de acuerdo a el método de recocido de etapas, en
el cual se va dando un valor que indica la subdivisión de subclusters a partir de el cluster(s) de
partida. La salida del algoritmo son los k centroides obtenidos a partir de dividir el cluster de
partida y la probabilidad de que una palabra pertenezca a cada cluster. Este proceso se lo realiza
mediante un método conocido como “annealing stages”.

El proceso annealing stages, obtiene los k clusters “deseados”: Para obtener los k clusters, en el
proceso de división se van creando para cada centroide c, un valor aleatorio cercano a c llamado
centroide fantasma ghost (G). El valor de ghost sirve para agrupar a cado de los centroides
creados (y por ende a los valores) en un solo centroide siempre y cuando estén dentro de su
intervalo, esto en el fin de ir “disminuyendo” la cantidad de centroides creados. En la siguiente
figura se muestra lo explicado en los párrafos anteriores:

Probabilidad de aparición de la
palabra en cada clúster

Palabra Ficheros

Cluster1

Cluster2 G1

… G2
Clúster inicial

Clúster k

Gk

Fig. 2. Representación gráfica del algoritmo de cuello de botella

Como se observa en la figura anterior se calcula para cada cluster la probabilidad de aparición de
la palabra en los mismos, sin antes dejar pasar que el centroide ghost (G) sirve para “disminuir” los
clusters generados. Todo este procedimiento se basa en la formula:
(2)

En donde, se calcula la pertenencia probabilística de una palabra a un documento específico, para


luego una vez “obtenido el documento” al cual pertenece la clase aplicar los algoritmos de SVM:
Una vez las probabilidades de aparición, el siguiente paso consiste en determinar a que clase “de
documento” pertenece cada uno de los clusters obtenidos, para ello; se aplican las máquinas de
soporte vectorial como se describe a continuación.

7. Máquinas de soporte vectorial

La entrada para la maquina de soporte vectorial (SVM) es el conjunto de ficheros y la clase a la


cual pertenecen. Este tipo de algoritmos pueden establecer a que clase pertenece cada fichero en
el test, aplicando el concepto de “linealmente separable”. El objetivo de una SVM, es buscar para
una tarea de aprendizaje dada, con una cantidad finita de datos, una adecuada función que
permita llevar a cabo una buena generalización (clasificación), que sea resultado de una adecuada
relación entre la precisión alcanzada con un particular conjunto de entrenamiento y la capacidad
de modelo [8].

Para el caso de la clasificación de textos, el objetivo es aprender a partir de los datos. Para ello se
busca la dependencia funcional probabilística entre un conjunto de entrada (llamados vectores) y
los valores de salida.

La propuesta descrita en [3] une los dos algoritmos descritos en los epígrafes anteriores, mediante
el proceso descrito a continuación.

8. Aplicación de los algoritmos

Los algoritmos descritos en los apartados anteriores, se unen con el fin de obtener una clasificación de los
textos. Es necesario aclarar que cada texto puede pertenecer a varias “clases” o a una sola clase, por lo tanto
en [3] se decide realizar dos tipos de clasificación.
Para la primera considerada como multiclase, se identifican varios clasificadores (SVM) y cada
clasificador se lo especializa en una sola clase de las multiclases identificadas. Mientras que para
la clasificación uniclase se otorga un valor de confianza, que permite identificar si el documento
(texto) pertenece o no a una clase según sea su cercanía a ese valor, lógicamente el valor de
confianza está en directa relación con el hiperplano creado por el algoritmo SVM (incluida la fase
de annealing stages).

Los datos que se utilizaron para probar el mecanismo fueron 20NG, grupos de noticias que se
encuentran a disposición en Reuters-21578, compuestos por 21578 artículos. La clasificación de
las noticias requiere de dos tipos de análisis muliticlase y uniclase. Para multiclase se ha
propuesto un parámetro conocido como unfair (injusto), en el cual sirve para determinar cuando
un clasificador obtuvo mejores resultados que otro, cuando los parámetros de B han sido
configurados erróneamente (injustamente).

Los resultados muestran que la combinación de los algoritmos mejora la clasificación en lo que
respecta a la categorización. Se puede afirmar ello cuando los algoritmos se combinaron para
clasificar a 15000 palabras, la precisión de menor valor es 80.8% y de 95.7% como máxima. Esto
demuestra que existe un alto rendimiento en la clasificación obtenida para uniclase y multiclase,

9. Bibliografía
7. J. Gómez, et al.: “Categorización de texto sensible al coste para el filtrado de contenidos inapropiados en Internet”, In
Procesamiento de lenguaje natural. No. 31, pp. 13-20, 2003.
8. S.Cesare, M. Santayana.: “Principios de análisis del texto literario”, Barcelona:Critica, DialNetl, Bibliotecas
Universitarias, 1985.
9. R. Bekkerman, Y. Ran.: “Distributional Word Clisters vs. Words for Text Categorization”, In Journal of Machine
Learning Research, pp. 1183-1208, 2003.
10. I.Guyon, A. Elisseeff.: “An Introduction to Variable and Feature Selection”, In Journal of Machine Learning
Research 3, pp. 1157-1182, 2003.
11. S.T. Dumais, J. Platt, D. Heckerman, and M. Sahami. Inductive learning algorithms and representations for text
categorization. In Proceedings of CIKM’98, 7th ACM International Conference on Information and Knowledge
Management, pages 148–155, Bethesda, US, 1998. ACM Press,New York, US.
12. Kolcz.E, Chowdhury.A, Alspector.J.: The impact of feature selection on signature-driven spam detection,
CiteSeer,2003.
13. R.Bekkerman, R.El-Yaniv, A.McCallum.: “Multi-Way Distributional Clustering via Pairwise Interactions, In
Proceedings of the 22 International Conference on Machine Learning, Bonn, Germany, 2005.
14. Gonzalez.L.: “Modelos de clasificación basados en máquinas de vectores soporte, In Asociación Científica de
Economía Aplicada, 2003.

También podría gustarte