Vous êtes sur la page 1sur 4

Algoritmos de Agrupamiento

Fundamentos de Inteligencia Computacional


Eduardo Guzmn H.
Departamento Ingeniera Electrnica, Universidad de Antioquia
Medelln - Antioquia - Colombia
eduarguzher@gmail.com

AbstractEn este documento se muestra el proceso aplicado y


resultados encontrados en la solucin de un problema de
inteligencia computacional descrito para ser resuelto por mtodos
de agrupamiento, el mtodo es aplicado a un problema de
deteccin de enfermedades a partir del reconocimiento de
caractersticas digitales (datos) en la voz de un paciente. Para su
solucin se implement etapas de entrenamiento y prueba usando
herramientas y algoritmos al alcance del curso.
KeywordsCluster,Clustering: algoritmos de agrupacion,
Training: Entrenamiento, Testing,Test: Pruebas, lamda: Learning
Algorithm for Multivaritive Data Analysis.

I. INTRODUCCION
Los algoritmos de agrupamiento o en ingles clustering son
procedimientos de agrupacin de una serie de datos de acuerdo
con un criterio [1]. Durante el estudio de algunas de estas
tcnicas de agrupacin se encontraron criterios como la distancia
o similitud. Estos criterios tienen ecuaciones que permiten
ajustar los datos a la necesidad del usuario, as durante el estudio
de estos, se puede reconocer algunos algoritmos como: Kmeans, C-means, GK-means, FC-means y lamda, entre otros. La
informacin de inters para estos algoritmos se pretende agrupar
en un nmero de grupos (Clusters) que satisfagan las
necesidades del usuario y permitan entregar informacin a partir
de los datos entregados al sistema. Durante el desarrollo de este
informe se muestran la tcnica usada para resolver el problema
propuesto, con dicho algoritmo se realiz etapas de Training y
Testing. El problema fue propuesto y resuelto en su anterioridad
por el profesor Rafael Orozco de la Facultad de Ingeniera de la
Universidad de Antioquia. En este momento se aplicarn
tcnicas bsicas para tratar de resolver el problema.
II. DESARROLLO DE LA PRACTICA
A. Problema 1.

Descripcion del problema 1.

La enfermedad de Parkinson, especialmente en sus etapas


tempranas, es difcil de diagnosticar. Una de las alteraciones que
producen, debido a esta enfermedad, son cambios en la voz.
El trabajo del profesor Rafael Orozco fue identificar cules
de las caractersticas de la voz podran ser claves para
diagnosticar la enfermedad a partir de un anlisis
computacional. Para este problema se realiz un estudio y se
quiere implementar algoritmos de agrupamiento que resuelvan
la cuestin.

El objetivo de aplicar algoritmos de agrupamiento es


identificar inicialmente si el paciente sufre de la enfermedad o
no, a partir de unas caractersticas extradas de la grabacin de
su voz.

Analisis y solucion problema 1.

Recopilando la informacin obtenida por el experto, se


complet una base de datos con:
100 Pacientes
50 Pacientes enfermos y 50 pacientes sanos.
148 Descriptores (caractersticas) de la voz de cada
paciente.
Preprocesamiento:
Basado en la experiencia (ensayo y error) se encontr que usar
148 descriptores es una aproximacin poco eficiente para
introducir datos al sistema de entrenamiento. Por este motivo se
inici con una preseleccin de descriptores:
El algoritmo basado en Matlab permita un escaneo de todos los
descriptores del sistema, usando por separado datos antes
clasificados como enfermos y sanos y encontrar en un
mismo descriptor, las caractersticas que ms diferenciaban el
set de datos. De esta forma se logr obtener 11 (once)
descriptores.
Durante el procedimiento descrito anteriormente cada
descriptor de la base de datos normalizado respecto a sus
propios valores. Ahora todos los sets de datos estn en el rango
continuo [0 1]
De los 100 individuos se escogi 80 (%) para entrenamiento y
20 (%) para hacer un test. As se dividi la base de datos
Paciente
P1

