Una aplicación de la Teoría de Grafos al problema de la detección

Anuncio
Una aplicación de la Teoría de Grafos al problema de la
detección de outliers usando el Modelo de Conjuntos
Aproximados de Precisión Variable (VPRSM)
Alberto Fernández Oliva1, Miguel Abreu Ortega1, Armando Rodríguez Fonte1,
Francisco Maciá Pérez2
1
Departamento de Ciencia de la Computación, Facultad de Matemática y Computación,
Universidad de la Habana, Cuba
afdez@matcom.uh.cu, miguel87@matcom.uh.cu, mandy271088@yahoo.es
2
Departamento de Tecnología Informática y Computación, Universidad de Alicante, España
pmacia@dtic.ua.es
Resumen. Desde la década de los 80 se vienen reportando resultados de la
aplicación de la Teoría de Conjuntos Aproximados (Rough Sets-RS) al campo
de los procesos de búsqueda de información en grandes volúmenes de datos
(KDD). En los últimos años, se ha comenzado a considerar la detección de
outliers como un proceso de KDD con interés en sí mismo. Sin embargo, la
combinación de Rough Sets como fundamento para la caracterización y
detección de outliers es un punto de vista absolutamente nuevo pero, aun así, ya
se identifican algoritmos computacionalmente eficientes para la detección de
outliers basados en el Modelo de Conjuntos Aproximados de Precisión Variable
(VPRSM). Tal es el caso de los algoritmos RSBM y VPRSM. Un análisis del
marco teórico en el cual se basan estos algoritmos hace suponer que los tiempos
de ejecución de los mismos pueden ser mejorados si se optimizan resultados
relevantes dentro de su concepción. La solución del subproblema referido a la
determinación de las relaciones de inclusión entre fronteras internas es el
problema más costoso, computacionalmente, en las soluciones antes
mencionadas. Teniendo en cuenta que los Grafos constituyen una de las
estructuras computacionales de representación más poderosas, en el presente
trabajo se presentan algunos resultados que utilizan la Teoría de Grafos para
optimizar el problema antes mencionado y con ello, obtener mejoras en los
tiempos de ejecución de los algoritmos RSBM y VPRSM.
1. Introducción
En un proceso de minería de datos (Data Mining —DM) se entiende por casos
excepcionales —outliers— los objetos que muestran un comportamiento anormal en
relación al contexto donde se encuentran o que tienen valores inesperados en algunos
de los parámetros considerados. Por la importancia que ello reviste en los procesos de
búsqueda de información en grandes volúmenes de datos (KDD) [1], los
34
A. Fernández et al.
investigadores, en los últimos años, han prestado especial atención al desarrollo de
técnicas de detección eficientes. Si, en general, tales procesos se enfocan en el sentido
de descubrir patrones de comportamiento representativos —alta fiabilidad y soporte—
la detección de outliers aprovecha justamente la elevada marginalidad de estos
objetos para detectarlos midiendo su grado de desviación respecto a dichos patrones y
a partir de ello deducir conocimiento relevante.
Por otra parte, la Teoría de Conjuntos Aproximados —Rough Sets— [2] [3] juega
un papel importante cuando se desea hacer razonamiento a partir de datos imprecisos
o, siendo más exactos, cuando se desea establecer relaciones entre los datos. Su
enfoque se basa en la capacidad de clasificar datos que han sido obtenidos por
diversas vías. De igual manera, su aplicación ha resultado efectiva en la solución de
múltiples problemas de la vida real [4] [5] [6].
Si bien la aplicación de la Teoría de Rough Sets al campo de los procesos KDD
viene realizándose desde su formulación por Z. Pawlak en la década de los 80 del
pasado siglo, en los últimos años se ha comenzado a considerar la detección de
outliers como un proceso de KDD con interés en sí mismo. La combinación de ambos
enfoques (Rough Sets como fundamento para la caracterización y detección de
outliers), es un punto de vista absolutamente nuevo, con un gran potencial de interés
teórico y aplicabilidad práctica.
Una generalización del modelo básico de Rough Sets es el modelo de conjuntos
aproximados de precisión variable (Variable Precision Rough Sets Model VPRSM)
[7] [8] [9]. En este modelo, a partir de una nueva concepción de la inclusión de
conjuntos, la inclusión de conjuntos mayoritaria se permite manejar unos umbrales
definidos por el usuario y a partir de ello resuelve el problema del determinismo en la
clasificación que presenta el modelo básico.
En [10] se establece de un marco teórico general que permitió proporcionar un
método de detección de outliers, computacionalmente viable y no determinista,
basado en el Modelo de Conjuntos Aproximados de Precisión Variable (VPRSM). El
algoritmo VPRSM es la expresión computacional del método propuesto. Dicho
algoritmo da solución al siguiente problema:
«A partir de un umbral de excepcionalidad establecido () y un determinado error
de clasificación permitido (), extraer un conjunto de outliers a partir de un universo
de datos dado.»
En este artículo, basándonos en los resultados antes mencionados, se propone el
uso de la Teoría de Grafos para optimizar dichos algoritmos en lo que respecta a los
tiempos de ejecución de los mismos.
2. Antecedentes
Entre los elementos esenciales de la Teoría de Rough Sets (RS) pueden señalarse los
siguientes:
Sean U= el universo (finito) y RUXU, una relación de equivalencia definida
sobre U. Sea XU un concepto. Se definen dos aproximaciones que caracterizan a X:
Aproximación superior: r̅ X ∪ Y ∈ U/r: Y ∩ X ∅ la unión de todas las
clases de equivalencia inducidas por r en U cuya intersección con X es no vacía.
Una aplicación de la Teoría de Grafos a la detección de outliers
35
Aproximación inferior: r X ∪ Y ∈ U/r:Y ⊆ X la unión de todas las clases
de equivalencia inducidas por r en U que están contenidas en X.
La propia teoría de RS, define el concepto de frontera de la siguiente forma:
Frontera: BN X
r X
r X
Como elemento relevante en la extensión del marco teórico general de la Teoría de
RS propuesto, en [11] [12] se presenta el concepto de frontera interna: sea R
relaciones de equivalencia definidas sobre el universo U. La
r ,r ,…,r ,
frontera interna de X con respecto ar , se define de la siguiente manera:
BN X ∩ X X r X .
B X
En la definición de outliers presentada en [10] el concepto de frontera interna
toma especial relevancia pues, precisamente, de los elementos que componen dichas
regiones, saldrán los posibles outliers.
La ampliación del marco formal general de la Teoría de Rough Sets a la cual
hemos hecho referencia no es más que un conjunto de resultados teóricos (Lemas y
Proposiciones ) que constituyen el fundamento matemático para la propuesta de los
métodos de detección de outliers de los cuales los algoritmos RSBM y VPRSM son
una expresión de su viabilidad computacional. Como resultados relevantes en esta
dirección pueden plantearse los que se derivan de la relación de inclusión entre
fronteras internas. En tal sentido, se destaca:
Si para alguna frontera interna Bi se determina que no existe una frontera interna
, tal que  , entonces todos los elementos de
pertenecen a algún conjunto
excepcional no redundante como representantes de dicha frontera interna, i
, ,
, 1
,
(1)
La solución del subproblema referido a la determinación de las relaciones de
inclusión entre fronteras internas es el problema más costoso, computacionalmente,
en las soluciones propuestas en RSBM y VPRSM, por tanto, dicho subproblema
influye, decisivamente, en la complejidad temporal, para el caso peor, de los
algoritmos antes mencionados.
La complejidad temporal, para el caso peor, del algoritmo RSBM es: O |U| m
La complejidad temporal, para el caso peor, del algoritmo VPRSM es: O |U| m .
En un intento por mejorar los tiempos de ejecución de los algoritmos RSBM y
VPRSM el problema expresado en (1) se generaliza de la siguiente forma:
Problema General: Dados los conjuntos B , B , . . . , B tomados sobre un universo
U determinar ∀i, j: 1 i j m si B B .
Se consideró viable el uso de la Teoría de Grafos como una forma eficiente de
representar y solucionar computacionalmente el mismo dado que los Grafos
constituyen una de las estructuras computacionales de representación más poderosas
[13]. A partir de ellos se han definido y resuelto, matemática y computacionalmente,
disímiles problemas de la vida práctica.
En la implementación de los algoritmos que se presentan en esta comunicación, se
toman como base dos algoritmos usados con mucha frecuencia en la solución de
problemas haciendo uso de la Teoría de Grafos. Nos referimos a los algoritmos que
implementan los recorridos más comunes que permiten visitar todos los vértices de un
Grafo, dirigido o no, G=(V, E), V: conjunto de vértices del grafo G, E: conjunto de
arcos del grafo G. El recorrido o búsqueda primero a lo ancho (Breadth First Search–
36
A. Fernández et al.
BFS) [14] y el recorrido o búsqueda primero en profundidad (Depth First SearchDFS) [14]. Teniendo en cuenta que, tanto BFS como DFS, se consideran dos patrones
ideales para implementar sobre ellos otros algoritmos importantes de Grafos, se han
usado con tal finalidad, agregando a los mismos la funcionalidad particular requerida
para resolver los problemas concretos que nos ocupan.
3. Soluciones al Problema General
A continuación se presentan dos soluciones algorítmicas al Problema General
planteado usando la Teoría de Grafos. Dichas soluciones fueron obtenidas de forma
gradual de modo que la segunda solución intenta mejorar las desventajas de la
versión que le antecede con el objetivo final de mejorar la constante del tiempo de
ejecución, para el caso peor, del algoritmo.
3.1 Solución # 1 al Problema General
La primera solución propuesta al problema planteado puede catalogarse como una
solución de fuerza bruta. Para viabilizar el uso de la Teoría de Grafos en la resolución
del Problema General, se cambia la formulación del mismo y en correspondencia con
este objetivo, se enuncia la siguiente definición:
Definición 1: Se denomina Grafo de Dependencias Simples
de los
, ,...,
tomados sobre un universo
al grafo
conjuntos
,
tal que:
1, 2, … ,
y
,
:1
, ,...,
^  .
A partir de esta definición se puede replantear el Problema General a partir del
siguiente problema equivalente.
tomados sobre un universo ,
Problema 1: Dados los conjuntos , , . . . ,
, ,...,
.
determinar para dichos conjuntos el
Con el propósito de dar solución al Problema 1 se enuncia el siguiente Lema.
, ,...,
conjuntos tomados sobre un universo
y
Lema 1: Sean
, ,...,
se cumple que:
^ ∉
⇔ ,
∉
∃ ∈
∈
Demostración:
⇒
^ ∉
⇒ ⊈
y por la definición de
podemos
Si ∃ ∈
∈
asegurar que
,
∉
⇐
Si
,
∉
por la definición de
se cumple que
^ ∉
⊈ ⇒∃ ∈
∈
Una aplicación de la Teoría de Grafos a la detección de outliers
37
3.2 Algoritmo de solución al Problema 1: Determinar Grafo de Dependencias
Simples (GDS)
El funcionamiento del algoritmo que se propone se basa en la siguiente idea:
Crear un grafo dirigido completo con lo cual se supone, inicialmente, que son
ciertas todas las relaciones de dependencia entre los conjuntos representados en G.
A partir de lo anterior, por cada elemento del universo U detectar todas las aristas
de G que realmente no pertenecen a
utilizando el Lema 1.
3.3 Pseudocódigo del algoritmo de solución al Problema 1
SeanU: Universo, B: Colección que contiene los m conjuntos, Q: Queue (FIFO)
Algoritmo 1. Hallar el Grafo de Dependencias Simples (GDS)
Algoritmo 2. Recorrido BFS sobre todas las componentes conexas del Grafo
38
A. Fernández et al.
Algoritmo 3. Recorrido BFS sobre los vértices de una componente conexa
3.4 Análisis de la complejidad temporal
Sea la cantidad de conjuntos que se pasan como entrada al algoritmo. El costo del
algoritmo Solve_GDS se desglosa de la siguiente forma: la línea 1 es
, el ciclo
de las líneas 2–5 es 
y en el ciclo de las líneas 6–7 se llama | | veces al
algoritmo BFS. El algoritmo BFS es una modificación del algoritmo BFS propuesto
en [14]. La principal modificación consiste en que, en el momento en que se descubre
un vértice concreto, se agrega al mismo una pregunta la cual consume un tiempo
 1 (líneas 10 - 11 del BFS_Visit). Por tanto, el costo del BFS modificado, para el
