You are on page 1of 22

Pr actica de Aprendizaje

2013 1er Cuatrimestre


cbea
Enginyeria en Inform` atica
Departament de Llenguatges i Sistemes Inform` atics
ndice general
1. Prctica de laboratorio de aprendizaje inductivo 1
2. Procesamiento de textos 2
2.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.2. Representando documentos como ejemplos . . . . . . . . . . . . . . . . . . . . . . . . 2
2.3. La importancia de una palabra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.4. Filtrado de las palabras de un documento . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.5. El plug-in de Rapidminer para procesamiento de texto . . . . . . . . . . . . . . . . . 4
2.6. Obteniendo y procesando los tokens . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3. Aprendiendo de los clsicos 8
3.1. El dominio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.2. Los objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.3. El conjunto de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.4. Experimentacin y aprendizaje a partir del conjunto de datos . . . . . . . . . . . . . 9
3.4.1. La lectura de los datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.4.2. Preprocesamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.4.3. Aprendiendo y evaluando . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.5. Reportando vuestro trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.6. Para sacar mejor nota en la prctica . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4. Redes Neuronales vs boles de decisin 15
4.1. La seleccin del conjunto de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.2. Los conjuntos de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.2.1. Primer conjunto: Ionosphere . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.2.2. Segundo conjunto: Parkinsons . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.2.3. Tercer conjunto: SPECTF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.2.4. Cuarto conjunto: Sonar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.3. Experimentos con los datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.3.1. Perceptrn Multicapa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.3.2. Redes RBF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.3.3. rboles de decisin/Boosting/Bagging . . . . . . . . . . . . . . . . . . . . . . 17
A. RapidMiner 18
A.1. Qu es RapidMiner? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
A.2. De donde se puede descargar RapidMiner? . . . . . . . . . . . . . . . . . . . . . . . 18
A.3. Dnde puedo encontrar ms informacin sobre RapidMiner? . . . . . . . . . . . . . . 18
A.4. Cmo puedo aumentar la cantidad de memoria que utiliza RapidMiner? . . . . . . . 18
1
Captulo 1
Prctica de laboratorio de aprendizaje inductivo
sta es la prctica de laboratorio de Aprendizaje. Tiene que ser resuelta en grupos de dos estu-
diantes. Tambin se puede resolver la prctica individualmente, pero ser ms trabajo.
Esta prctica tiene dos partes e involucra el uso de algoritmos supervisados inductivos en dos
conjuntos de datos especcos. Estos conjuntos de datos se pueden descargar desde la pgina web del
curso a travs del enlace que se encuentra en la pgina de laboratorio.
El primer conjunto de datos es comn para todos los grupos. El segundo ser el que os corresponda
de los cuatro conjuntos de datos disponibles. La asignacin del segundo conjunto de datos se har
dependiendo de la ultima cifra del DNI de los componentes del grupo. Si las dos son pares trabajaris
con el primer conjunto de datos, si son impares trabajaris con el segundo. Si el DNI del componente
con apellido en primer lugar en orden alfabtico es par y el DNI del segundo es impar trabajaris
con el tercer conjunto de datos. Los que estn en el otro caso trabajarn con el cuarto conjunto de
datos.
Este trabajo incluye la realizacin de diferentes experimentos utilizando los algoritmos explicados
en clase teora y el redactar un informe explicando el trabajo realizado, los resultados obtenidos y
responder a la serie de preguntas que aparecen en este documento.
El informe debe ser entregado electrnicamente en formato PDF, usando la aplicacin de entrega
de prcticas del rac como se explicar en un aviso que se publicar en el rac antes de las vacaciones
de Navidad.
La fecha lmite para la entrega del informe ser el 7 de enero de 2014.
1
Captulo 2
Procesamiento de textos
2.1. Introduccin
Las reas de minera de textos y recuperacin de la informacin estn ganando bastante relevancia
gracias a que Internet proporciona una fuente enorme de documentos de todo tipo. Hay una gran
cantidad de tareas y problemas que pueden resolverse utilizando bases de documentos y los algoritmos
de aprendizaje automtico se utilizan con frecuencia para resolverlos.
Las tareas en el rea de la minera de textos son muy diversas y algunas veces presentan oportu-
nidades nicas para tareas que no se pueden resolver de otra manera. Pensad, por ejemplo en estos
diferentes escenarios:
1. Una editorial quiere recomendar libros no por su popularidad (los libros que tienen ms com-
pradores son los mejores, seguro!), sino por la similitud en el estilo o contenido. Se puede
utilizar la informacin del texto en los libros para clasicar otros libros y descubrir autores,
por ejemplo, con estilo similar. Con esto se puede responder a preguntas como, es el autor X
tan fcil de leer como el autor Y?
2. Imaginad que estis suscritos a diferentes fuentes en vuestro lector de noticias RSS favorito y no
tenis tiempo para leer todos los mensajes que se reciben a diario. Podra construirse una apli-
cacin que lea los mensajes y pueda decir si va a ser de tu inters o no? O que automticamente
clasique y agrupe las noticias con las palabras clave obtenidas de los mensajes?
3. Imaginad que se tiene un documento y no se sabe quin es el autor, pero se tienen documentos
de un conjunto de posibles autores. Sera posible aprender de los documentos la diferencia en
el uso de las palabras y los estilos de los autores, para averiguar quin es el autor real. Esta
tarea es resuelta generalmente por expertos en lingstica y, obviamente, no hay muchos de
ellos, podra ser automatizada?
2.2. Representando documentos como ejemplos
Con el n de utilizar documentos y texto en el proceso de aprendizaje, por lo general se necesita
una transformacin para tener una representacin adecuada para los algoritmos de aprendizaje.
La mayora de los algoritmos de aprendizaje necesitan una representacin de atributo-valor, algo
que es muy diferente de la informacin que aparece en los documentos. La representacin usual de
texto es la representacin llamada bolsa de palabras (bag of words).
Para obtener la bolsa de palabras de un conjunto de documentos, todas las palabras diferentes
que aparecen en el texto se tratan como atributos, se calcula alguna informacin para cada palabra
a partir de los documentos y se utiliza esta como el valor del atributo.
2
Esto signica que cada documento estar representado por todas las palabras que aparecen en
el conjunto de documentos y para cada atributo su valor ser alguna informacin que representa la
importancia de sta para el documento. Esta transformacin adapta un conjunto de documentos a
la representacin atributo-valor.
2.3. La importancia de una palabra
El valor de un atributo (en este caso una palabra) puede ser calculado de diferentes maneras. Las
formas ms usuales son:
TF-IDF: Este valor combina dos medidas diferentes, la frecuencia de la palabra (term frequency,
TF) y la frecuencia inversa de documento (inverse document frequency, IDF).
La frecuencia de la palabra es la proporcin de aparicin de una palabra en un documento y
se calcula como:
tf
ij
=
w
ij