P40

P50
P51

P90

P100

Descriptores

Tabla 1: Distribucin Para train-test

Algoritmo de agrupacion Lamda (Learning


algorithm for multivariative data analysis)

Se implementa el algoritmo de aprendizaje lamda usando


Matlab para su prueba y P3S para hacer un entrenamiento del
sistema:
[2] En general, los mtodos de clasificacin tienen como
objetivo automatizar la categorizacin de un elemento a las
clases disponibles o hasta crear una nueva basado en que cada
elemento es representado como un vector de k descriptores.
Lamda se basa en el concepto de adecuacin, que busca
encontrar el nivel de adecuacin de un individuo a cada una de
las clases disponibles.
La contribucin de cada descriptor a una clase es hallada como
a MAD (Margial Adequacy Degree), para descriptores
numricos como en nuestro ejercicio se utiliz:

Luego se calcula la contribucin global GAD (Global adequacy


degree) que utiliza una T-norma y una T-conorma, en este caso
se utiliz:

Donde,

Con estos valores el algoritmo puede calcular el aporte que hace


cada elemento a la clase y clasificarlo en alguna de las clases
establecidas e incluso dejarlo como un elemento sin clasificar.
Retomando el problema Entrenamiento
Ahora que se ha descrito los valores bsicos que establecen el
algoritmo a utilizar, se puede mencionar el software P3S
(Process Sensor Selection & Situation assessment) [3], que
provee una interfaz grfica muy amigable y flexible a los datos
que ya se han recopilado.
Gracias al software se tiene para los datos de entrenamiento:

Ilustracin 1: vista del set de datos


En la ilustracin 1 se grafic los 80 datos con el valor de sus
respectivos descriptores, la grfica no aporta alguna ayuda a la
solucin del problema pues los datos se encuentran bastante
confusos a simple vista aun cuando solo tienen 11 descriptores.
Ajustando algunos parmetros en el software, este permite
generar los MAD para cada clase, as los parmetros que
reproducen el mejor resultado son:

-Funcin de presencia: lamda 1


-Conectividades: MinMax
-Exigencia: 0.8
-Modo de clasificacin: Reconocimiento.
El resultado de este set de instrucciones y parmetros fue:

Ilustracin 2: agrupamiento por individuos


La prueba mostrada en la ilustracin 2 demuestra el xito del
software, se obtiene un resultado muy aproximado a lo deseado,
pues los casi todos los datos han sido clasificados como
pertenecientes a la clase correspondiente. En nmeros tenemos:
-clases asignadas: 80
-clases asignadas exitosamente: 70
-clases asignadas errneamente: 10
-porcentaje de error: 12.5 %
Con el xito del entrenamiento, se puede ahora exportar los
medios calculados por el software, esto gener una matriz de
[3x11] donde cada fila corresponde a las clases creadas
incluyendo una clase para datos sin clasificar, y cada columna
corresponde a los descriptores de dicha clase.
Pruebas.
Ahora que se tiene un buen error de entrenamiento se procede
a probar con datos sin proveer su clasificacin, esta parte del
procedimiento se desarroll en Matlab con una funcin
diseada para simplificar el cdigo.
El corazn de la funcin est en hallar el GAD correspondiente
a cada dato.

Ilustracin 3: Algoritmo de pruebas

Luego de tener en cada dato el resultado, se puede saber si este


pertenece al perfil dado para la clase 1 o 2 y as calcular el error
dado por cada prueba.
A motivo de verificacin se volvi a hacer una prueba con los
datos del entrenamiento y una prueba con los datos de test, los
resultados son alentadores:

La ilustracin 5 muestra las grficas que obtiene P3S para cada