caso peor, se mantiene igual al del BFS clásico, o sea, |
| |
| ,
asumiendo que el grafo ha sido representado mediante una Lista de Adyacencia [15].
La pregunta antes mencionada permite detectar los arcos que no pertenecen al
para no tenerlos en cuenta en los llamados posteriores a BFS. A partir de esto, se
puede afirmar que el caso peor del algoritmo es cuando no se elimina ningún arco del
grafo (esto ocurre si todos los conjuntos de la colección de entrada son iguales). En
. Luego el costo del
este caso, el costo de cada BFS será
| | algoritmo para su caso peor es | | . Por la misma razón, se puede afirmar
que el caso mejor es cuando se recorren los arcos del grafo, a lo sumo, un número
constante de veces. En tal caso, el costo amortizado de los sucesivos llamados al
algoritmo BFS es  |E G |
 m . Luego el costo del algoritmo para el caso
mejor es  |U| m .
3.5 Corrección del algoritmo de solución del Problema 1
En el algoritmo se parte de un grafo dirigido y completo en el cual existen arcos
, ,...,
. Por tanto, en cada iteración sobre los
que no pertenecen al
, ,...,
elemento del universo se detectan arcos que no pertenecen al
Una aplicación de la Teoría de Grafos a la detección de outliers
39
y los mismos se eliminan de . Al finalizar el algoritmo, solo quedan en los arcos
, ,...,
.
que pertenecen al
Para demostrar que el algoritmo es correcto se debe garantizar que una vez
finalizada la ejecución del mismo la siguiente proposición es cierta:
, ,...,
⇔ ,
∉
,
∉
Demostración:
⇒
Si
,
∉
y por el Lema 1
, ,...,
⇒ ∃ ∈ ^ ∉ , por tanto en el algoritmo Solve_GDS cuando se esté iterando
sobre el elemento en el ciclo de las líneas 6-7:
 Si