k
w
kj
La frecuencia inversa de documento es la importancia de una palabra en el conjunto de docu-
mentos y se calcula como:
idf
i
= log
|D|
{d : w
i
D}
siendo |D| el nmero de documentos y {d : w
i
D} el nmero de documentos que tienen la
palabra i.
La medida TF-IDF se calcula como:
TFIDF
ij
= tf
ij
idf
i
Frecuencia de palabra (TF): La frecuencia de palabra puede ser tambin una medida de impor-
tancia, cuantas ms veces una palabra aparece en un documento, ms importante es para el
documento.
Ocurrencias de palabra: La frecuencia del palabra es relativa al nmero de palabras en un do-
cumento y puede ser engaosa dependiendo de la longitud del documento. A veces es mejor
utilizar el nmero de apariciones de las palabras en el documento.
Ocurrencias binaria de palabra: Puede ser tambin informativo si una palabra aparece o no en
un documento, independientemente del nmero de ocurrencias.
Ninguna de estas medidas es perfecta y por lo general los patrones que se puede obtener de los
documentos puede cambiar con la medida utilizada.
2.4. Filtrado de las palabras de un documento
El primer proceso para la obtencin de las palabras de un documento es tokenizar el texto. Lo
usual es crear un token para cada cadena que est separada por un espacio en blanco o cualquier
signo de puntuacin, pero hay otras posibilidades dependiendo de la naturaleza de los documentos.
El resultado habitual del proceso de tokenizacin es de varios miles de tokens (cada token es un
atributo). Esta es una de las caractersticas de aprendizaje a partir de documentos, el nmero de
3
atributos es por lo general mayor que el nmero de ejemplos. Esto es tambin un problema para
el proceso de aprendizaje porque algunos algoritmos no escalan bien con el aumento de atributos
y la calidad de la proceso de aprendizaje tambin queda afectada cuando hay un gran nmero de
atributos irrelevantes.
Antes de la aplicacin de tcnicas de seleccin de atributos hay algunos preprocesos que se pueden
aplicar para reducir el nmero de atributos.
El primero de ellos es la eliminacin de todas las palabras que son palabras sin signicado propio
(stop words). Esta tarea es dependiente de la lengua, por lo que una lista de estas palabras es necesaria
para el idioma especco de los documentos. Este proceso eliminar algunas palabras que son muy
frecuentes en los documentos, pero que no tienen ninguna importancia para la tarea de aprendizaje
(pronombres, preposiciones, adverbios, artculos, ...).
Otro proceso relacionado con el lenguaje especco de los documentos es el stemming. El problema
con las palabras es que se puede tener atributos diferentes para la misma palabra, ya que puede ser
escrita de diferentes maneras, por ejemplo, nombres en singular o plural, los verbos en diferentes
tiempos, palabras masculinas o femeninas, prejos, sujos, ... Cada palabra se considera como un
atributo diferente, el stemming procesa las palabras y substituye todas las apariciones de la misma
manera. Esto signica que el nmero de ocurrencias de cada palabra ser ms preciso.
Hay otros procesos que requieren conocimientos ms especializados, por ejemplo, para la elimina-
cin de los nombres de entidades de texto (nombres de personajes, lugares, ...). Esto se puede hacer
teniendo un diccionario de nombres o mediante la eliminacin del texto de todas las palabras que no
aparecen en un diccionario de la lengua utilizada en los documentos.
Otro sencillo preproceso es eliminar todas las palabras que aparecen una gran cantidad de veces
o solo unas pocas veces, esto se puede hacer por frecuencia, eliminando palabras segn la frecuencia
absoluta (para todos los documentos) ms o menos que un cierto valor, por la aparicin absoluta,
eliminando palabras que aparecen en documentos menos o ms que un valor especco, o por el rango,
la eliminacin de un porcentaje de las palabras ms y menos frecuentes.
2.5. El plug-in de Rapidminer para procesamiento de texto
Un plug-in para el procesamiento de texto puede ser instalado en RapidMiner utilizando el servidor
de actualizaciones buscarndo text mining. Despus de instalar y reinicializar habr una nueva carpeta
denominada Text Processing en la pestaa de operadores.
La forma ms sencilla de procesar documentos con este plug-in, es poner todos los documentos
en un conjunto de directorios (uno para cada clase) y utilizar el operador Process documents from
les. Estos son los parmetros de este operador:
4
Para el parmetro text directories, el botn edit list permite introducir las etiquetas a usar para
la clasicacin de los documentos y los directorios donde estn. El plug-in supone que cada directorio
tiene un conjunto de documentos a ser transformados.
El plug-in puede leer todos los archivos o solo los que siguen un patrn especicado (le pattern).
Se puede extraer solo texto o tambin incluir etiquetas XML o HTML (extract text only). Tambin
puede reconocer el tipo de archivo por su extensin, asumiendo que es texto si no conoce el tipo (use
le extension as type).
Los archivos pueden ser transformados a la representacin de la bolsa de palabras (create word
vector). Los valores a usar como valor de los atributos de las palabras pueden ser seleccionados
(vector creation) de entre las medidas explicadas en al seccin 2.3 (TF-IDF, Term frequency, Term
occurrence, Binary test occurrence).
El conjunto de palabras que se usan para representar los archivos de texto se puede podar (prune
method) por valor porcentual, absoluto o ranking.
La poda porcentual eliminar palabras por debajo o por encima de una frecuencia. Tened en
cuenta que palabras con una frecuencia muy baja a veces son solo ruido, pero tambin incluyen
palabras especcas que pueden ser importantes para la clasicacin. Tambin las palabras muy
frecuentes pueden separar entre clases, pero tambin son atributos generales que puede ayudar
a predecir ejemplos no vistos.
Poda por valor absoluto eliminar las palabras que aparecen en ms o menos de un nmero de
documentos
Poda por ranking eliminar un porcentaje de las palabras ms y menos frecuentes.
5
Este operador es un subproceso, esto signica que internamente el texto tiene que ser tokenizado
y tambin se pueden aplicar algunos procesos a los tokens.
2.6. Obteniendo y procesando los tokens
Con el n de obtener la bolsa de palabras de los archivos de texto, la primera tarea a realizar
es la tokenizacin. Hay un operador para tokenizacin que extrae las palabras del texto. Tiene un
parmetro que especica cmo identicar palabras en el texto. Para texto plano la forma habitual
es utilizar caracteres que no sean letras como separadores de palabras, pero caracteres especiales y
expresiones regulares tambin se puede utilizar.
La tokenization es la nica tarea necesaria dentro de este subproceso, pero se pueden aplicar otros
operadores para reducir el nmero de palabras y para ltrar las palabras que no aportan informacin
til.
La siguiente gura muestra una visin ms completa preproceso.
En la gura, despus de la tokenizacin aparece el operador para ltrar las palabras sin signicado
(stop words) (est dentro de la carpeta ltering) y hay diferentes operadores para diferentes idio-
mas. Tambin se puede proporcionar un diccionario para incluir otras palabras (como por ejemplo
nombres).
El siguiente operador en el proceso es el stemming (dentro de la carpeta stemming). El stem-
ming transforma diferentes ocurrencias de la misma palabra en la misma cadena. Existen diferentes
algoritmos de stemming (snowball, porter, lovins), algunos trabajan en diferentes idiomas, otros solo
funcionan para el idioma Ingls. Este proceso reducir el nmero de tokens y tambin identicar
todas las ocurrencias de la misma palabra en el mismo token.
El ltimo operador ltra los tokens ms cortos o ms largos que una longitud especca. A veces
palabras demasiado cortas o demasiado largas son palabras inusuales que no son interesantes para
caracterizar el texto (pensad, por ejemplo, en las variables de funciones de frmulas matemticas, o
nombres de productos qumicos o caracteres aleatorios debidos a errores en la adquisicin texto).
Un operador interesante es el que es capaz de generar n-gramas (n-grams). Un n-grama es un
grupo de n palabras que aparecen juntas. Por lo general, las palabras individuales no son sucientes
para el proceso de aprendizaje y los n-gramas puede capturar relaciones interesantes. Comnmente
el valor utilizado para n es 2. La siguiente gura es un proceso que incluye la generacin de n-gramas
con el operador Generate N-Grams (Terms) (dentro de la carpeta Transformation), los atributos
obtenidos para el conjunto de datos incluyen las palabras individuales y atributos que representan
grupos de palabras que se encuentran juntas en el texto:
6
Adicionalmente a ltrar palabras, otros atributos pueden obtenerse a partir del texto (carpeta
Extraction). Por ejemplo, la longitud de los tokens del documento, el nmero de tokens en el docu-
mento o cualquier otra informacin acerca de la estructura del documento que se pueda obtener por
string matching o expresiones regulares (especialmente til en documentos XML o HTML).
7
Captulo 3
Aprendiendo de los clsicos
3.1. El dominio
El propsito de la primera tarea es aprender a partir de fragmentos de textos extrados al azar
de libros de autores clsicos. Los autores son de diferentes pocas y los gneros de las obras tambin
son diversos.
Para casi todos los autores, los fragmentos son de libros diferentes, por lo general tres o ms. La
idea es tener diferentes documentos que representen el estilo literario del autor. Pero la hiptesis es
que no solo el estilo personal de los autores se mostrar, sino que tambin las diferentes palabras que se
utilizan en los documentos representarn, colectivamente, los diferentes gneros y otras caractersticas
interesantes.
3.2. Los objetivos
Podemos clasicar los autores desde diferentes perspectivas y vamos a experimentar si estas se
puede aprender de los documentos. Los objetivos de aprendizaje sern los siguientes:
1. El ms obvio es experimentar si es posible diferenciar un autor de otro. Cada autor tiene un
estilo diferente, incluso si escriben sobre el mismo tema o pertenecen al mismo gnero.
2. Otra clasicacin obvia es el gnero literario. Para hacer las cosas ms fciles, los autores
clasicarn en los siguientes gneros: Filosofa, Poltica, Nios, Drama, SFTerrorAventura. Una
buena suposicin es que en diferentes gneros se utilizan distintos tipos de palabras, por ejemplo
en libros de aventuras probablemente aparecern ms verbos de accin que en la losofa.
3. Tambin autores de diferentes pocas escriben de manera diferente, vamos a probar la siguiente
clasicacin: pre siglo 16, siglo 16, siglo 17, siglo 18, siglo 19 y siglo 20
4. Una clasicacin menos obvia es si los documentos estn en el idioma original del autor o son
traducciones. Todos los documentos estn en ingls, por lo que en este caso la lengua original es
el ingls. Esta clasicacin puede parecer difcil a priori, porque generalmente las traducciones
de autores clsicos son bastante buenas, pero tambin se puede argumentar que el vocabulario
utilizado en las traducciones puede ser ms limitado y tal vez eso se note en los documentos.
La tarea consiste en utilizar los diferentes algoritmos y preprocesos explicados en clase para ver
si estos objetivos se pueden aprender y con qu precisin.
8
3.3. El conjunto de datos
El archivo zip que tenis disponible tiene un conjunto de directorios con documentos de texto.
Hay un directorio Train con un subdirectorio para cada autor y dos directorios con ejemplos de test,
tambin hay dos archivos adicionales que contienen las etiquetas de clasicacin correspondientes a
los autores.
Para cada autor el directorio Train tiene 25 archivos de texto, cada uno es un fragmento de un
libro del autor. Los archivos tienen diferentes tamaos y el tamao del texto no sigue ningn patrn.
El directorio Test contiene tambin un subdirectorio para cada autor con 5 documentos para cada
uno de ellos, generalmente de un libro diferente a los documentos de entrenamiento y el directorio
New contiene los documentos de autores que no estn en el conjunto de datos.
El objetivo es aprender un modelo a partir de los documentos de entrenamiento y poner a prueba
la precisin y generalidad de los clasicadores en diferentes escenarios.
Los archivos de la carpeta Test pondrn a prueba la precisin de los clasicadores con datos
similares a los datos de entrenamiento, se puede esperar una precisin similar a los resultados de
validacin cruzada, pero no estaremos seguros de si los clasicadores se puede utilizar para ms que
la clasicacin de estos autores especcos.
Los archivos de la carpeta New sern ms difciles. Estamos probando si se han aprendido cla-
sicadores sucientemente generales como para clasicar cualquier obra de cualquier autor en el
dominio.
Para esta ltima serie de ejemplos solo se puede probar la precisin para los objetivos 2, 3 y 4,
pero tambin podemos comprobar de manera informal si los autores que se dan como etiquetas para
el primer objetivo son similares de algn modo a los verdaderos autores.
3.4. Experimentacin y aprendizaje a partir del conjunto de
datos
Las tareas de esta prctica incluyen el preprocesamiento del conjunto de datos para obtener un
conjunto de ejemplos, experimentar con los algoritmos de aprendizaje que se han explicado en clase de
teora, medir la precisin que se obtiene utilizando validacin cruzada con los datos de entrenamiento
y la aplicacin de los modelos aprendidos a los dos conjuntos de datos de prueba.
3.4.1. La lectura de los datos
Los directorios en el archivo zip estn dispuestos para aprender la tarea de autores. Con el n
de obtener los conjuntos de datos para aprender el resto de las tareas tendris que reorganizar los
archivos en un nuevo conjunto de directorios. Por ejemplo, si queris aprender el gnero tendris que
crear un directorio para cada gnero y poner los archivos correspondientes dentro de cada directorio
1
.
Por ejemplo, en la gura 3.1 est la seleccin de las clases y los archivos para el operador process
documents from les para el aprendizaje de si los documentos estn en la lengua original o traducidos.
Tened en cuenta que los archivos de Test y New tambin tienen que reordenarse para realizar las
pruebas. Notad tambin que con el n de comprobar la precisin de los clasicadores con los datos de
test se tiene que utilizar la salida del conjunto de palabras obtenida del conjunto de entrenamiento
para que tengan el mismo conjunto de atributos.
Con el n de obtener un conjunto de datos con los mismos atributos para el conjunto de entre-
namiento y de prueba se tienen que conectar los operadores para procesar los documentos tal como
se muestra en la gura 3.2.
Dentro del operador que procese el conjunto de prueba se tienen que poner los mismos operadores
de tratamiento que habis puesto para los datos de entrenamiento.
1
Para saber qu archivo va en cada directorio solo tenis que mirar en el archivo con las etiquetas de cada autor.
9
Figura 3.1: Seleccin de cheros para la tarea de lengua original
Train Dataset
Test Dataset
Word Attributes
Figura 3.2: Conexin entre operadores de proceso de texto
3.4.2. Preprocesamiento
Hay diferentes preprocesamientos que se pueden hacer al conjunto de datos, pero el objetivo
principal del preproceso ser reducir el nmero de atributos. En el aprendizaje a partir de textos,
uno de los principales problemas es que el nmero de atributos es mayor que el nmero de ejemplos.
Esto puede ser problemtico para algunos algoritmos de aprendizaje.
En este caso el conjunto de datos tiene ms de mil ejemplos, el nmero de atributos, dependiendo
del preproceso, puede variar desde varias decenas de miles de atributos a algunos cientos o incluso
unas decenas de atributos.
El primer conjunto de pasos de preprocesamiento se puede realizar utilizando el operador Process
documents from les. Este operador tiene que tokenizar y esto es lo mnimo que se tiene que hacer.
Solo haciendo esto, el nmero de atributos es cerca de cuarenta mil. Si se incluyen 2-gramas el nmero
de atributos aumenta a cientos de miles y es obviamente inviable para procesar el conjunto de datos
en tiempo razonable.
Como se explic en el captulo anterior, los tokens se pueden reducir mediante la eliminacin de
stop words, stemming y eliminar tokens ms cortos o ms largos que un tamao especco. Hacer
esto reduce el nmero de atributos en casi la mitad, pero incluso con esta reduccin generar 2-gramas
10
no es factible.
Esto signica que las opciones de poda del operador deben utilizarse para reducir ms el nmero
de atributos. Pensad en la seleccin de los lmites de los atributos de poda. Pensad tambin que la
generacin de 2-gramas aumenta mucho el nmero total de atributos.
?
Podes pensar en cules son los efectos de esta poda y qu se gana o pierde haciendo esto.
Por ejemplo, ltrar palabras que aparecen solo en unos pocos documentos puede eliminar pa-
labras especcas, como el nombre de los personajes, pero tambin puede eliminar las palabras
que conguran el estilo personal del autor. Las palabras que aparecen en muchos documentos
probablemente darn clasicadores ms generales porque son palabras que ms probablemente
aparecern en los nuevos documentos. Objetivos diferentes tambin probablemente necesitarn
ms o menos atributos para aprenderlos y diferente nmero de atributos generales y especcos.
La ltima cosa que tendris que decidir para este operador es la informacin que se debe utilizar
como valores de atributo.
?
Los diferentes valores que pueden ser asignados a cada atributo puede dar lugar a diferentes pre-
cisiones para la tarea de aprendizaje. Probablemente tendris que probar lo que sucede con cada
uno. Tambin tendris que pensar en cmo cada algoritmo de aprendizaje procesa los diferentes
tipos de atributos. Algunos algoritmos aumentan su complejidad temporal si los atributos son,
por ejemplo, continuos.
Estos pasos de preprocesamiento reducirn el nmero de atributos sin tener en cuenta el objetivo
de aprendizaje. Algoritmos de seleccin de atributos se pueden utilizar para reducir ms el tama-
o del conjunto de datos. Podis experimentar con algunos de los algoritmos de lter y wrapper
implementados en RapidMiner.
?
Tendris que pensar en los problemas de complejidad temporal de este tipo de algoritmos.
Obviamente los mtodos de ltro son menos costosos, pero la forma en la que la funcin de
ranking es calculada es importante. Para estos algoritmos se tendr tambin que decidir cuntos
atributos quedarse.
Tomar mucho tiempo procesar miles de atributos mediante una wrapper, esto signica que si
se quiere utilizar, se tendr que reducir el nmero de atributos antes de aplicarlo. Es suciente
para eliminar atributos con la poda de Process documents from les? Puede un ltro de ser un
paso previo a un wapper? Es necesario evaluar una gran cantidad de subconjuntos de atributos
para reducir el nmero de atributos?
Tambin tendris que tener cuidado con el algoritmo de aprendizaje que se utiliza en el wrapper.
Qu algoritmo ser ms eciente?
Los diferentes preprocesados que habis realizado os permitirn tener bases de datos de muy
diferentes tamaos
?
Por lo general, cuantos ms datos, mejores son los resultados. Pero en este caso, probablemente
muchos de los atributos no son ms que ruido, irrelevantes o redundantes. Es esto as? Necesi-
taris experimentar el impacto del nmero de atributos en el rendimiento nal del clasicadores
que aprenderis.
Tambin se pueden realizar otros preprocesos, por ejemplo, si los atributos que se est utilizando
son continuos. Podis pensar un poco ms acerca de cmo es su distribucin estadstica.
11
?
Comprobad si los atributos cubren realmente todo el rango posible de valores. Tal vez una
discretizacin de los atributos puede tener un buen impacto en el proceso de aprendizaje. Podis
experimentar con los operadores de discretizacin de RapidMiner y ver qu pasa.
Despus de todo este preprocesamiento podis guardar algunos conjuntos de datos para el proceso
de aprendizaje utilizando el operador de guardar datos en un repositorio que encontraris en la
carpeta Repository Access. Recordad que con el n de evaluar los datos de prueba hay que entrenar
y preprocesar estos datos al mismo tiempo para que tengan los mismos atributos.
3.4.3. Aprendiendo y evaluando
Habis generado diferentes conjuntos de datos que creis se puede utilizar para aprender las
diferentes tareas y ahora tenis que comprobar si los diferentes algoritmos que conocis de clase de
teora son capaces de generar buenos modelos. Especcamente se deben probar por lo menos:
Random Forest (utilizad la implementacin de la carpeta weka W-randomForest)
K nearest neighbours
Nave Bayes
Mquinas de soporte vectorial (SVM) (usad el operador Support Vector Machine (LibSVM)
que est dentro de la carpeta Support Vector Modeling)
?
Algunos algoritmos tienen algunos parmetros para ajustar, otros no tienen ninguno. Tenis que
pensar sobre el signicado de los parmetros y decidir qu valores de los parmetros pueden
ser adecuados para este escenario. Para algunos parmetros ser muy evidente a partir de las
caractersticas de los datos (cual es el nmero mximo de vecinos que se pueden utilizar en
K-nn para la tarea de los autores?). Tendris que experimentar para probar el efecto de vuestras
suposiciones y para ajustar los parmetros menos obvios.
Tened cuidado porque algunos valores harn que el experimento tarde mucho en obtener el
resultado. Es el muestreo una buena idea? Pueden los resultados obtenidos con el muestreo
extrapolarse al conjunto de datos?
Alguna de las cosas que es interesantes conocer de este dominio especco son:
Por lo general, Nave Bayes es utilizado en el ltrado de spam, que es una tarea similar,
pero la estimacin de probabilidades con muy pocos ejemplos es difcil (por ejemplo para
la tarea del autor)
Las funciones de distancia, que por lo general, funcionan bien para la clasicacin de texto
son la distancia del coseno y la similitud de Jaccard, esto signica que probablemente estas
distancias tendrn mejor rendimiento para los k-vecinos ms cercanos que otras, como la
distancia euclidea (es as?)
Los rboles de decisin utilizados para random forest no tiene que ser muy buenos para
que la combinacin de buenos resultados
El objetivo es medir la precisin que se puede lograr en las diferentes tareas de aprendizaje
utilizando diferentes algoritmos y diferentes escenarios (ms o menos pre-procesamiento, seleccin de
atributos, discretizacin).
12
Figura 3.3: Procesando el conjunto de entrenamiento y test
Deberis medir la precisin utilizando 10-fold cross validation con el conjunto de datos para
ajustar los parmetros que funcionan mejor para cada algoritmo. Si el tiempo necesario para reali-
zar los experiments es grande, se puede hacer un muestreo del conjunto de datos para realizar los
experimentos que ayudan a decidir los mejores parmetros. Incluid esta informacin en el informe.
Tambin tenis que medir la precisin de los clasicadores nales para los dos conjuntos de prueba.
Realizar la validacin cruzada es sencillo, solo se tiene que utilizar el operador de proceso de
validacin cruzada de la carpeta de evaluacin y elegir el algoritmo para para evaluar su precisin.
Se puede incluir la evaluacin de los conjuntos de prueba en el mismo proceso o guardar el modelo
y realizar la prueba por separado.
Por ejemplo, si trabajis con el conjunto de entrenamiento y prueba al mismo tiempo se puede
utilizar un proceso como en la gura 3.3.
No esperis una precisin asombrosa, hay que considerar que el conjunto de datos ha sido cons-
truido a partir de trozos aleatorios de texto, pero probablemente os sorprenderis en algunas tareas.
Pensad tambin que cualquier resultado que no sea mejor que predecir la clase mayoritaria o
predecir al azar es un mal resultado. Es posible que algunos algoritmos no obtengan un resultado
mejor que eso, pero tenis que probar una variedad suciente de parmetros para tener la conanza de
que un algoritmo no puede aprender el objetivo del problema. Esto signica que en los experimentos
no es suciente con probar un par de cosas para un algoritmo y si no funciona pasar al algoritmo
siguiente. Tenis por lo menos que tratar de explicar por qu el algoritmo no funciona bien.
3.5. Reportando vuestro trabajo
El problema tiene cuatro tareas diferentes de aprendizaje, hay que realizar experimentos para cada
una. Al ser las cuatro diferentes, probablemente tendris que hacer cosas diferentes para obtener un
buen rendimiento.
13
Tenis que escribir un informe que explique todo el trabajo de experimentacin que se ha hecho
en detalle, poniendo especial nfasis en las preguntas que aparecen en las diferentes secciones de
este documento. Tambin tenis que describir los procesos de RapidMiner que habis utilizado en
vuestros experimentos.
No dejis ninguna decisin o explicacin fuera del informe, y no dudis en incluir todas vuestras
ideas o comentarios acerca de los resultados que habis obtenido.
Las preguntas adicionales que tendris que responder son las siguientes:
1. Son algunas de las tareas ms difciles de aprender que otras? Cules creis que son las
razones?
2. Qu tareas necesitan ms atributos para obtener un mejor rendimiento? Son estas las ms
difciles?
3. Qu algoritmo tiene un mejor rendimiento? Cules creis que son las razones?
4. Est la precisin de la validacin cruzada relacionada con la precisin de los ejemplos de prueba?
Si no lo est, intenta explicar las razones.
5. Mirad las predicciones de autores de los ejemplos de nuevos autores. Son realmente autores
similares?
3.6. Para sacar mejor nota en la prctica
Para hacer las cosas ms interesantes, y tambin para que no dejis las cosas para el ltimo
momento, habr la posibilidad de competir para ganar puntos extra en la nota de la prctica.
Es habitual en la comunidad de aprendizaje automtico hacer competiciones para resolver un
problema especco utilizando las tcnicas ms avanzadas en los diferentes algoritmos de aprendizaje.
Podis visitar por ejemplo la web http://www.kaggle.com/, http://www.crowdanalytix.com o las
competiciones del congreso KDD (Knowledge Discovery in Databases), la KDD Cup.
Los premios consistirn en 1 o 0.5 puntos extra sobre la nota de la prctica para los grupos que
consigan la mayor precisin sobre los datos de test para los cuatro algoritmos en las tareas de este
primer conjunto de datos.
Como hay cuatro tareas, hay cuatro posibilidades de ganar (se puede llegar a tener un 14 de nota
de prcticas). Para determinar el ganador para una tarea, se sumar la precisin obtenida para los
cuatro algoritmo en esa tarea.
Los puntos extra se asignarn de la manera siguiente: un punto al mejor resultado y medio punto
al segundo.
La competicin tiene dos fechas limite:
Desde el 11 de diciembre y hasta el 13 de diciembre antes de las 12:00 se deber mandar
un correo a bejar@lsi.upc.edu indicando el porcentaje de acierto para el conjunto de test
para cada algoritmo en las cuatro tareas (o un subconjunto de ellas) y una breve explicacin
del mtodo utilizado para obtenerlo. El ranking de resultados se publicar el mismo da, pero
obviamente sin desvelar como lo ha conseguido cada grupo.
El 20 de diciembre antes de las 12:00, los grupos que lo deseen podrn enviar un segundo
resultado tambin por correo, explicando tambin lo que han cambiado.
En caso de empate los que enven los resultados antes sern los que se lleven el premio.
Obviamente, el resultado que presentis ha de ser demostrable, por lo que a los ganadores se
les pedir que enven un proceso de rapidminer que permita reproducir los resultados. Los que no
puedan hacerlo quedarn descalicados y el premio pasar al siguiente grupo en el ranking.
Sobra decir que el compartir vuestros progresos con otros grupos no es una buena idea.
14
Captulo 4
Redes Neuronales vs boles de decisin
4.1. La seleccin del conjunto de datos
Para trabajar con los modelos de redes neuronales y rboles de decisin vamos a utilizar un con-
junto de datos ms pequeo de manera que se pueda observar ms ecientemente el efecto de sus
parmetros. Tenis los datos disponibles en un chero .zip que contiene un repositorio de RapidMi-
ner.
Hay cuatro conjuntos de datos de los cuales tenis que trabajar solamente con uno de ellos. El
criterio de asignacin del conjunto de datos es el siguiente:
1. Si el DNI de ambos miembros del grupo acaba en cifra par debis trabajar con el primer
conjunto de datos
2. Si el DNI de ambos miembros del grupo acaba en cifra impar debis trabajar con el segundo
conjunto de datos
3. Si el DNI de los miembros del grupo acaba en cifra par para uno e impar para otro, si el
componente con apellido en primer lugar en orden alfabtico tiene la cifra par debis trabajar
con el tercer conjunto de datos
4. En otro caso debis trabajar con el cuarto conjunto de datos
4.2. Los conjuntos de datos
Los conjuntos de datos con los que tenis que trabajar son de pequeo tamao y todos corres-
ponden a un problema de clasicacin binaria.
Podis encontrar en la pagina web de laboratorio los datos en un chero que contiene un repositorio
de Rapidminer para esta parte de la prctica.
4.2.1. Primer conjunto: Ionosphere
Este conjunto de datos esta compuesto por mediciones de radar de la ionosfera. El objetivo es
distinguir entre mediciones en las que se encuentra una estructura en la seal y en las que no hay
ninguna estructura. Podis encontrar ms detalles sobre el problema en
http://archive.ics.uci.edu/ml/datasets/Ionosphere.
El conjunto de datos esta compuesto por 34 atributos continuos y 351 instancias, sin valores
perdidos
15
4.2.2. Segundo conjunto: Parkinsons
Este conjunto de datos est compuesto por mediciones en grabaciones de voz a pacientes. El objeti-
vo es distinguir pacientes que tienen la enfermedad de Parkinson de pacientes sanos. Podis encontrar
ms detalles sobre el problema en http://archive.ics.uci.edu/ml/datasets/Parkinsons
El conjunto de datos esta compuesto por 23 atributos continuos y 197 instancias, sin valores
perdidos
4.2.3. Tercer conjunto: SPECTF
Este conjunto de datos est compuesto por mediciones obtenidas mediante Single Proton Emission
Computed Tomography (SPECT) del corazn de un conjunto de pacientes. El objetivo es distinguir
pacientes que presentan anormalidades de los que no. Podis encontrar ms detalles sobre el problema
en http://archive.ics.uci.edu/ml/datasets/SPECTF+Heart
El conjunto de datos esta compuesto por 44 atributos continuos y 267 instancias, sin valores
perdidos
4.2.4. Cuarto conjunto: Sonar
Este conjunto de datos est compuesto por mediciones obtenidas mediante sonar en diferentes
condiciones sobre un cilindro metlico y un cilindro de piedra con diferentes composiciones y en
diferentes ngulos. El objetivo es distinguir las mediciones sobre metal de las mediciones sobre roca
Podis encontrar ms detalles sobre el problema en
http://archive.ics.uci.edu/ml/datasets/Connectionist+Bench+(Sonar,+Mines+vs.+Rocks)
El conjunto de datos esta compuesto por 60 atributos continuos y 208 instancias, sin valores
perdidos
4.3. Experimentos con los datos
El objetivo es experimentar con los algoritmos de perceptrn multicapa, redes RBF, rboles de
decisin, boosting y bagging que tenis en RapidMiner. Deberis hacer un informe sobre como afectan
los diferentes parmetros de los algoritmos a la precisin y al tiempo de obtencin del modelo. Para
ello deberis generar diferentes grcas que muestren la evolucin de estas medidas.
Respecto a la precisin, deberis calcular la que se obtiene con una parte de los datos para el
entrenamiento y dejar otra parte del conjunto de datos para la validacin nal. Tenis un proceso de
RapidMiner en el repositorio de los datos que ya hace ese proceso para unos parmetros especcos
de un algoritmo. Podis completar el proceso utilizando los operadores de bucle de RapidMiner de
manera que se explore el rango de valores de los parmetros.
Despus de estos experimentos deberis decidir qu modelo es el que funciona mejor para los
datos.
4.3.1. Perceptrn Multicapa
El operador que debis utilizar para este algoritmo es Neural Net que est en la carpeta Neural
Net Training.
Respecto a la topologa de la red, con este operador podis experimentar con el nmero de
neuronas que hay en la capa oculta. Podis dejar el valor por defecto ([nmero de attributos +
nmero de clases]/2 +1) y experimentr con un nmero mayor y menor para ver como afecta al
aprendizaje. Podis probar tambin a poner ms de una capa.
16
Respecto a los parmetros del algoritmo de entrenamiento podis trabajar con el nmero de
ciclos de entrenamiento, la tasa de aprendizaje, si la tasa de aprendizaje va decayendo (decay) y el
momento.
4.3.2. Redes RBF
El operador que debis utilizar para este algoritmo es W-RBFNetwork que est dentro de la
carpeta Functions en la carpeta de Weka.
Podis trabajar con el parmetro B que indica el nmero de clusters que se obtienen para generar
la red RBF, el parmetro R que es la ponderacin usada por la regularizacin de la regresin que se
calcula para realizar la clasicacin y con el parmetro W, que controla la desviacin estndar mnima
de los atributos en los clusters.
4.3.3. rboles de decisin/Boosting/Bagging
El operador que debis utilizar para este algoritmo es W-J48 que est en la carpeta Trees de Weka.
Para boosting y bagging podis utilizar los operadores que hay en la carpeta Meta Modeling usando
como algoritmo base un rbol de decisin. Pensad que para que el bagging y el boosting funcionen
no hace falta que el algoritmo base tenga la mejor precisin.
Con los rboles podis experimentar con el parmetro que controla el prunning, para el boosting
podis experimentar con el nmero de iteraciones y los parmetros del rbol de decisin, para el
bagging podis experimentar con las iteraciones, el tamao de muestra a utilizar para generar el
rbol y los parmetros de rbol.
Tened en cuenta que los parmetros que obtienen los mejores resultados para un solo rbol de
decisin no tienen por que funcionar bien con boosting y bagging.
17
Ap endice A
RapidMiner
A.1. Qu es RapidMiner?
RapidMiner es un entorno de cdigo abierto para aprendizaje automtico y minera de datos. Se
pueden hacer con RapidMiner todos los procesos que intervienen en un proyecto: la adquisicin de
datos, la transformacin de los datos, la seleccin de datos, la seleccin de atributos, la transformacin
del los atributos, el aprendizaje/modelizacin y la validacin.
RapidMiner tiene tambin disponibles algunos plug-ins desarrollados por la comunidad para el
procesamiento de diferentes tipos de datos como datos temporales, procesamiento de texto o la
minera de la web.
A.2. De donde se puede descargar RapidMiner?
RapidMiner se puede descargar desde la pgina web de Rapid-I (http://rapid-i.com/). Se
puede descargar la versin para Windows (si vais a trabajar con windows, uf!) o la versin para
otros sistemas, que se puede instalar en cualquier sistema operativo que tenga instalado Java. Para
descargar el software no es necesario registrarse.
Tambin se puede descargar directamente RapidMiner desde Source Forge, el enlace es:
http://sourceforge.net/projects/rapidminer/
Los plug-ins se pueden descargar una vez que se ha instalado RapidMiner utilizando la actuali-
zacin automtica.
A.3. Dnde puedo encontrar ms informacin sobre Ra-
pidMiner?
Hay mucha informacin en la pgina web de Rapid-I. Encontraris un pequeo manual y varios
videos sobre cmo utilizar los operadores bsicos de RapidMiner. Se encuentran tambin algunos
videos y enlaces a otros sitios con ms videos especializados.
A.4. Cmo puedo aumentar la cantidad de memoria que
utiliza RapidMiner?
Por defecto RapidMiner usa una cantidad de memoria que puede ser pequea para algunos experi-
mentos. Se puede aumentar la cantidad de memoria utilizado la variable de entorno MAX_JAVA_MEMORY
deniendo el valor que se necesite.
18
Tambin puede modicarse este valor dentro de los scripts que ejecutan RapidMiner. Podis
encontrar estos archivos en el directorio scripts dentro del directorio de instalacin. Los archivos
que hay que modicar son los llamados RapidMinerGUI, hay uno para Unix y otro para Windows.
Solo se tiene que denir el valor de la variable MAX_JAVA_MEMORY que se encuentra dentro del archivo.
19

You might also like