individuo evaluando la pertenencia del mismo a cada clase, as
se puede notar una gran distincin entre la primera y segunda
mitad de datos, esto indica que hay una buena divisin entre
datos de personas enfermas y sanas (como se dijo en el
problema1).
Ahora se pretende hacer uso de los datos de la funcin GAD
dada y darles un nivel de enfermedad establecido gracias a los
datos que provee problema.
En la grfica se puede ver que aun cuando la GAD clasifica
como sano, se le da un nivel de pertenencia, entonces sin
intencin de modificar la GAD se puede crear una funcin tal
que en esos casos no d un nivel de pertenencia es decir que de
un nivel 0.

Ilustracin 4: Resultados
Se refuta que el error de entrenamiento esta alrededor del 13%
y adems se alienta el agrupamiento con un error del 10% en
los datos de prueba.
B. Problema 2.
Descripcin del problema:
En los datos suministrados, para las personas enfermas, existe
un nivel cuantitativo que da referencia del nivel de enfermedad
de la persona, ese nivel est dado en rango de la escala UPDRS
(escala unificada de enfermedad Parkinson).
Se debe disear un clasificador que permita dar ese valor
cuantitativo para las personas enfermas y 0 para las personas no
enfermas.

Ilustracin 6: Funcin de pertenencia


Ahora se pretende asignar de manera entrenada el nivel
correspondiente de enfermedad a cada valor despus del
individuo 40.
As se tiene:

Solucin del problema:


Como en el mtodo utilizado para el problema 1 se hizo uso del
software P3S, este software tambin tiene una funcin que
permite ver el valor de pertenencia que tiene cada dato a la
clase. Para nuestro inters la clase 2 corresponde a las personas
enfermas, evaluando los valores:

Ilustracin 7: Nivel de enfermedad por individuo


Como las funciones no se relacionan entre ellas se decide hacer
uso del software para hacer un aprendizaje no supervisado

Ilustracin 5: Funcin de pertenencia clases

Ilustracin 8: Aprendizaje no supervisado

La ilustracin 8 muestra muchas clases, pero una Buena


aproximacin a nuestros datos cuando los graficamos teniendo
en cuenta que fueron ordenados antes de ser ingresados al
programa.
As, sacando el valor de los centros tenemos:
33 clases
Estas 33 clases van a tener una equivalencia con los valores en
la escala dada que van desde [6 75]
As la clase ms pequea 1 corresponde a un valor de 6, y la
ms alta, la 33, tiene un valor de 75.

III. RESULTADOS-CONCLUCIONES
La capacidad de los algoritmos de agrupamiento se extienda
a lo largo de la flexibilidad que tengan los datos, determinar
datos cualitativos y cuantitativos puede ser clave a la hora de
escoger un mtodo de clasificacin.
Cada mtodo tiene ventajas sobre otros, lo ms comn es ver
mtodos basados en la distancia, pero la distancia tiene muchas
formas de calcularse, de ah se parte para diferenciar un mtodo
de otro.
El pre procesamiento vuelve a ser clave en la resolucin de
problemas, pasar de 148 a 11 descriptores fue de mucha ayuda,
mejor la respuesta del clasificador en ambas etapas.
En el experimento con un clasificador de dos clases mostr
los mejores resultados, errores de casi el 10% permiten
determinar al clasificador como uno de buena calidad.

REFERENCIAS
Ilustracin 9: Errores entrenamiento y prueba
Los resultados no son muy alentadores con respecto a las
pruebas, las aproximaciones no resultaron eficientes.

[1]
[2]

[3]

Algoritmo
de
Agrupamiento:
https://es.wikipedia.org/wiki/Algoritmo_de_agrupamiento Wikipedia.
Application LAMDA Algorithm for Fault Detection and Isolation, Vaclav
Krivanek University of Defence, Brno, Czech Republic, e-mail:
vaclav.krivanek@unob.cz.
Software : Process Sensor Selection & Situation assessment Users
Manual Guide

Vous aimerez peut-être aussi