,
∈
, cuando se itere sobre dicho arco en el algoritmo
BFS_Visit (líneas 10-11) el mismo será eliminado de
 Si
,
∉
, entonces ya fue eliminado en una iteración anterior
⇐
Si
,
∉
, como el único lugar donde se elimina un arco es en las líneas
10-11 del algoritmo BFS_Visit, entonces, se cumple que:
∃ ∈ : ∈
^ ∉
y por el Lema 1⇒ ,
∉
, ,...,
3.6 Solución # 2 al Problema General
Si en el contexto del problema se conocieran desde un inicio las cardinalidad de los
conjuntos , , . . . , , en la Solución 1 habría varios aspectos que podrían ser
tomados en consideración para seguir mejorando la constante que afecta al costo
temporal, para el caso peor, del algoritmo que da solución al Problema General.
La desventaja principal del algoritmo que da solución al Problema 1 es asumir
inicialmente G completo, con esto se han tenido en cuenta muchos arcos que no
pertenecen realmente al
. A partir del siguiente Lema se caracterizan dichos arcos
y además, la demostración del mismo justifica formalmente el planteamiento anterior.
|B ⇒ ,
∉ GDS B , B , . . . , B
Lema 2:|B
Demostración:
Si |B
|B ⇒ ∃e ∈ B ^e ∉ B ⇒ B ⊈ B y por la definición de GDS
⇒ ,
∉
B ,B ,...,B
Debe puntualizarse que con la demostración de este Lema se evidencia el hecho de
que al grafo GDS B , B , . . . , B solo pueden pertenecer arcos que van desde vértices
que representan a conjuntos de menor cardinalidad hasta vértices que representan a
conjuntos de mayor cardinalidad.
A partir del Lema 2 se puede descartar un gran número de arcos del grafo inicial
que se sabe de antemano que no pertenecerán al GDS B , B , . . . , B . Esta es una de
las principales mejoras de la Solución 2 con respecto a la Solución 1.
El segundo problema que presenta el algoritmo que da solución al Problema 1 es
B , en el GDS B , B , . . . , B se encuentra tanto
que cuando existen i, j tal que B
la arista
,
como la
,
y solo sería necesario tener representada una de
ellas en el grafo.
B ⇔ B B ^|B | |B |
Lema 3: B
40
A. Fernández et al.
Demostración:
⇒
B , por definición ⇒(B B ^B B ^ |B | |B | ⇒ B B ^|B | |B |
⇐
Si B B ^|B | |B | y suponiendo que B ⊈ B ⇒ ∃e ∈ B ^e ∉ B , entonces B
contiene a todos los elementos de B y al menos un elemento que no está en B ⇒
|B | 1 ⇒ 0 1 lo que es una contradicción y por tanto la suposición
|B |
B
inicial es falsa por lo que B B .
B
Luego B B ^B B ⇒ B
Note que si |B | |B |^B ⊈ B ⇒ B ⊈ B pues, en caso contrario, se llegaría a
una contradicción con lo demostrado anteriormente.
Por tanto en todos los casos en que un conjunto B
B basta con tener en el grafo
una de las dos aristas y conocer la carnalidad de los conjuntos que representan.
Definición 2: Sean B , B , . . . , B conjuntos tomados sobre un universo U y
una permutación de los elementos de 1,2, … , m tal que
p
p ,p ,...,p
|B | |B | . . . |B |. Se conoce como Grafo Podado de Dependencias Simples
de los conjuntos B , B , . . . , B definido por la permutación
al grafo
,
donde V
1,2, … , m y E
p ,p :1
GPDS B , B , . . . , B
^B B .
Podemos darnos cuenta que el grafo
es un subgrafo no inducido de
obtenido al quitar del mismo los arcos que son redundantes según el Lema 3 y que
dicho grafo, además, no es único para los B , B , . . . , B (depende de la permutación
escogida). También, dado que es una permutación que ordena los conjuntos según
su cardinalidad y que las aristas solo son añadidas cuando van de un vértice de menor
es
cardinalidad a uno de mayor cardinalidad, podemos asegurar que el grafo
acíclico y que es un orden topológico del mismo. A continuación se prueba la
equivalencia entre los grafos
y
.
Lema 4: Sean B , B , . . . , B conjuntos tomados sobre un universo U y una
permutación p
p ,p ,...,p
de los elementos de 1,2, … , m tal que |B |
|B | . . . |B | se cumple que:
⇔ ,
∈ E GPDS B , B , . . . , B B
,
∈ GDS B , B , …, B
B
Demostración:
⇒
Si
,
∈ GDS B , B , …, B
por definición de GDS⇒B B
⇒B B B
B ⇒ para cualquier permutación p
B . Si B B ⇒|B |
p , p , …, p de los elementos 1,2, … , m tal que B
B
⋯ B y
sea p
iyp
j se cumple que a
y por la definición de GPDS ⇒
,
∈ E GPDS B , B , . . . , B
Si por el contrario B
B , se cumple el planteamiento.
⇐
B
dividamos en casos este
Si
,
∈ E GPDS B , B , . . . , B B
planteamiento:
Si B
Una aplicación de la Teoría de Grafos a la detección de outliers
41
Si
,
∈ E GPDS B , B , . . . , B , por definición de GPDS , se cumple que
B B y por definición de GDS⇒ ,
∈ GDS B , B , …, B
Si B
B ⇒B B y por definición de GDS⇒ ,
∈ GDS B , B , …, B
Corolario:
∃ i, j
,
∉ GDS B , B , …, B
B
⇔ ,
∉ E GPDS B , B , . . . , B ^B
Luego en base a la equivalencia de los grafos
y
se puede,
convenientemente, redefinir nuevamente el Problema General de la siguiente forma:
Problema 2: Dados los conjuntos B , B , . .., B tomados sobre un universo U,
determinar:
, ,...,
de los elementos de 1,2, … ,
tal que
- Una permutación
| | | | ... |
|
- El grafo
, ,...,
.
3.7 Algoritmo de solución al Problema 2: Determinar el Grafo Podado de
Dependencias Simples (GPDS)
El algoritmo propuesto para resolver el Problema 2 tiene un funcionamiento similar
al que da solución al Problema 1 pero, en este caso, se hace necesario dedicar un
esfuerzo computacional extra para encontrar la permutación y se parte de un grafo
inicial en el cual la cardinalidad del conjunto de arcos del mismo es menor, con
respecto al que se asume en el Problema 1, y no contiene aristas redundantes según el
Lema 3. Además, se hace uso del algoritmo BFS visto en la solución al Problema 1
.
para eliminar las aristas que no pertenecen al
3.8 Pseudocódigo del algoritmo de solución al Problema 2
Sean
: Universo de datos y : Colección que contiene a los m conjuntos
Algoritmo 4. Hallar el Grafo Podado de Dependencias Simples (GDS)
42
A. Fernández et al.
3.9 Análisis de la complejidad temporal
El costo temporal de algoritmo Solve_GPDS se desglosa de la siguiente forma: las
, la línea 4 es  ∗
; en las líneas 5–7 se ejecuta un ciclo
líneas 1–3 son 
1 ; en las líneas 8–9 se invoca | | veces al algoritmo BFS
que es  ∗ ∗
utilizado en la solución del Problema 1. El costo temporal del algoritmo que da
solución al Problema 2 depende del costo temporal del algoritmo BFS. Del análisis
de orden de dicho algoritmo realizado cuando se hizo el análisis de la solución al
Problema 1 conocemos que el orden de complejidad temporal, para el caso peor, del
| |
BFS es |
| y para el caso mejor todas las iteraciones del ciclo de las
| |
| . En este caso, el grafo tiene
líneas 8-9 tienen un costo amortizado  |
1 aristas, por lo que podemos concluir que el costo
m vértices y
| |
; caso mejor,  | |
.
temporal es: caso peor,
El algoritmo propuesto para resolver el Problema 2 tiene un funcionamiento
similar al que da solución al Problema 1 pero, en este caso, se hace necesario dedicar
un esfuerzo computacional extra para encontrar la permutación y se parte de un
grafo inicial en el cual la cardinalidad del conjunto de arcos del mismo es menor (con
respecto al que se asume en el Problema 1) y no contiene aristas redundantes según
el Lema 3. Además se hace uso del algoritmo BFS visto en la solución al Problema 1
.
para eliminar las aristas que no pertenecen al
3.10 Corrección del algoritmo de solución al Problema 2
En el algoritmo que da solución al Problema 2 se utiliza una idea similar a la que
utiliza el algoritmo que da solución al Problema 1 con la diferencia que en este caso
se parte de un conjunto inicial de aristas menor (en la Solución 1 se parte de un grafo
completo) y en cada iteración del algoritmo por los elementos de U se descubren
aristas que no pertenecen al grafo GPDS B , B , . . . , B y son eliminadas de G. Al
finalizar el algoritmo, solo se quedan en G los arcos que pertenecen al grafo
GPDS B , B , . . . , B .
Como parte de la solución de este problema se necesita encontrar una permutación
que ordene los conjuntos según su cardinalidad. En la línea 2 del algoritmo se crea
una lista P con los elementos 1,2, … , m y en la línea 3 se crea otra lista C con las
cardinalidades de los conjuntos B , B , … , B para luego, en la línea 4, ordenar P
usando como llave los valores de C. De esta forma se obtiene en P una permutación
B
y con dicha permutación se obtendrá
que cumple que |B | |B | . . .
el GPDScorrespondiente. En la obtención de esta permutación se usará cualquier
algoritmo de ordenación n log n y se asume además que este es correcto.
Para demostrar que nuestro algoritmo es correcto se debe probar:
- En el conjunto inicial de aristas están todas las aristas del grafo
.
, ,...,
y
- Todas las aristas eliminadas no pertenecen al grafo GPDS B , B , . . . , B
además son las únicas que cumplen esto.
Una aplicación de la Teoría de Grafos a la detección de outliers
43
Para dar cumplimiento a estos requerimientos el siguiente paso es garantizar que en
el grafo inicialG están todos los arcos del grafo GPDS B , B , . . . , B . En los ciclos
de las líneas 5-7 se agregan al grafo inicial G los siguientes arcos:
i ,P j :1
y quedaron excluidos de éste los siguientes:
j ,P i :1
.
Demostremos entonces que los arcos que fueron excluidos no pertenecen al
grafoGPDS B , B , . . . , B .
Como
es una permutación que ordena las cardinalidades de los conjuntos
|B |, por tanto, si el arco
j ,P i
fue
podemos asegurar que, si i ⇒ B
excluido, entonces B
|B |. Separemos esta afirmación en los siguientes
casos:
Si B
B
, por el Lema 2 se garantiza que el arco no pertenece al grafo
GDS B , B , . . . , B y como el grafo GPDS B , B , . . . , B es un subgrafo del grafo
se puede afirmar que tampoco pertenece al grafo
GDS B , B , . . . , B
GPDS B , B , . . . , B .
Si B
|B | y como i , por la definición de GPDS B , B , . . . , B se
puede asegurar que dicho arco no pertenece al grafo.
Seguidamente se prueba el segundo punto planteado para la demostración de la
corrección del algoritmo que da solución al Problema 2. Para ello se plantea lo
expresado anteriormente en el lenguaje matemático:
,
∉ GPDS B , B , . . . , B
⇔ ,
∉
Demostración:
⇒
Si
,
∉ GPDS B , B , . . . , B
y en caso de que B
B por el Corolario
y como el algoritmo BFS utilizado
,
∉ GDS B , B , …, B
del Lema 4 ⇒
elimina del grafo todas las aristas que no pertenecen al grafo GDS B , B , …, B
∉
.
(Ver corrección del Algoritmo 1) ⇒ ,
En caso de que B
B y sea P[a]=i y P[b]=j, por la definición de GPDS se
cumple que a y por tanto dicha arista no fue incluida en el grafo inicial ⇒
,
∉
.
⇐
Si
,
∉
, pueden ocurrir dos situaciones: la arista no fue incluida en el
grafo inicial o fue eliminada por el algoritmo BFS en alguno de sus llamados.
⇒
Si
la
arista
no
fue
incluida
en
el
grafo
inicial
,
∉ GPDS B , B , . . . , B
Si la arista fue eliminada por el algoritmo BFS y como en el único lugar donde se
elimina un arco es en las líneas 10-11 del algoritmo BFS_Visit se cumple que:
,
∉
B ,B ,...,B
y
∃e ∈ U: e ∈ B ^ e ∉ B y por el Lema 1⇒
es un subgrafo del grafo
debido a que el grafo GPDS B , B , . . . , B
∉ GPDS B , B , . . . , B
GDS B , B , . . . , B ⇒ ,
Una vez garantizado esto y mediante la aplicación del algoritmo BFS se puede
asegurar que del grafo G fueron removidas todas los arcos que no pertenecen al grafo
GPDS y concluir que G GPDS B , B , . . . , B .
44
A. Fernández et al.
4. Validación de los resultados
Teniendo en cuenta que el objetivo fundamental con el que han sido concebidos los
algoritmos presentados en esta comunicación es mejorar los tiempos de ejecución de
los algoritmos de detección de outliers basados en la teoría de Rough Sets (RSBM y
VPRSM), los nuevos algoritmos se han integrado al método general de detección de
outliers basado en VPRSM presentado en [10] y las pruebas de validación de
resultados se han realizado ejecutando el algoritmo original VPRSM y la nueva
versión incorporando al mismo el GPDS.
En todos los casos el objetivo de las pruebas de validación de resultados fue
comprobar el correcto funcionamiento de los nuevos algoritmos y probar, si en efecto,
hay mejoras considerables en el tiempo de ejecución de los algoritmos de detección
inicialmente propuestos incorporando a ellos el GPDS. El dispositivo de cálculo
utilizado fue un Procesador: Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40Ghz
2.39Ghz Memoria: 3.25GB. Sistema Operativo: Windows 7 Ultimate.
4.1 Prueba No. 1
Conjunto de datos utilizado: Adult Data Set: Datos extraídos del Census Bureau
Database of USA (CENSUS 2009) [16]. Tipo: multivariado con atributos enteros y
categóricos. Descripción de las pruebas: Las pruebas con este conjunto de datos se
hicieron en función de la variación del número de elementos del mismo así como de
la variación del número de relaciones de equivalencia tenidas en consideración en el
análisis.
La Fig. 1 muestra los tiempos de ejecución alcanzados por el algoritmo VPRSM
original y por el propio algoritmo modificado, incorporando al mismo el GPDS.
Fig. 1. Resultados de la Prueba 1: Adult Data Set. Comparación entre los tiempos de
ejecución de los algoritmos VPRSM y VPRSM-GPDS
Una aplicación de la Teoría de Grafos a la detección de outliers
45
4.2 Prueba No. 2
Conjunto de datos utilizado: Arrhythmia Data Set (datos de pacientes con
problemas cardiovasculares) [16]. Tipo: multivariado con atributos reales, enteros y
categóricos. Descripción de las pruebas: Las pruebas con este conjunto de datos se
hicieron en función de la variación del número de elementos del mismo así como de
la variación del número de relaciones de equivalencia tenidas en consideración en el
análisis.
La Fig. 2 muestra los tiempos de ejecución alcanzados por el algoritmo VPRSM
original y por el propio algoritmo modificado, incorporando al mismo el GPDS.
Interpretación de los resultados
En todos los casos se observó una mejora en cuanto a tiempo de ejecución del
algoritmo al incorporar al mismo el grafo podado de dependencias simples.
Fig. 2. Resultados de la Prueba 2: Arrhythmia Data Set. Comparación entre los tiempos de
ejecución de los algoritmos VPRSM y VPRSM-GPDS
5. Comparación entre los algoritmos GDS y GPDS
La Tabla 1 muestra una comparación entre los algoritmos presentados. En ella se
observa que ambos mantienen el mismo orden de complejidad temporal de VPRSM
para el caso peor, pero las pruebas de validación demuestran que a pesar de ello hay
una mejora considerable en la constante que acompaña al orden y a partir de ello se
obtienen mejoras significativas en el tiempo de ejecución del algoritmo VPRSM con
las modificaciones propuestas en cuanto al uso del grafo podado de dependencias
simples para representar las relaciones de inclusión entre fronteras internas.
En la tabla se expresa que para la ejecución de los algoritmos Solve_GDS y
Solve_GPDS no es necesario tener conocimiento sobre la cardinalidad de los
conjuntos representados en el grafo ni de las relaciones de inclusión que pueden
existir entre los mismos. No obstante, el conocimiento de este aspecto podría implicar
mejoras en la eficiencia de los algoritmos propuestos. En el acápite siguiente se
46
A. Fernández et al.
introduce este problema y el análisis del mismo se propone como un elemento que
permite dar continuidad a la presente investigación.
Tabla 1. Comparación entre los algoritmos GDS y GPDS
Algoritmo
Solve_GDS
Solve_GPDS
Conocimiento de la
cardinalidad de los
conjuntos así como del
carácter transitivo de la
relación de inclusión
No es necesario
No es necesario
Complejidad temporal del
algoritmo
(caso peor)
1
2
| |
| |
6. Líneas futuras
La principal desventaja que presenta el algoritmo que da solución al Problema 2 es,
precisamente, que al no haberse tenido en consideración el carácter transitivo de la
relación de inclusión  entre los conjuntos que han sido representados en el grafo
podado de dependencias simples, esto implica que en el mismo sigan existiendo arcos
redundantes. El siguiente ejemplo ilustra lo que se acaba de expresar.
Sean A, B y C conjuntos donde  ,  y por tanto,  . Además, sea
1,2,3 la única permutación que ordena a dichos conjuntos por su cardinalidad.
, ,
obtenido por el algoritmo Solve_GPDS estarían el arco
En el grafo
1,2 , el arco 2,3 y también el arco 1,3 el cual, a partir de la relación de
inclusión existente entre dichos conjuntos, sería innecesario que estuviera en el
mismo.
Este problema, por tanto, introduce un nuevo tipo de redundancia en el grafo que se
origina a partir del carácter transitivo de la relación de inclusión que puede existir
entre los conjuntos que están siendo representados. Por tal motivo, un objetivo
inmediato a abordar en la investigación sería valorar la ampliación del marco teórico
hasta ahora propuesto, de manera tal que se introduzcan en el análisis elementos que
permitan eliminar del grafo la redundancia antes expresada y obtener, a partir de ello,
un mayor mejora, en cuanto al tiempo de ejecución, para los algoritmos de detección
de outiers que estamos optimizando.
Otro aspecto a tener en cuenta para trabajos futuros, sería incorporar al análisis
elementos teóricos avanzados de diseño y análisis de algoritmos [17] que permitan
explorar la complejidad del problema general como tal, con el objetivo de comparar
cuanto se acercan los algoritmos propuestos a la solución ideal del mismo.
7. Conclusiones
Los aportes de los algoritmos propuestos para resolver el problema general de
encontrar las relaciones de inclusión entre conjuntos son los siguientes:
Una aplicación de la Teoría de Grafos a la detección de outliers
47
Constituyen una mejora importante para los algoritmos de detección de outliers
basados en la teoría de Rough Sets, RSBM y VPRSM, en cuanto a la complejidad
temporal de los mismos, pues aunque no se mejora su orden de complejidad temporal,
para el caso peor, se disminuyen en gran medida las constantes involucradas en las
funciones de costo y así como el orden para el caso mejor. Esto representa un ahorro
considerable en tiempo cuando se procesan grandes volúmenes de datos. Las pruebas
de validación de los resultados que fueron realizadas demuestran, en gran medida,
esta afirmación.
Teniendo en cuenta que los algoritmos propuestos resuelven un problema general,
los mismos pueden ser reutilizados en la solución de otros problemas donde se
necesite conocer el comportamiento de las relaciones de inclusión entre conjuntos
como paso previo a la solución final de los mismos. Además, los algoritmos
propuestos son relativamente facilidades de implementar y su viabilidad
computacional está demostrada teórica y experimentalmente. Los mismos, además,
usan como estructura de datos básica un Grafo y se sabe que la teoría en torno a ellos
es una de las más difundidas y de mayor aplicabilidad práctica en la solución de
disímiles problemas dentro del contexto de la Ciencia de la Computación.
8. Referencias
1.
Chawla, S., & Sun, P. (2006). Outlier Detection: Principles, Techniques and
Application. Proceedings of the 10th Pacific-Asia Conference on Knowledge
Discovery and Data Mining (PAKDD), Singapore, 2006.
2. Pawlak, Z., (1982) Rough Sets. International Journal of Computer and Information
Sciencies, 11(5):341-356.
3. Pawlak, Z., (1991). Rough Sets: Theoretical Aspects of Reasoning About Data. s.l.:
Spinger.
4. Sang Wook, H., & Jae-Yearn, K. (2007). Rough Set-based Decision Tree using the
Core Attributes Concept. ICICIC'07, The Second International Conference on
Innovative Computing, Information and Control. Kumamoto, Japan: IEEE Computer
Society.
5. Ching-Hsue, C., You-Shyang, C., & Jr-Shian, C. (2007). Classifying Initial Returns
of Electronic Firm’s IPOs Using Entropy Based Rough Sets in Taiwan Trading
Systems. ICICIC'07, The Second International Conference on Innovative Computing,
Information and Control. Kumamoto, Japan: IEEE Computer Society.
6. Hirokane, M., Konishi, H., Miyamoto, A., Nishimura, F. (2007). Extraction of
minimal decision algorithm using rough sets and genetic algorithm. Wiley
InterSciences, Systems and Computers in Japan , Volume 38, Issue 4, Pages: 39-51.
7. Ziarko, W., (1993). Variable Precision Rough Set Model. s.l. : Journal of Computer
and System Sciences, 46(1):39-59.
8. Ziarko, W., (1994). Rough Sets, Fuzzy Sets and Knowledge Discovery, Springer
Verlag, 326-334.
9. Ziarko, W., (2001). Probabilistic Decision tables in the Variable Precision Rough Set
Model. Computer Science Department, University of Regina, Regina, Saskatchewan,
S4S 0A2, Canada.
10. Fernández, A., (2011). Estimación probabilística del grado de excepcionalidad de un
elemento arbitrario del un conjunto finito de datos. Aplicación de la Teoría de
48
A. Fernández et al.
11.
12.
13.
14.
15.
16.
17.
Conjuntos Aproximados de Precisión Variable. Tesis Doctoral. Universidad de
Alicante, España. ISBN: 978-84-694-1574-D; Depósito Legal: A-448-2011
Jiang, F., Sui, Y., & Cao, C., (2005). Outlier detection using rough sets theory. Rough
Sets, Fuzzy Sets, Data Mining, and Granular Computing (RSFDGrC 2005). Springer.
Jiang, F., Sui, Y., & Cao, C. (2006). Outlier detection based on rough membership
function. Rough Sets and Current Trends in Computing, 5th International
Conference, RSCTC'06. Kobe, Japan: Springer.
Sedgewick, R., Wayne, K., (2011). Algorithms. Addison-Wesley Professional, 2011 976 pags.
Cormen, Thomas H., Leiserson, Charles E., Rivest, Ronald L. ( 2009). Introduction
to Algorithms. MIT Press, 2009. 1292 pags.
Aho, Alfred V., Hopcroft, John E., Жеффрэй Д. Уллман. (1983). Data Structures
and algorithms. Addison-Wesley, 1983 - 427 pags.
UCI Machine Learning Repository. http://cml.ics.uci.edu. Última consulta: 25/09/10
Muniswamy, H, H., (2009). Design And Analysis Of Algorithms. I. K. International
Pvt Ltd, 2009 - 272 pags.
Descargar