esquemas de representacion de datos para problemas de

60
Esquemas de representaci´ on de datos para problemas de aprendizaje activo by Juan Pablo Prada Tesis presentada al Departamento de Ingenier´ ıa Electrica y Electr´ onica en cumplimiento de parte de los requisitos de Magister en Ingenier´ ıa El´ ectronica y de Computadores at Universidad de los Andes, Colombia Abril, 2013 c Juan Pablo Prada

Upload: others

Post on 17-Jul-2022

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Esquemas de representacion de datos para problemas de

Esquemas de representacion de datos

para problemas de aprendizaje activo

by Juan Pablo Prada

Tesis presentada al Departamento de Ingenierıa Electrica y Electronica

en cumplimiento de parte de los requisitos de

Magister en Ingenierıa Electronica y de Computadores

at Universidad de los Andes, Colombia

Abril, 2013

c© Juan Pablo Prada

Page 2: Esquemas de representacion de datos para problemas de
Page 3: Esquemas de representacion de datos para problemas de

Departamento de Ingenierıa Electrica y Electronica

Universidad de los Andes

23 de enero de 2012

Se certifica que este trabajo de tesis ha sido leido y aprobado por:

Asesor:

Profesor Fernando Lozano

Departamento de Ingenierıa Electrica y Electronica

Universidad de Los Andes

Reading Committee:

Profesora Maria del Pilar Villamil

Departamento de Ingenierıa de Sistemas

Universidad de Los Andes

Profesor Mario Valderrama

Departamento de Ingenierıa Electrica y Electronica

Universidad de Los Andes

Page 4: Esquemas de representacion de datos para problemas de
Page 5: Esquemas de representacion de datos para problemas de

Abstract

El elevado costo de etiquetado de los datos en diversas aplicaciones hace

del aprendizaje activo una herramienta de gran importancia y como parte

de esta herramienta se encuentran las tecnicas de clustering. En particular

el clustering espectral ha demostrado ser una tecnica eficiente y practica

en diversos contextos. Este trabajo presenta un algoritmo de aprendizaje

actıvo basado en clustering espectral. Se presenta la teorıa que sustenta el

algoritmo y los experimentos realizados sobre datos reales, para validar

su funcionamiento. Finalmente se concluye que el algoritmo tiene un

desempeno muy superior en comparacion con el etiquetado aleatorio. Este

trabajo se presenta como parte de los requisitos para aspirar al titulo de

Magister en Ingenierıa Electronica y de Computadores, de la univesidad de

Los Andes en Bogota, Colombia.

Page 6: Esquemas de representacion de datos para problemas de
Page 7: Esquemas de representacion de datos para problemas de

No hay en la tierra un ser humano capaz de declarar quıen es.

Nadie sabe que ha venido a hacer a este mundo,

a que corresponden sus actos, sus sentimientos, sus ideas,

ni cual es su nombre verdadero,

su imperecedero Nombre en el registro de la luz.

Leon Bloy

Page 8: Esquemas de representacion de datos para problemas de
Page 9: Esquemas de representacion de datos para problemas de

Agradezco a mi familia por su apoyo y respaldo, antes y durante este proyecto.

Agradezco al profesor Fernando Lozano por su excelente labor como asesor. Agradezco

al seminario de investigacion en Machine Learning de la Universidad de Los Andes por

su acompanamiento y asesoria, en particular a Monica Rodriguez y Reinaldo Uribe por

sus enriquecedoras charlas sobre el tema.

Page 10: Esquemas de representacion de datos para problemas de
Page 11: Esquemas de representacion de datos para problemas de

Indice general

1. Introduccion 1

2. Aprendizaje Activo 5

2.1. Sanjoy Dasgupta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.2. John Langford . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.3. Yoav Freund . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3. Clustering Espectral 17

3.1. Clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.2. Clustering Espectral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4. Algoritmo Propuesto 25

4.0.1. Restricciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

4.0.2. Clustering espectral con restricciones . . . . . . . . . . . . . . . . 26

4.0.3. Cotas de error . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

4.1. Algoritmo propuesto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

5. Experimentos y resultados 33

6. Conclusiones 39

Referencias 41

Page 12: Esquemas de representacion de datos para problemas de
Page 13: Esquemas de representacion de datos para problemas de

Indice de figuras

2.1. Ejemplo de sampling bias . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.2. Arbol de clustering jerarquico de ejemplo . . . . . . . . . . . . . . . . . 10

2.3. Resultados sobre MNIST . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.4. Resultados QBC con error de a) 0.2 y b) 0.01 . . . . . . . . . . . . . . . 16

3.1. Ejemplo de datos susceptibles de ser agrupados correctamente . . . . . . 24

3.2. Algoritmo de Clustering Espectral . . . . . . . . . . . . . . . . . . . . . 24

5.1. Matrices de restricciones, algoritmo propuesto (iz.) y restricciones

aleatorias (der.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

5.2. Curvas de error de cluster para el data set Iris, restricciones activas (rojo)

y restricciones pasivas (negro). . . . . . . . . . . . . . . . . . . . . . . . 35

5.3. Curvas de error de clasificador sobre el data set Iris, aprendiz activo

(rojo) y aprendiz pasivo (negro). . . . . . . . . . . . . . . . . . . . . . . 36

5.4. Curvas de error de cluster sobre el data set Glass, restricciones activas

(rojo) y restricciones pasivas (negro). . . . . . . . . . . . . . . . . . . . . 36

5.5. Curvas de error de clasificador sobre el data set Glass, aprendiz activo

(rojo) y aprendiz pasivo (negro). . . . . . . . . . . . . . . . . . . . . . . 37

5.6. Curvas de error de cluster sobre el data set Column, restricciones activas

(rojo) y restricciones pasivas (negro). . . . . . . . . . . . . . . . . . . . . 37

5.7. Curvas de error de clasificador sobre el data set Column, aprendiz activo

(rojo) y aprendiz pasivo (negro). . . . . . . . . . . . . . . . . . . . . . . 38

Page 14: Esquemas de representacion de datos para problemas de
Page 15: Esquemas de representacion de datos para problemas de

1Introduccion

Son cada vez mas las aplicaciones en las que se cuenta con una gran cantidad de

datos sin etiquetar, algunos ejemplos son, categorizacion de texto, reconocimiento de

voz, bioingenierıa, entre otras [1]. En general para todas las aplicaciones el etiquetado

de los datos resulta costoso en tiempo y dinero, en algunas mucho mas que en

otras. En el area de Machine Learning los problemas en los que solo una fraccion

de los datos son etiquetados se conoce como aprendizaje semisupervisado, dentro

del aprendizaje semisupervisado se destaca el esquema de aprendizaje activo el cual

consiste en etiquetar la fraccion mas conveniente de los datos para la tarea de

aprendizaje propuesta. Entonces aprendizaje activo es un esquema para realizar tareas

de aprendizaje solicitando el menor numero de etiquetas posibles para determinado

valor de error deseado, esta relacion entre el numero de datos etiquetados y el error

obtenido en determinada tarea de aprendizaje se define como complejidad de etiqueta.

Existen dos enfoques en aprendizaje activo, el primero consiste en realizar las preguntas

adecuadas al oraculo, es decir etiquetar los datos mas informativos. Donde informativos

se refiere a aquellos datos que restringen en mayor medida el espacio de versiones, es

decir que reducen el numero de hipotesis consistentes con los datos etiquetados[2]. El

segundo enfoque consiste en explotar la estructura intrınseca de los datos al momento

de realizar el etiquetado de los mismos, el mas claro ejemplo de este enfoque son

precisamente los algoritmos de clustering. La idea es que se organizan los datos en

grupos (clusters) y se asume que estos grupos son relativamente puros en terminos de

la clase de los datos perteneciente a determinado grupo, de maner que se etiquetan solo

algunos datos de cada grupo y se asume que la clase dominate de los datos etiquetados

es la clase de todos los datos del grupo. El algoritmo aca presentado pertenece a los dos

enfoques a la vez puesto que utiliza el clustering espectral pero realiza el etiquetado de

Page 16: Esquemas de representacion de datos para problemas de

2 1. Introduccion

manera activa de acuerdo con la pureza de los clusters de manera que etiqueta los datos

que resultan mas convenientes. El proposito general de todo algoritmo de clustering es

estructurar los datos para tener una mejor comprension de ellos, el algoritmo estructura

los datos agrupandolos de acuerdo con alguna medida de similaridad dada. El clustering

espectral en su version no supervisada ha sido ampliamente estudiado y utilizado en

diversas aplicaciones [3], [4]. El problema con este y con los demas algoritmos de

clustering no supervisados, es que los resultados pueden resultar poco o nada relevantes

para la aplicacion que se esta trabajando, es decir que los clusters formados no son

relevantes o no proporcionan ninguna informacion concerniente a la tarea real [5]. Al

utilizar un algoritmo de clustering en problemas de aprendizaje activo, se trabaja bajo la

suposicion conocida como clustering assumption[1]. La suposicion es que los hiperplanos

de clasificacion cortan los datos en zonas de poca densidad, o lo que es equivalente se

asume que los clusters son relativamente puros con respecto a la clase, de manera tal que

el agrupamiento de los datos resulte pertinente para la tarea de clasificacion propuesta.

Existen dos formas comunes de incorporar informacion previa a los algoritmos de

clustering, la primera es restringiendo o guiando la medida de similaridad utilizada

y la segunda es agregando restricciones de union y separacion entre los datos. Las

restricciones de union y separacion utilizadas en este trabajo son, en particular, las

definidas en [6]. Estas restricciones consisten simplemente en indicar si un par de datos

deben o no pertenecer al mismo cluster. Se utilizan unicamente restricciones absolutas,

es decir, sin grado de creencia. Las restricciones son ademas transitivas, tanto las de

union como las de separacion.

El algoritmo propuesto en este trabajo es un algoritmo de aprendizaje activo, basado

en la tecnica de clustering espectral y con muestreo activo realizado de acuerdo

con una condicion de pureza de los clusters, condicion que es estimada mediante

cotas binomiales de error. Este algoritmo funciona satisfactoriamente en problemas

multiclase, a diferencia de la gran mayorıa de algoritmos de este tipo.

Se han realizado varias investigaciones en el tema de clustering con restricciones, la

mayor parte de esta tarea se ha adelantado desde el area de minerıa de datos, y

una parte menor por parte del area de algoritmos de aprendizaje de maquina[7]. Las

restricciones han sido anadidas a diversos algoritmos de clustering como k-medias y

clustering jerarquico. En el caso de k-medias los algoritmos mas representativos de

clustering con restricciones se tienen en [8] y [9]. En el caso de clustering jerarquico

dos algoritmos representativos son [10] y [11], este ultimo algoritmo es presentado

mas que como un algoritmo de clustering, como un algoritmo de aprendizaje activo

puesto que su desempeno es evaluado mas alla de la tarea de clustering, entrenando

Page 17: Esquemas de representacion de datos para problemas de

3

clasificadores con los datos agrupados. En cuanto a algoritmos de clustering espectral

con restricciones, los trabajos de los que tenemos conocimiento son [10]-[4]. El trabajo

de Active Spectral Clustering realiza el etiquetado de los datos de acuerdo con una

probabilidad de error calculada con base en el resultado de clustering actual y la matriz

de restricciones actual. El inconveniente de esta aproximacion es que para realizar el

calculo de la probabilidad de error con base en la matriz de restricciones, se asume

que esta matriz es de rango completo, condicion que puede ser facilmente vulnerada

durante el proceso iterativo. Otro inconveniente de este trabajo es que aun cuando se

comenta que el algoritmo puede ser extendido a problemas multi-clase no se presenta

ningun experimento en este genero, todos los experimentos son de clasificacion binaria.

Otros trabajos restringidos a clasificacion binaria son [5]-[12]. Los trabajos [5], [3]

son de los mismos autores y presentan metodos similares, el algoritmo se basa en la

interpretacion de caminata aleatoria del clustering espectral, entonces teniendo que

la matriz de adyacencia es una matriz de probabilidad de transicion de un proceso

de markov, las restricciones son anadidas como probabilidades de trancision entre dos

instancias, claramente, con un valor de uno para las restricciones de union y cero

para las restricciones de separacion. En [5] se forman las restricciones de manera activa

mediante la busqueda de puntos atıpicos en los vectores propios de la matriz laplaciana,

sabiendo que los datos correspondientes a esos puntos son datos cercanos a la frontera

de los clusters, el metodo funciona bien pero como se menciono antes, solo se prueba

en clasificacion binaria. Para el caso de [3] la estrategia activa es menos agresiva lo

unico que se hace es muestrear un dato al azar de cada seccion de los vectores propios,

en este algoritmo se presentan resultados multiclase para el dataset Iris, utilizando

como indicador de desempeno el rand index. El algoritmo propuesto en [13] anade y

propaga las restricciones en la matriz de afinidad. Las restricciones se incorporan como

una ditribucion gaussiana formada por la diferencia o suma de dos instancias, suma

en el caso de restricciones de separacion y resta en el caso de restricciones de union.

Ası mismo usando estas distribuciones las restricciones se propagan a los vecinos de

cada instancia etiquetada. Este algoritmo esta restringido a dos clases debido a la

forma de incorporacion de las restricciones aunque los autores indican una forma de

modificar el algoritmo para convertirlo en multiclase, esto hace el algoritmo inviable por

la compejidad. El algoritmo propuesto en [12] genera una matriz de restricciones y las

incorpora al algoritmo calculando la correlacion de esa matriz con la matriz de affinidad.

Este algoritmo no es realmente de aprendizaje activo puesto que genera las restricciones

al azar y esta restringido a clasificacion binaria. Finalmente esta el algoritmo propuesto

en [4] el cual se presenta en el contexto de segmentacion de imagenes, el algoritmo

Page 18: Esquemas de representacion de datos para problemas de

4 1. Introduccion

consiste en definir la proyeccion del grafo sobre la matriz laplaciana y propagar las

restricciones de acuerdo con la distancia de tiempo conmutado entre los vertices, esta

distancia captura la cantidad de flujo de un vertice a otro permitiendo establecer

vecindarios en el grafo. Este algoritmo tampoco es de aprendizaje activo puesto que las

restricciones son definidas por un usuario sobre la imagen pero tiene la ventaja de que

funciona en problemas multiclase.

Page 19: Esquemas de representacion de datos para problemas de

2Aprendizaje Activo

En los problemas basicos de clasificacion de aprendizaje supervisado se cuenta con

un set de datos que obedecen a una distribucion D y ademas se tiene acceso a un oraculo

que dado un dato y la distribucion D a la cual este pertenece, retorna la etiqueta de

clasificacion del dato respectivo. En los problemas de aprendizaje supervisado pasivos

lo que se hace es que se tiene un set de datos y se utiliza el oraculo para conocer

las etiquetas de todos estos datos o por lo menos de un gran numero de ellos de

manera indiscriminada y de esta forma se lleva a cabo el entrenamiento del clasificador.

Por el contrario los problemas de aprendizaje activo pretenden entrenar el clasificador

utilizando la menor cantidad posible de datos etiquetados sin que esto signifique una

perdida considerable en la capacidad de generalizacion del clasificador. Esto se conoce

como complejidad de etiqueta [3], es decir cual es numero mınimo de datos etiquetados

que requiero para entrenar el clasificador y obtener un error de prueba dado. El

economizar el numero de datos etiquetados es especialmente importante en aplicaciones

en las que resulta muy costoso en tiempo, esfuerzo y/o dinero el obtener las etiquetas de

los datos. Por ejemplo en aplicaciones de diagnostico medico por imagenes se tiene que

para realizar el etiquetado de una imagen se deben consultar a varios expertos, lo cual

resulta monetariamente costoso y probablemente tome tambien un tiempo considerable.

Existen dos aproximaciones posibles al problema de aprendizaje activo, la primera

de ellas es solicitar las etiquetas de ciertos datos escogidos de manera inteligente

entre todos los datos del conjunto, de manera inteligente quiere decir aquellos datos

que de manera mas significativa reducen el espacio de versiones de las hipotesis. La

segunda aproximacion consiste en explotar las similaridades intrınsecas en los datos.

En esta segunda aproximacion para decidir que datos son etiquetados los algoritmos de

aprendizaje activo deben aprovechar las relaciones intrınsecas de los datos, relaciones

Page 20: Esquemas de representacion de datos para problemas de

6 2. Aprendizaje Activo

que se espera tengan alguna inferencia en la clasificacion de los mismos.

La primera de estas aproximaciones se estudio como parte del tema de aprendizaje

activo, la segunda en el tema de aprendizaje no supervisado.

Para la parte de aprendizaje activo del curso tutorial se estudio parte del trabajo de tres

reconocidos autores, Sanjoy Dasgupta, John Langford y Yoav Freund. A continuacion

se comenta el trabajo realizado con cada uno de dichos autores y los articulos estudiados

en cada caso.

2.1. Sanjoy Dasgupta

De este autor se estudiaron tres articulos diferentes. En primer lugar se estudio el

articulo ”Two Faces of Active Learning”, despues .Analysis of a greedy active learning

strategy 2finalmente Coarse sample complexity bounds for active learing”.

Two faces of active learning Este articulo es una especie de survey, pero no pretende

simplemente rememorar el trabajo realizado en el area de aprendizaje activo, sino

que presenta de manera introductoria y clara la teoria de este paradigma y ademas

realiza un analisis detallado de dos algoritmos. El articulo comienza presentando la

diferencia entre aprendizaje supervisado, aprendizaje semi-supervisado y aprendizaje

activo. En un caso en el que se tiene datos etiquetados y no etiquetados, el aprendiz

supervisado usara solo los datos etiquetados e ignorara los demas, en tanto al aprendiz

semi-supervisado trabajara con los datos etiquetados y utilizara los no etiquetados

para restringir la seleccion final del clasificador y finalmente el aprendiz activo lo que

intentara sera etiquetar los datos mas convenientes de manera tal que pueda lograr un

error bajo con el menor numero posible de datos etiquetados. El articulo trabaja sobre

el modelo de aprendizaje estadistico. En primer lugar se analiza la estrategia clasica

de etiquetar los datos cercanos a la frontera de clasificacion. Entonces se presenta el

tema de sampling bias con la ayuda del ejemplo clasico que se presenta en la figura

1. El concepto de sampling bias se refiere al error en el que se incurre al realizar un

45% 5% 45%

w∗

5%

w

Figure 3: An illustration of sampling bias in active learning. The data lie in four groups on the line, and are(say) distributed uniformly within each group. The two extremal groups contain 90% of the distribution.Solids have a + label, while stripes have a − label.

To do so, we shall consider learning problems within the framework of statistical learning theory. In thismodel, there is an unknown, underlying distribution P from which data points (and their hidden labels) aredrawn independently at random. If X denotes the space of data and Y the labels, this P is a distributionover X × Y. Any classifier we build is evaluated in terms of its performance on P.

In a typical learning problem, we choose classifiers from a set of candidate hypotheses H. The best suchcandidate, h∗ ∈ H, is by definition the one with smallest error on P, that is, with smallest

err(h) = P[h(X) 6= Y ].

Since P is unknown, we cannot perform this minimization ourselves. However, if we have access to a sampleof n points from P, we can choose a classifier hn that does well on this sample. We hope, then, that hn → h∗

as n grows. If this is true, we can also talk about the rate of convergence of err(hn) to err(h∗).A special case of interest is when h∗ makes no mistakes: that is, h∗(x) = y for all (x, y) in the support

of P. We will call this the separable case and will frequently use it in preliminary discussions because it isespecially amenable to analysis. All the algorithms we describe here, however, are designed for the morerealistic nonseparable scenario.

1.2 Sampling bias

When we consider the earlier querying scheme within the framework of statistical learning theory, we imme-diately run into the special difficulty of active learning: sampling bias.

The initial set of random samples from S, with its labeling, is a good reflection of the underlying datadistribution P. But as training proceeds, and points are queried based on increasingly confident assessmentsof their informativeness, the training set looks less and less like P. It consists of an unusual subset of points,hardly a representative subsample; why should a classifier trained on these strange points do well on theoverall distribution?

To make this intuition concrete, let’s consider the simple one-dimensional data set depicted in Figure 3.Most of the data lies in the two extremal groups, so an initial random sample has a good chance of comingentirely from these. Suppose the hypothesis class consists of thresholds on the line: H = hw : w ∈ R where

hw(x) =

+1 if x ≥ w−1 if x < w w

− +

Then the initial boundary will lie somewhere in the center group, and the first query point will lie inthis group. So will every subsequent query point, forever. As active learning proceeds, the algorithm willgradually converge to the classifier shown as w. But this has 5% error, whereas classifier w∗ has only 2.5%error. Thus the learner is not consistent: even with infinitely many labels, it returns a suboptimal classifier.

The problem is that the second group from the left gets overlooked. It is not part of the initial randomsample, and later on, the learner is mistakenly confident that the entire group has a − label. And this is justin one dimension; in high dimension, the problem can be expected to be worse, since there are more places

3

Figura 2.1: Ejemplo de sampling bias

Page 21: Esquemas de representacion de datos para problemas de

2.1 Sanjoy Dasgupta 7

muestreo limitado a los datos cercanos a la frontera de clasificacion. Con este muestreo

se generan dos problemas, en primer lugar el clasificador que se obtiene puede tener

una mala capacidad de regularizacion debido a que al limitar el muestreo a una parte

de los datos la distribucion sobre la que se entrena el clasificador ya no es igual a la

distribucion original de los datos y por lo tanto no se puede tener certeza de la validez

del clasificador para los datos en general. Y en segundo lugar puede que al muestrear

unicamente en los datos que se creen mas cercanos a la superficie de clasificacion se

este tomando una superficie equivocada como es el caso del ejemplo de la figura 1. El

sampling bias es tal vez el reto mas grande que debe superar un algoritmo de aprendizaje

activo.

El primero de los algoritmos analizados es CAL, algoritmo calificado como de

aprendizaje activo timido. Este algoritmo fue presentado por Cohn, Atlas y Ladner.

El algoritmo consiste basicamente en etiquetar un dato siempre que el mismo cause

un desacuerdo entre dos hipotesis pertenecientes al espacio de versiones actual. Este

algoritmo es muy bueno por su simplicidad pero tiene dos problemas graves, en primer

lugar esta el inconveniente de tener que llevar cuenta del espacio de versiones, lo que

para la gran mayoria de aplicaciones practicas resulta irrealizable. El segundo problema

es que los datos deben ser separables. Para sobreponerse a estas dos dificultades se

presento un algoritmo llamado DHM. Este algoritmo no requiere que los datos sean

separables puesto que para aquellos datos que no se solicita la etiqueta entonces se

infiere y se lleva cuenta del espacio de versiones mediante los datos que han sido

muestreados, de tal manera que el clasificador admite errores y ademas se evita el

problema de llevar cuenta del espacio de versiones.

El articulo presenta cotas de complejidad de etiqueta para este articulo en terminos

de la dimension VC del problema. Se define asi mismo un coeficiente de desacuerdo

que determina la condicion de terminacion del algoritmo. El segundo algoritmo que

se presenta se denomina General Agnostic Active Learning y es propuesto en otro

articulo por Dasgupta y Hsu. Este algoritmo pertenece a la segunda aproximacion de

aprendizaje activo la que pretende utilizar la estructura inherente de los datos para

realizar el etiquetado de estos. El algoritmo consiste basicamente en generar un grafo

de similaridad para los datos, solicitar algunas etiquetas de manera aleatoria y propagar

las mismas a lo largo del grafo en las partes en las que se formen clusters de los datos. El

algoritmo tiene dos puntos criticos, el primero es, hasta donde se puede propagar una

etiqueta? y el segundo es que etiquetas solicitar? porque no tendria sentido etiquetar de

manera completamente aleatoria. El primero de estos puntos criticos se soluciona con el

parametro de ajuste de la funcion de similaridad a utilizar, puesto que de acuerdo con

Page 22: Esquemas de representacion de datos para problemas de

8 2. Aprendizaje Activo

ese parametro se integraran los clusters originales antes de tener ninguna etiqueta. En

cuanto a que datos etiquetar, se presentan tres reglas basicas. La primera regla es que en

cualquier tiempo t el algoritmo recibe un cluster y escoge un dato uniformemente de ese

cluster para ser etiquetado. Esta regla significa que el aprendiz no puede seleccionar el

dato a etiquetar pero si el cluster al cual pertenece. La segunda regla establece que todo

cluster posterior en el tiempo es un refinamiento de un cluster pasado, lo que significa

que todo cluster posterior es un subconjunto de un cluster pasado. Finalmente la tercera

regla establece que cuando se ha definido refinar un determinado cluster, el refinamiento

del mismo no depende de las etiquetas vistas, sino que se realiza un proceso de clustering

no supervisado. Esta regla se establece para evitar ciertas dependencias complicadas

entre las etiquetas y el proceso de clustering. Los dos algoritmos son evaluados sobre el

ejemplo simple del clasificador que es un seprados sobre la recta real. En los dos casos

se observa una importante disminucion en el numero de etiquetas requeridas frente

a los algoritmos de aprendizaje supervisado. Finalmente el algoritmo de clustering es

probado sobre el set de datos MNIST presentando nuevamente resultados favorables.

Analysis of a greedy active learning strategy En este segundo articulo

Dasgupta no presenta un algoritmo como tal, lo que se hace es un analisis teorico

sobre la tecnica de basica de aprendizaje activo de etiquetar el dato mas informativo,

esta tecnica se conoce como una estrategia avara de etiquetado. El resultado principal

del trabajo es demostrar que en ciertas crcustancias el aprendizaje activo logra en el

mejor de los casos una mejora exponencial en el numero de etiquetas requeridas frente

al aprendiz supervisado, pero asi mismo se demuestra que para ciertos casos la mejora

es nula y el aprendiz activo debe etiquetar la misma cantidad de datos que el aprendiz

supervisado. Teniendo que d es la dimension VC, se dice que en el caso ideal el aprendiz

activo requiere dlog(m) etiquetas, en tanto que en el caso menos favorable se requieren

m etiquetas tal como el aprendiz supervisado. En particular se demuestra que si la

distribucion sobre el espacio de verisones es uniforme entonces el numero maximo de

etiquetas requeridas es del orden del logaritmo del tamano del espacio de versiones.

A continuacion se presenta un problema de clasificacion sobre una circunferencia para

el cual el aprendizaje activo no logra ninguna mejora en el numero de etiquetas.

Ahora se presenta la estrategia de etiquetado avaro que se comento anteriormente, la

estrategia es la siguiente:

Estrategia Avara. Teniendo S ⊆ H es el espacio actual de versiones. Para cada dato

xi, se define S+i como el set de hipotesis que clasifican xi como positivo y similarmente

S−i es el set de hipotesis que clasifican el dato como negativo. Entonces se solicita la

Page 23: Esquemas de representacion de datos para problemas de

2.1 Sanjoy Dasgupta 9

etiqueta del dato para el cual mın(π(S+i

), π(S−i))

es mayor.

En la proposicion anterior se tiene que H es el espacio efectivo de versiones y π es

la distribucion de probabilidad sobre ese espacio de versiones. Entonces vemos que la

estrategia de etiquetado consiste en solicitar la etiqueta para la cual el desacuerdo en

el espacio actual de versiones es mayor. Es decir la porcion sobre la distribucion de

probabilidad π de los clasificadores en desacuerdo es mayor. Lo que logra esto es que en

cada iteracion se etiqueta el dato que en mayor medida reduce el espacio de versiones,

tal como se planteo anteriormente.

Posteriormente el articulo presenta algunas cotas superiores e inferiores en el numero

de etiquetas para la estrategia avara. Estas cotas se dan para distribuciones uniformes

en el espacio de versiones, lo que las hace bastante restringidas en la practica pero aun

asi tienen gran valor teorico.

El articulo termina comentando la relacion del trabajo presentado con otros articulos

anteriormente presentados y las demostraciones de las cotas desarrolladas.

Hierarchical Sampling for Active Learning En este tercer articulo de Dasgupta

se presenta un algoritmo perteeciente al enfoque de aprendizaje activo que pretende

aprovechar la estructura de cluster de los datos sin etiquetar.

El algoritmo presentado en este articulo es en escencia muy simple. La idea es que

se parte de un arbol completo de clustering jerarquico sobre los datos. El arbol de

clustering jerarquico es una estructura en la que se inicia con que cada dato es un cluster

por si mismo y a medida que se sube un nivel en el arbol se van uniendo los clusters

mas cercanos de acuerdo a cierta medida de similaridad. Para el ejemplo presentado

anteriormente de clasificacion sobre la recta real el arbol de clustering jerarquico es

como se observa en la figura 2.

Entonces el algoritmo basicamente lo que hace es que inicia en el segundo nivel del

arbol jerarquico y verifica cual cluster es menos puro y desciende por esa rama en el

arbol para refinar el cluster. Este proceso continua hasta que se acaba el presupuesto

de etiquetas disponible. Al terminar, los datos de cada cluster se etiquetan segun la

mayoria de etiquetas en cada cluster. Y finalmente se entrena un clasificador con los

datos etiquetados por el algoritmo activo.

Como se puede ver la idea basica del algortimo es muy sencilla, pero los detalles en el

mismo no son para nada sencillos, estan muy bien concebidos y elaborados.

En primer lugar se determina un corte del arbol como un subconjunto de ramas y hojas

tal que todos los datos queden contenidos y ningun dato pertenezca a dos clusters a

la vez. Entonces teniendo esta definicion se puede ver que lo que hace el algoritmo de

Page 24: Esquemas de representacion de datos para problemas de

10 2. Aprendizaje Activo

Hierarchical Sampling for Active Learning

class labels. We describe an active learning strategywith good statistical properties, that will discover andexploit any informative pruning of the cluster tree. Forinstance, suppose it is possible to prune the cluster treeto m leaves (m unknown) that are fairly pure in thelabels of their constituent points. Then, after queryingjust O(m) labels, our learner will have a fairly accurateestimate of the labels of the entire data set. These canthen be used as is, or as input to a supervised learner.Thus, our scheme can be used in conjunction with anyhypothesis class, no matter how complex.

2. Active Learning and Sampling Bias

Many active learning heuristics start by choosing afew unlabeled points at random and querying theirlabels. They then repeatedly do something like this:fit a classifier h ∈ H to the labels seen so far; andquery the label of the unlabeled point closest to thedecision boundary of h (or the one on which h is mostuncertain, or something similar). Such schemes makeintuitive sense, but do not correctly manage the biasintroduced by adaptive sampling. Consider this 1-dexample:

w∗ w

5%45% 5% 45%

Here the data lie in four groups on the line, and are(say) distributed uniformly within each group. Filledblocks have a + label, while clear blocks have a − la-bel. Most of the data lies in the two extremal groups,so an initial random sample has a good chance of com-ing entirely from these. Suppose the hypothesis classconsists of thresholds on the line: H = hw : w ∈ Rwhere hw(x) = 1(x ≥ w). Then the initial bound-ary will lie somewhere in the center group, and thefirst query point will lie in this group. So will everysubsequent query point, forever. As active learningproceeds, the algorithm will gradually converge to theclassifier shown as w. But this has 5% error, whereasclassifier w∗ has only 2.5% error. Thus the learneris not consistent: even with infinitely many labels, itreturns a suboptimal classifier.

The problem is that the second group from the left getsoverlooked. It is not part of the initial random sample,and later on, the learner is mistakenly confident thatthe entire group has a − label. And this is just inone dimension; in high dimension, the problem canbe expected to be worse, since there are more placesfor this troublesome group to be hiding out. For a

1

94

3

87

5% 5%45%

65

2

45%

Figure 1. The top few nodes of a hierarchical clustering.

discussion of this problem in text classification, seethe recent paper of Schutze et al. (2006).

Sampling bias is the most fundamental challenge posedby active learning. This paper presents a broad frame-work for managing this bias that is provably sound.

3. A Clustering-Based Framework forGuiding Sampling

Our active learner starts with a hierarchical clusteringof the data. Figure 1 shows how this might look forthe example of the previous section.

Here only the top few nodes of the hierarchy are shown;their numbering is immaterial. At any given time, thelearner works with a particular partition of the dataset, given by a pruning of the tree. Initially, this isjust 1, a single cluster containing everything. Ran-dom points are drawn from this cluster and their la-bels are queried. Suppose one of these points, x, liesin the rightmost group. Then it is a random samplefrom node 1, but also from nodes 3 and 9. Based onthese random samples, each node of the tree maintainsstatistics about the relative numbers of positive andnegative instances seen. A few samples reveal that thetop node 1 is very mixed while nodes 2 and 3 are sub-stantially more pure. Once this transpires, the parti-tion 1 will be replaced by 2, 3. Subsequent randomsamples will be chosen from either 2 or 3, accordingto a sampling strategy favoring the less-pure node. Afew more queries down the line, the pruning will likelybe refined to 2, 4, 9. This is when the benefits of thepartitioning scheme become most obvious; based onthe samples seen, it can be concluded that cluster 9 is(almost) pure, and thus (almost) no more queries willbe made from it until the rest of the space has beenpartitioned into regions that are similarly pure.

The querying can be stopped at any stage; then, eachcluster in the current partition gets assigned the ma-jority label of the points queried from it. In this way,

Figura 2.2: Arbol de clustering jerarquico de ejemplo

Dasgupta es elegir el corte del arbol, para el cual se incurre en el menor error posible

al etiquetar cada cluster de acuerdo a su mayoria de etiquetas. La cuenta de pureza de

cada cluster se actualiza en cada iteracion y cada etiqueta que se solicita se actualiza el

cluster para el cual se solicito y todos los demas clusters a los que dicho dato pertenece.

Este proceso de actualizacion de los clusters y la cuenta de pureza de los mismos es

quizas la parte mas complicada del algoritmo.

Para evaluar la pureza de los clusters se hace uso de las cotas binomiales de error.

Particularmente se utiliza la cota superior, puesto que si esa cota es demasiado baja

entonces se supone que no vale la pena etiquetar ningun dato de ese cluster.

El articulo presenta cotas de error para el etiquetado final de los datos basado en

la mayoria de cada cluster. Se tiene que esas cotas son buenas si la pureza de los

clusters finales es buena, es decir que si el arbol jerarquico de los datos es coherente

con la clasificacion de los mismo entonces el algoritmo entregara buenos resultados,

pero de lo contrario el algortimo no puede garantizar un buen resultado en terminos de

complejidad de etiqueta.

Para terminar el articulo presenta pruebas del algoritmo sobre los datasets MNIST y

News Group. Los resultados se observan en la figura 3.

Los resultados de la figura 3, muestran que el algoritmo presentado funciona muy

bien y encuentra el corte optimo del arbol para este set de datos con 400 etiquetas. Se

muestra tambien que el algortimo es simpre mejor que la estrategia de etiquetado al

azar y es comparable con otro algoritmo de etiquetado activo como es el de maximo

margen.

Page 25: Esquemas de representacion de datos para problemas de

2.2 John Langford 11

Hierarchical Sampling for Active Learning

The inequality follows (with high probability) becausethe error bound for b is always at least the true error ε(up to constants), while another argument shows that

d∑

i=1

waiǫUBai,L(ai)

=O

(d∑

i=1

wai

nai(t)

)=O

(d

∑di=1 nai

(t)

).

We need to argue that the pure nodes do not getqueried too much. Well, if they have been queriedat least

√d/ε = O(

√(1/ε) log 1/ε) times, the chance

of selecting b is Ω(√

ε/d); another O(√

d/ε) querieswith active sampling suffice to land a constant num-ber in node b—just enough to cut the error inhalf. Overall, the number of queries needed is thenO(√

(1/ε) log(1/ε)), considerably less than the O(1/ε)required of random sampling.

4. Experiments

How many label queries can we save by exploitingcluster structure with active learning? Our analysissuggests that the savings is tied to how well the clus-ter structure aligns with the actual labels. To evaluatehow accommodating real world data is in this sense,we studied the performance of our active learner onseveral natural classification tasks.

4.1. Classification Tasks

When used for classification, our active learning frame-work decomposes into three parts: (1) unsupervised hi-erarchical clustering of the unlabeled data, (2) cluster-adaptive sampling (Algorithm 1, with the second vari-ant of select), and (3) supervised learning on the re-sulting fully labeled data. We used standard statisticalprocedures, Ward’s average linkage clustering and lo-gistic regression, for the unsupervised and supervisedcomponents, respectively, in order to assess just therole of the cluster-adaptive sampling method.

We compared the performance of our active learnerto two baseline active learning methods, random sam-pling and margin-based sampling, that only train aclassifier on the subset of queried labeled data. Ran-dom sampling chooses points to label at random, andmargin-based sampling chooses to label the pointsclosest to the decision boundary of the current classi-fier (as described in Section 2). Again, we used logisticregression with both of these methods.

A few details: We ran each active learning method 10times for each classification task, allowing the budgetof labels to grow in small increments. For each bud-get size, we evaluated the resulting classifier on a testset, computed its misclassification error, and averagedthis error over the repeated trials. Finally, we used

0 200 400 600 800 1000Number of clusters

0

0.2

0.4

0.6

0.8F

ract

ion

of la

bels

inco

rrec

t

0 1 2 3 4 5 6 7 8 9 10Number of labels (x1000)

0.1

0.2

Err

or

RandomMarginCluster

Figure 2. Results on OCR digits. Left: Errors of the bestprunings in the OCR digits tree. Right: Test error curveson classification task.

ℓ2-regularization with logistic regression, choosing thetrade-off parameter with 10-fold cross validation.

OCR digit images. We first considered multi-classclassification of the MNIST handwritten digit images.1

We used 10000 training images and 2000 test images.

The tree produced by Ward’s hierarchical cluster-ing method was especially accommodating for cluster-adaptive sampling. Figure 2 (left) depicts this quanti-tatively; it shows the error of the best k-pruning of thetree for several values of k. For example, the tree had apruning of 50 nodes with about 12% error. Our activelearner found such a pruning using just 400 labels.

Figure 2 (right) plots the test errors of the three activelearning methods on the multi-class classification task.Margin-based sampling and cluster-adaptive samplingboth outperformed random sampling, with margin-based sampling taking over a little after 2000 labelqueries. The initial advantage of cluster-adaptive sam-pling reflects its ability to discover and subsequentlyignore relatively pure clusters at the onset of sampling.Later on, it is left sampling from clusters of easily con-fused digits (e.g. 3’s, 5’s, and 8’s).

The test error of the margin-based method appearedto actually dip below the test error of classifier trainedusing all of the training data (with the correct labels).This appears to be a case of fortunate sampling bias.In contrast, cluster-adaptive sampling avoids this issueby concentrating on converging to the same result asif it had all of the correct training labels.

Newsgroup text. We also considered four pairwisebinary classification tasks with the 20 Newsgroupsdata set. Following Schohn and Cohn (2000), we chosefour pairs of newsgroups that varied in difficulty. Weused a version of the data set that removes duplicatesand some newsgroup-identifying headers, but other-

1http://yann.lecun.com/exdb/mnist/

Figura 2.3: Resultados sobre MNIST

2.2. John Langford

De John Langford se utilizo el articulo .Agnostic Active Learning”para el curso

tutorial. En este trabajo Langford plantea un algoritmo de aprendizaje activo que a

diferencia de otros propuestos anteriormente no requiere de la separabilidad de los datos

y es menos susceptible al ruido.

Algoritmos anteriores a este, como el ”Query by committee”son altamente susceptibles

al ruido debido a que eliminan una hipotesis si falla en la clasificacion de un solo dato,

el algoritmo A2 como es conocido el algoritmo de Langford, no incurre en este error

permitiendo que en el espacio de versiones se encuentren hipotesis que no son correctas

en todos los datos etiquetados, aunque por supuesto si en la mayoria de ellos.

El algoritmo se divide en dos partes fundamentales, la primera de ellas es la convencional

reduccion del espacio de versiones, aunque de manera controlada como ya se comento.

Y la segunda parte es la reduccion del espacio de datos a utilizar.

La primera parte, deciamos, es similar a la reduccion del espacio de versiones

convencional, pero para este algoritmo no se elimina una hipotesis al equivocarse en un

dato sino que se hace lo siguiente; para cada hipotesis se calculan cotas de probabilidad

de error de acuerdo con los datos hasta el momento etiquetados, en el articulo no hacen

mecion de que cotas se deben usar, pero normalmente se usan cotas binomiales, como

en el articulo de Dasgupta, cotas de la cuchilla de Ocam o algunas nuevas cotas mas

complejas pero mas ajustadas. Una vez se tienen las cotas de cada hipotesis entonces son

eliminadas solo aquellas hipotesis cuya cota inferior es mayor a la menor cota superior

de todas las hipotesis, es decir, que se eliminan las hipotesis cuyo desempen0 se espera

Page 26: Esquemas de representacion de datos para problemas de

12 2. Aprendizaje Activo

sea peor que el menos mejor de todos. En cuanto a la segunda parte, la reduccion del

espacio de datos a utilizar, la idea es la siguiente, sobre el espacio total de los datos

sin etiquetar se eliminan las regiones en las cuales todas las hipotesis del espacio de

versiones actual concuerdan, para medir la concordancia de estas hipotesis en el espacio

de datos se usa el coeficiente de desacuerdo el cual se define como,

DisagreeD (Hi) = Prx∼D [∃h1, h2 ∈ G : h1(x) 6= h2(x)]

Es decir que para el espacio de versiones Hi se encuentran aquellos puntos x, en los

cuales todas las hipotesis concuerdan y dichos puntos son eliminados. Teniendo estas

dos partes claras se enuncia el algoritmo. Finalmente se prueba el algoritmo sobre dos

ejemplos artificiales. El primer ejemplo es el clasificador que es un separador sobre la

recta real y el segundo es el ejemplo en el que los datos viven en una hiperesfera de

dimension R centrada en el origen y el clasificador es un hiperplano que pasa por el

origen. En los dos ejemplos el algoritmo funciona satisfactoriamente.

El problema es que no se realiza ninguna prueba del algoritmo sobre un set de datos real,

lo cual seguramente se debe a que esa tarea no es nada sencilla. Y no es sencilla debido

a dos inconvenientes en el algoritmo, el primero es que el algoritmo requiere conocer

el espacio de versiones completo y lo que es aun mas dificil requiere caulcular cotas

de error en cada una de las hipotesis en cada iteracion, lo cual es computacionalmente

imposible. El otro problema, aunque proviene de la misma causa, es que se requiere

calcular el coeficiente de desacuerdo para cada hipotesis, lo que implica evaluar cada

dato con cada hipotesis, tarea que resulta computacionalmente imposible tambien.

En resumen el algoritmo es de gran valor teorico pero en la practica no es de gran

ayuda por las debilidades expuestas anteriormente.

Page 27: Esquemas de representacion de datos para problemas de

2.3 Yoav Freund 13

2.3. Yoav Freund

De Freund se estudio el algoritmo ”Query by committee”. Este algoritmo es muy

importante en el area de aprendizaje activo a pesar de que resulta tambien impractico

al igual que A2. El algoritmo completo es el siguiente.

Algorithm 1: Query by Committee

Input : ε, δ, Gibbs, Label

Output: Gibbs(Vn, x)

Initialize n=0 (calls to label), V0 = C (The version space is the hole concept

class);

repeat

tn = 1ε ln

π2(n+ 1)2

3δ;

Sample an unlabelled instance x, drawn according to D;

Call Gibbs(Vn, x) twice.;

if the two predictions are equal then

Reject the example and go back to 4;

else

Call Label(x) to get C(x);

n = n+ 1;

Update Vn;

end

until tn examples are rejected ;

El algoritmo basicamente funciona de la siguiente manera. Se parte de un conjunto

de datos sin etiquetar y un espacio de versiones completo. Se solicita un dato al azar,

asi mismo, se toman dos hipotesis al azar del espacio de versiones actual (dos en el

caso en que el comite sea de dos, como el algoritmo presentado, pueden ser mas) y se

clasifica el dato de acuerdo a estas dos hipotesis. Si la clasificacion que entregan las dos

hipotesis es igual, entonces no se solicita la etiqueta del dato, pero de lo contrario se

solicita la etiqueta y se elimina todas aquellas hipotesis en el espacio de versiones que

no concuerdan con la etiqueta recibida.

Evidentemente con todo lo que se ha comentado sobre A2 este algoritmo de ”Query by

committee”tampoco es realizable en general. Debido a esto se realizo una implemen-

tacion del algoritmo limitada al problema de clasificacion comentado anteriormente.

El problema en el que los datos viven dentro de la hiperesfera centrada en el origen

Page 28: Esquemas de representacion de datos para problemas de

14 2. Aprendizaje Activo

y la superficie de clasificacion es un hiperplano que pasa por el origen. Aun para este

problema sintentico se encontro que el algoritmo es irrealizable para una dimension

mayor a 2. Los resultados para el problema en dos dimensiones son satisfactorios, el

algoritmo funciona correctamente y presenta un buen desempeno en terminos de la

complejidad de etiqueta.

En la figura 2.4 se observa que el algoritmo funciona correctamente, los datos que

se observan en rojo son aquellos que son etiquetados y las lineas rojas demarcan los

limites del espacio de versiones actual. La razon por la que con simplemente aumentar

la dimension de 2 a 3 no es posible programar el algoritmo de QBC es que al pasar a

tres dimensiones los clasificadores posibles para un grupo de datos pasan de ser finitos

y pocos, a ser infinitos, de manera tal que no es posible llevar el seguimiento al espacio

actual de versiones.

Finalmente sobre este algoritmo se estudio un articulo llamado ”Query by committee

made real”, este articulo presenta un algoritmo que se basa en el de Freund pero como

su titulo indica con ciertos arreglos que lo hacen practico.

El articulo comenta que la dificultad mas grande que afronta la implementacion de

QBC es la actualizacion del espacio de versiones, puesto que aun en el remoto caso en

que se conozco en su totalidad dicho espacio de versiones queda el gran problema de

muestrear hipotesis del mismo.

En el algoritmo de QBC la unica razon de muestrear las hipotesis es para comprara

sus resutados de clasificacion sobre un dato y determinar si se debe o no solicitar la

etiqueta del mismo. Entonces la solucion planteada en este trabajo es no realizar ese

muestreo de hipotesis sino que simplemente se etiqueta un dato con probabilidad igual

a la probabilidad de que dasdas dos hipotesis del espacio de versiones estas difieran en

la clasificacion del dato.

La forma de calcular y actualizar esa probabilidad es que las hipotesis no son

muestreadas del espacio de versiones solamente, sino que son muestreadas de la

interseccion del espacio de versiones con el espacio espandido de los datos hasta el

momento etiquetados, esta interseccion permite que el muestreo se haga de un espacio

de baja dimension y limitado por el numero de datos etiquetados de manera tal que

es repida y simple a diferencia de la planteada en QBC. El espacio de muetreo que se

logra con esa interseccion resulta convexo entonces el articulo presenta una tecnica de

muestreo llamada hit and run que es muy eficiente para espacios convexos y la anade

a su algoritmo.

El algoritmo es probado en un set artificial de datos y en un problema de reconocimiento

de rostros.

Page 29: Esquemas de representacion de datos para problemas de

2.3 Yoav Freund 15

Page 30: Esquemas de representacion de datos para problemas de

16 2. Aprendizaje Activo

−0.4 −0.2 0.0 0.2 0.4

−0.

20.

00.

20.

4

t(x2[1:2, ])[,1]

t(x2

[1:2

, ])[

,2]

−0.4 −0.2 0.0 0.2 0.4

−0.

20.

00.

20.

4

−0.4 −0.2 0.0 0.2 0.4

−0.

20.

00.

20.

4

t(x2[1:2, ])[,1]

t(x2

[1:2

, ])[

,2]

−0.4 −0.2 0.0 0.2 0.4

−0.

20.

00.

20.

4

Figura 2.4: Resultados QBC con error de a) 0.2 y b) 0.01

Page 31: Esquemas de representacion de datos para problemas de

3Clustering Espectral

3.1. Clustering

Un esquema de representacion de datos se refiere a una forma diferente de

presentacion de los datos de entrada, esta nueva forma debe ser tal que facilite la

labor de clasificacion a realizar. Un claro ejemplo de esto es el Clustering, este termino

se traduce como agrupamiento y, tal como su nombre lo indica, consiste en agrupar los

datos de acuerdo a caracterısticas de los mismos. La tecnica funciona bajo el supuesto

de que los datos de caracterısticas similares corresponden a la misma clase. Entonces

lo que busca todo algoritmo de Clustering es formar grupos de datos tan puros como

sea posible, la pureza del cluster esta dada por la variedad de clases dentro del mismo,

es decir un cluster perfectamente puro es aquel que contiene datos de una sola clase.

En la figura 1 observamos un ejemplo de datos correctamente agrupados.

Existen un gran numero de tipos de clustering [4], entre los cuales se destacan,

Hierarchical Clustering, K-means, Self Organizing Feature Maps (SOFM), Fuzzy c-

means, Neural Networks based Clustering y Spectral Clustering entre otros. Todos

estos algoritmos de Clustering consisten esencialmente en una exploracion de posibles

patrones de agrupamiento escondidos en los enormes sets de datos, y todos trabajan

en el contexto de aprendizaje no supervisado es decir que no toman en cuenta la

clasificacion de los datos, lo cual representa un valor agregado en las tecnicas de

clustering puesto que como ya se habıa mencionado en ocasiones es relativamente

sencillo tener acceso a una gran cantidad de datos pero resulta muy complicado el tener

acceso a las etiquetas de los mismos. En el trabajo realizado durante este semestre se

profundizo particularmente en el algoritmo de Spectral Clustering dado que se considero

tiene una mayor relevancia para el proyecto, por esta razon mas adelante se presenta

Page 32: Esquemas de representacion de datos para problemas de

18 3. Clustering Espectral

un analisis detallado de esta forma de agrupamiento.

3.2. Clustering Espectral

El clustering es probablemente la tecnica mas utilizada en lo que a exploracion

de datos se refiere con aplicaciones que van desde la estadıstica y las ciencias de

la computacion hasta la biologıa y las ciencias sociales. Y dentro de las tecnicas de

clustering se destaca el spectral clustering dado que presenta muy buenos resultados en

muchos casos superior a otras tecnicas. A continuacion exploraremos a fondo una de

las formas de spectral clustering conocida como la version no normalizada, las otras

variaciones de spectral clustering son similares y en cierta forma equivalentes a la

aca presentada y ademas por supuesto entregan resultados muy similares.

En primer lugar debemos presentar algunos conceptos basicos sobre grafos, conceptos

que utilizaremos mas adelante.

Denotamos un grafo como G = (V,E) donde V es el conjunto de vertices V =

v1, v2, ..., vn y E el conjunto de arcos. Vamos a trabajar unicamente con grafos

pesados, es decir que cada arco del conjunto E que se tiende entre los vertices vi y

vj tiene un peso no negativo wij y dado que el grafo es no dirigido entonces tenemos

que wij = wji. Definimos la matriz de adyacencia del grafo como W = (wij)i,j=1,...,n y

definimos el grado de un vertice como di =∑n

j=1wij . Y la matriz de grado D del grafo

como la matriz con los grados de los vertices en la diagonal.

A es un subset del conjunto V de vertices A ⊂ V and A es su complemento. Podemos

medir el tamano de A como |A| :=Numero de vertices en A o vol(A)=∑

i∈A di.

Se define un subgrafo del grafo G = (V,E) como el grafo A = (A,EA) es decir los

vertices en el conjunto A y los arcos que involucran estos vertices. Decimos que el grafo

A es conectado si existe un camino entre cualquier para de vertices en el grafo y el

camino pasa unicamente por otros vertices pertenecientes a A. Ademas el grafo A se

dice completo si es conectado y no existe ningun vertice entre A y su complemento.

Definimos W (A,B) =∑

i∈A,j∈B wij como una medida de los arcos entre los subgrafos

A y B, los cuales no son necesariamente disyuntos. Ahora procedemos a observar el

algoritmo de spectral clustering no normalizado: Teniendo el set de datos x1, x2, ..., xn

la matriz de similaridad S se define de acuerdo con la medida de similaridad que se

adopte. Por ejemplo se podrıa definir como medida de similaridad la distancia euclidiana

si,j =

√(xi − xj)2 (3.1)

Page 33: Esquemas de representacion de datos para problemas de

3.2 Clustering Espectral 19

aunque la medida mas utilizada en spectral clustering es la gaussiana, definida como

si,j = e

−‖xi − xj‖22σ2

(3.2)

de aquı en adelante seguiremos utilizando la medida de similaridad gaussiana.

A partir de la matriz de similaridad S se construye un grafo de similaridad, esta tambien

puede ser construido de distintas maneras, tres de ellas son:

The ε-neigborhood graph Esta construccion del grafo consiste en construir arcos

entre aquellos vertices que tienen distancia de similaridad menor a ε.

The k-nearest neighbor graph En este grafo se tienden arcos de un vertice a sus k

vecinos mas cercanos, es decir a los k vertices con menor distancia hacia el.

The fully connected graph Esta es la forma de construccion mas sencilla de

todas. Simplemente se tienden todos los arcos con el peso designado, en la matriz

de similaridad.

Se calcula la matriz de adyacencia del grafo W como se explico anteriormente.

Ası mismo se calcula la matriz de grado del grafo D.

Partiendo de estas dos matrices se define la matriz laplaciana del grafo (no normalizada)

como:

L = D −W (3.3)

Esta matriz cuenta con las siguiente propiedades:

Para todo vector f ∈ <n se tiene

f ′Lf = 12

∑ni,j=1wij(fi − fj)2

L es simetrica y positiva semidefinida

El valor propio mas pequeno de L es 0 y el vector propio correspondiente es un

vector constante

L tiene n valores propios no negativos y reales. 0 = λ1 ≤ ... ≤ λn

Se demuestra la primera propiedad de la siguiente manera

f ′Lf = f ′Df − f ′Wf =n∑

i=1

dif2i −

n∑

i,j=1

fifjwij (3.4)

Page 34: Esquemas de representacion de datos para problemas de

20 3. Clustering Espectral

=1

2

n∑

i=1

dif2i − 2

n∑

i,j=1

fifjwij +n∑

i=1

dif2i

=

1

2

n∑

i,j=1

wij (fi − fj)2 (3.5)

Y las demas propiedades se derivan de esta.

Una vez que se tiene esta matriz L, el resto del algoritmo se compone de calculos muy

conocidos. Primero se calcula la descomposicion espectral de la matriz, se toman los

k valores propios mas pequenos y sus vectores correspondientes, con estos vectores a

manera de columnas se forma una matriz, se aplica el conocido algoritmo de k-means

a esta matriz suponiendo cada fila de la matriz como una entrada en el espacio Rk.

Despues se aplica el mismo agrupamiento encontrado para esta matriz a los datos

originales y esos son los clusters definitivos. Como vemos el algoritmo es relativamente

sencillo y no requiere de calculos excesivamente costosos computacionalmente hablando

pero aun ası no es inmediato el entender porque este algoritmo funciona tan bien, por

esta razon a continuacion intentaremos explicar el funcionamiento del mismo.

El Clustering Espectral no normalizado como un problema de corte mınimo

La idea central de todo algoritmo de clustering es formar grupos de datos de acuerdo a

algun criterio de similaridad. Si recibimos los datos en forma de una grafo de similaridad

entonces el problema se puede abordar como el problema de encontrar una particion

del grafo tal que los arcos entre diferentes subgrafos tengan muy poco peso, lo que

significarıa que los datos de grupos distintos son bastante disimiles, y los arcos internos

de cada subgrafo tengan mucho peso, lo que significarıa que los datos del mismo grupo

son bastante parecidos.

El problema de corte mınimo de un grafo se define como la minimizacion respecto a la

particion del grafo de:

cut(A1, ..., Ak) :=1

2

k∑

i=1

W(Ai, Ai

)(3.6)

Donde W(Ai, Ai

)es la cantidad definida anteriormente que indica la porcion de arcos

entre A y A en este caso. En particular para k = 2 el problema se puede solucionar

facilmente pero en general para k ≥ 3 el problema no es nada sencillo y en ocasiones la

solucion resulta muy poco satisfactoria, por lo menos para ser utilizada como algoritmo

de clustering, esto debido a que en ocasiones el corte mınimo se obtiene con solo retirar

un arco que une un vertice aislado del grafo, de tal forma que un subgrafo se forma de

un solo vertice y el otro del resto de vertices, o equivalentemente se tendrıa un cluster

con un solo dato y otro cluster con el resto de datos, lo cual no sirve para nada, por

obvias razones.

Page 35: Esquemas de representacion de datos para problemas de

3.2 Clustering Espectral 21

Para evitar este problema se replantea el problema de manera tal que se penalicen las

soluciones con clusters demasiado pequenos.

Ratiocut(A1, ..., Ak) :=1

2

k∑

i=1

W(Ai, Ai

)

|Ai|=

k∑

i=1

cut(Ai, Ai

)

|Ai|(3.7)

La funcion de corte del grafo planteada de esta forma, se denomina funcion de corte

radial del grafo y podemos ver que tiende a ser mınima cuando todos los subgrafos

(clusters) tienen un numero similar de vertices (datos). Entonces ahora procedemos a

solucionar el problema de minimizacion de la funcion de corte radial del grafo, pero

nos encontramos con un enorme inconveniente, este problema es NP-completo, de tal

forma que no puede ser solucionado de manera eficiente para un grafo arbitrariamente

grande y para un numero k de clusters arbitrario.

Entonces a continuacion observaremos que relajar el problema de minimizacion de la

funcion de corte radial del grafo es equivalente al algoritmo de clustering espectral no

normalizado, presentado anteriormente.

Inicialmente desarrollaremos el planteamiento para k = 2 y luego extrapolaremos el

resultado a numero arbitrario de clusters. Se plantea el problema de optimizacion:

minA∈VRatiocut(A, A

)(3.8)

Y se reescribe de manera conveniente ası. Se define un vector f = (f1, ..., fn)′ ∈ <n tal

que cada entrada esta dada por:

fi =

√vol(A)

vol(A)if vi ∈ A

−√vol(A)

vol(A)if vi ∈ A

(3.9)

Entonces podemos reescribir el problema de optimizacion planteado en funcion del

vector f y de la matriz laplaciana del grafo ası:

f ′Lf = 12

∑ni,j=1wij(fi − fj)2

= 12

∑i∈A,j∈Awij

(√|A||A| +

√|A||A|

)2

+ 12

∑i∈A,j∈Awij

(−√|A||A| −

√|A||A|

)2

= cut(A, A) ∗( |A||A| +

|A||A| + 2

)= cut(A, A) ∗

( |A|+ |A||A| +

|A|+ |A||A|

)

= |V |Ratiocut(A, A)

Page 36: Esquemas de representacion de datos para problemas de

22 3. Clustering Espectral

Ahora verificamos que con el vector f definido a la manera como se planteo anterior-

mente es ortogonal al vector constante 1 y ademas cumple que:

∑ni=1 fi =

∑i∈A

√|A||A| −

∑i∈A

√|A||A| = |A|

√|A||A| − |A|

√|A||A| = 0

y ası mismo se verifica la siguiente propiedad:

‖f‖2 =∑n

i=1 f2i = |A| |A||A| + |A| |A||A| = |A|+ |A| = n

Entonces resumiendo tenemos que el problema de minimizacion de la funcion de corte

radial del grafo es:

minA⊂V f′Lf

sujeto a

f ⊥ 1

fi definido de acuerdo con la ecuacion 26

‖f‖ =√n

Este es un problema de optimizacion discreta y tal como se habıa mencionado

anteriormente es NP-completo de tal forma que es necesario plantear una version

relajada del mismo. La manera mas evidente de plantear esa segunda version es

convirtiendo el problema a un problema de optimizacion continuo, es decir que las

entradas del vector f ya no son de la forma definida en la ecuacion 26 sino que toman

cualquier valor real. Entonces el problema queda como:

minA⊂V f′Lf

sujeto a

f ⊥ 1

‖f‖ =√n

y este resulta ser un problema muy conocido que de acuerdo con el teorema de Rayleigh-

Ritz se soluciona con f = 2VL es decir cuando f es vector propio de L correspondiente

al segundo valor propio mas pequeno. Por supuesto que el problema de clustering no

termina aquı puesto que no se han asignado los datos a cada clusters. Para ello la manera

mas inmediata de hacerlo serıa asignar el dato 1 al cluster 1 si la primera entrada del

vector f es negativa o de lo contrario, si la entrada es positiva entonces se asigna el dato

1 al cluster 2 y ası sucesivamente con todos los datos. Esta serıa una buena forma de

Page 37: Esquemas de representacion de datos para problemas de

3.2 Clustering Espectral 23

realizar la asignacion pero una forma mejor consiste en aplicar el algoritmo de k-means

al vector f y definir ası los clusters. Vemos que esta segunda forma es exactamente lo

forma en que trabaja el algoritmo de Clustering Espectral no normalizado.

Para llevar a cabo la extrapolacion de este resultado al caso general de k ≥ 3 basta

con generar no solo un vector indicador f, como el que se definio sino que se definen

varios vectores h, tantos como sea el numero de clusters y cada vector funciona como

vector indicador de un cluster especifico. Estos vectores indicadores h se agrupan en

una matriz H y se plantea el problema tal como se planteo anteriormente, se relaja de

la misma forma y se soluciona de la misma forma.

Page 38: Esquemas de representacion de datos para problemas de

24 3. Clustering Espectral

Figura 3.1: Ejemplo de datos susceptibles de ser agrupados correctamente

Figura 3.2: Algoritmo de Clustering Espectral

Page 39: Esquemas de representacion de datos para problemas de

4Algoritmo Propuesto

4.0.1. Restricciones

Como se indico anteriormente el algoritmo utiliza restricciones absolutas, sin valor

de creencia. Estas restricciones se definen con base en la clasificacion real de los datos.

Se tienen restricciones de union y de separacion, cada restriccion involucra dos datos.

La matriz de restricciones es

Qij = Qji =

1 si xi y xj ertenecen al mismo cluster

−1 si xi y xj pertenecen a distinto cluster

0 si sin restriccion

Cada vez que se etiqueta un nuevo dato, la matriz de restricciones se actualiza

completamente para ese dato, es decir que se actualizan todas las restricciones para

los datos hasta el momento etiquetados. Esto se hace utilizando la propiedad de

transitividad de las restricciones presentada en [8], esta propiedad basicamente establece

que si un dato a tiene una restriccion de union con un dato b y con otro dato c

entonces b y c tienen tambien una restriccion de union. Esta propiedad aplica tambien

para las restricciones de separacion, pero de manera distinta, lo que se hace es que se

actualizan las restricciones de separacion de un nuevo dato de copiando las restricciones

de separacion del ultimo dato etiquetado de la misma clase.

La matriz de restricciones tambien es normalizada respecto a la matriz de grado del

grafo, lo anterior con el fin de tener un factor de regularizacion estable, no dependiente

de los valores de la funcion de similaridad.

CQ = D−12QD−

12 (4.1)

Page 40: Esquemas de representacion de datos para problemas de

26 4. Algoritmo Propuesto

4.0.2. Clustering espectral con restricciones

El algoritmo de clustering espectral con restricciones aca presentado esta basado en

el algoritmo de [14].

Se utiliza el planteamiento del problema de corte mınimo normalizado presentado en

[2]. Este problema es planteado y resuelto por simplicidad para el caso de clasificacion

binaria pero su resultado se extrapola a problemas multiclase.

El problema de minimizacion de clustering espectral sin restricciones en su version

relajada se presenta en la ecuacion 2

C mınu∈<N

u′Lu (4.2)

s. t.

uTu = vol(g)

u ⊥ D− 12 1

La funcion objetivo de la ecuacion dos es la norma del vector u en la metrica de la

matriz L, de tal forma que al minimizar esta norma se obtiene un vector indicador de

cluster coherente con las similaridades entre los datos, consignadas en la matriz L. Las

restricciones sirven para excluir la solucion trivial y para garantizar que la solucion

final indique un unico cluster para cada dato. Esta demostrado que la solucion a este

problema esta dada por el vector propio correspondiente al segundo menor valor propio

de la matriz laplaciana [15] . Entonces en el algoritmo de clustering espectral tradicional

se calcula la matriz laplaciana, se calcula la descomposicion espectral de esta matriz y

se utiliza el segundo vector propio como vector indicador del cluster.

Para este trabajo se requiere incorporar las restricciones al problema planteado, para

ello se agrega un factor adicional al problema de minimizacion, un indicador del factor

de satisfaccion de las restricciones impuestas.

uTQu =

N∑

i=1

N∑

i=1

uiujQij (4.3)

Este factor de satisfaccion de las restricciones es grande en la medida en que el vector

indicador del cluster u es coherente con las restricciones consignadas en la matriz Q, es

decir si el algoritmo satisface las restricciones, en caso contrario el factor es pequeno.

El vector indicador del cluster tambien se normaliza como u = D−12 v.

Finalmente se obtiene que el problema de minimizacion de clustering espectral con

Page 41: Esquemas de representacion de datos para problemas de

27

restricciones es:

C mınv∈<N

v′Lv

s. t.

vT Qv ≥ α (4.4)

vT v = vol(g)

v ⊥ D− 12 1

Donde α es una constante que determina con que rigidez se cumplen las restricciones.

Aunque el cambio con respecto al problema anterior es pequeno la solucion cambia

notablemente, en este caso el vector propio del segundo valor propio ya no es la

solucion optima al problema, entonces se plantea la solucion al problema utilizando

las condiciones de Karush Kuhn Tuker [16].

En primer lugar se plantea el langrangiano del problema.

CL(v, λ, µ) = vT Lv − λ(vT Qv − α

)− µ

(vT v − vol(g)

)

de donde se obtiene que las condiciones de KKT son

Factibilidad

CvT Qv ≥ α (4.5)

vT v = vol(g) (4.6)

v ⊥ D− 12 1 (4.7)

Convexidad

rClλ ≥ 0

v* minimo del lagrangiano

rClLv − λQv − µv = 0

Holgura complementaria

rClλ(vT Qv − α

)= 0

Page 42: Esquemas de representacion de datos para problemas de

28 4. Algoritmo Propuesto

Las condiciones de factibilidad aseguran que: el algoritmo cumple con las restricciones

por lo menos en un factor α, por la ecuacion 5; el algoritmo asegura que cada dato

pertenece a un solo cluster por la ecuacion 6 y el algoritmo no entrega la solucion

trivial, en la cual todos los datos pertenecen al mismo cluster, por la ecuacion 7. La

solucion al problema se obtiene paso a paso utilizando las condiciones de KKT. En

primer lugar se utiliza la condicion de holgura complementaria. Se toma el caso en que

λ 6= 0, de manera que las condiciones se replantean como:

CLv − λQv − µv = 0

vT v = vol(g) (4.8)

vT Qv = α

λ > 0 (4.9)

El sistema de ecuaciones de la ecuacion 8 es de rango incompleto y por lo tanto no

existe garantıa de que tenga solucion y en caso de tenerla puede tener no una sino

infinitas soluciones. Para garantizar la solucion del sistema se introduce una nueva

variable β = −µλvol(g). Al reemplazar esta variable en la primera ecuacion del sistema

anterior se obtiene

rClLv = λ

(Q− β

vol(g)I

)v (4.10)

Este es un problema generalizado de valores propios, el cual puede ser resuelto

eficientemente y tiene a lo sumo n soluciones. Ası mismo en [14] se demuestra

que β es una cota inferior de α con lo cual se garantiza la satisfaccion de la

condicion de cumplimiento de las restricciones. Entonces para solucionar el problema

de minimizacion, se resuelve el problema general de valores propios de la ecuacion diez,

se eliminan las soluciones correspondientes a valores propios no positivos y los vectores

propios restantes son utilizados como indicadores de cluster, aplicando sobre estos el

algoritmo de k-medias.

El algoritmo de clustering espectral con restricciones implementado es el algoritmo 1.

4.0.3. Cotas de error

Para realizar el etiquetado de manera activa lo que se propone es incrementar el

muestreo de aquellos clusters en los cuales se encuentran datos de diversas clases y

disminuir el muestreo en los clusters de mayor pureza.

Teniendo etiquetado cierto numero de datos pertenecientes a un determinado cluster,

Page 43: Esquemas de representacion de datos para problemas de

29

Algorithm 2: Clustering Espectral con Restricciones (CSR)

Input : A, Q, βOutput: u∗vol(g) =

∑Ni=1

∑Nj=1Aij , D = diag(

∑Nj=1Aij);

L = I −D− 12AD−

12 , Q = D−

12QD−

12 ;

if β ≥ λQmaxvol(g) thenreturn u∗ = 0

else

Solve Lv = λ(Q− β

vol(g)I)v;

Se eliminan los vectores propios correspondientes a valores propios nopositivos;

El resto se normaliza como v =v

‖v‖vol(g);

Cluster=k-medias(v);return Cluster ;

end

se asume que la clase con la mayorıa de etiquetas es la clase del cluster y los datos

de otra clase son errores del algoritmo de clustering. Como medida de pureza de los

clusters formados se utiliza la cota de error binomial.

Cada cluster tiene un coeficiente de impureza real que se denota Ic y el objetivo

es estimar dicho coeficiente mediante un coeficiente experimental Ic. El coeficiente

experimental es la razon entre el numero de etiquetas de la clase dominante (p)

del cluster y todas las etiquetas vistas para ese cluster (m). Este planteamiento es

equivalente el estimativo de la probabilidad del lanzamiento de la moneda que se realiza

contando el numero de caras (p) en cierto numero de lanzamientos (m). Para dicho

estimativo se utiliza la distribucion binomial. Denotamos la distribucion de Bernoulli

como B(p).

Distribucion Binomial

Bin (m, p, Ic) ≡p∑

j=0

(m

j

)Ijc (1− Ic)m−j

Es la probabilidad de obtener p o menos etiquetas correctas al etiquetar m datos de un

cluster con coeficiente de pureza real Ic.

Dado que el objetivo es calcular cotas para el coeficiente de pureza real del cluster,

dada cierta confianza δ y un coeficiente empırico Ic entonces es conveniente presentar

Page 44: Esquemas de representacion de datos para problemas de

30 4. Algoritmo Propuesto

la forma inversa de la distribucion binomial.

Inversion de la Distribucion Binomial

Bin (m, p, δ) ≡ maxbp:

¯Bin (m, p, b) ≥ δ

Es el mayor coeficiente de pureza real Ic, tal que la probabilidad de obtener p etiquetas

o mas de la clase dominante es por lo menos δ.

Es ası que los datos son etiquetados con probabilidad ∝(1− IUBc

)donde IUBc es

la cota superior del coeficiente de pureza de cada cluster (UB por sus siglas en ingles

Upper Bound).

Este esquema resulta en un mayor numero de etiquetas en los clusters en los que

se encuentran datos de distintas clases mezclados, pero sin eliminar completamente

el muestreo de los clusters mas puros puesto que eso conlleva al error de muestreo

(sampling bias) [17].

4.1. Algoritmo propuesto

Algorithm 3: Etiquetado espectral para aprendizaje activo (EEAA)

Input : xi for i = 1, ..., n, Bud, ncOutput: u = ui for i = 1, ..., n

Genera la matriz de afinidad A Inicializa Q = matrix(0, n, n);u=CSC(A,Q,nc) ;repeat

Actualiza IUBc para cada cluster;Elige un cluster con probabilidad ∝ wcl(1− pUBc );Se etiqueta un dato al azar del cluster elegido;Actualiza la matriz Q;

β = λQmaxvol(g)(

0,5 + 0,3# de etiquetasN2

)u=CSR(A,Q,nc);

Bud=Bud-1;

until Bud = 0 ;

El algoritmo recibe los datos con sus respectivas etiquetas, recibe un presupuesto

para etiquetado y el numero de clusters a formar. La idea es simple, se corre el algoritmo

de clustering espectral con restricciones (CSC) sobre los datos, se calcula la pureza

de cada cluster y se muestrean datos de los clusters de acuerdo con este calculo. Se

utilizan las etiquetas vistas para actualizar la matriz de restricciones y correr de nuevo

Page 45: Esquemas de representacion de datos para problemas de

4.1 Algoritmo propuesto 31

el algoritmo CSC. Este proceso se itera hasta que se acaba el presupuesto. Se entrega

el ultimo vector indicador del cluster obtenido.

Como se puede observar en el algoritmo de etiquetado espectral para aprendizaje activo

el parametro β no lo fija el usuario sino que es calculado de acuerdo con la formula

presentada el algoritmo 2, esta formula garantiza que el parametro se encuentre en el

intervalo λQminvol(g) < β < λQmaxvol(g), donde λQmin y λQmax son el menor y el

mayor valor propio de la matriz Q respectivamente. Esto garantiza que el problema

generalizado de valores propios sea factible [14]. Los parametros 0.5 y 0.3 son ajustados

manualmente de acuerdo con la exigencia sobre el cumplimiento de las restricciones que

se desee imponer.

En cuanto al algoritmo CSC se aclara que para la parte de k-medias, no se utilizan

todos los vectores propios que solucionan el problema generalizado sino que se utiliza

una porcion de ellos, el tamano de esa porcion es un parametro de ajuste en cada

experimento.

Page 46: Esquemas de representacion de datos para problemas de
Page 47: Esquemas de representacion de datos para problemas de

5Experimentos y resultados

El algoritmo es probado en tres conjuntos de datos del reservorio de la UCI [18], Iris,

Glass y Column. Para los tres conjuntos de datos se utiliza el kernel gaussiano como

funcion de similaridad, variando el parametro de varianza en cada caso. La matriz de

adyacencia se forma con la tecnica de k-vecinos, utilizando un numero diferente de

vecinos en cada caso. En todos los casos se utilizo un 40 % de los vectores solucion del

problema generalizado en la parte de k-medias. Los tres datasets son descritos en la

tabla 1, junto con los parametros de varianza y numero de vecinos utilizados en cada

caso.

Dataset # Atributos # Instancias # Clases σ # Vecinos

IRIS 4 150 3 0.8 34

GLASS 9 214 6 0.75 72

COLUMN 6 310 3 0.6 40

Tabla 1 Caracterısticas de los datasets y parametros del algoritmo utilizados en cada caso.

En la figura 1 se observa la diferencia entre la matriz de restricciones genradas con

etiquetado aleatorio y a partir del algoritmo de EEAA con la tecnica de etiquetado

activo. Las matrices presentadas corresponden al conjunto de datos Iris. Se observa

que la matriz del aprendiz activo utiliza la propiedad de transicion a diferencia del

aprendiz pasivo. El color blanco corresponde a restricciones de union entre los datos, el

color rojo a restricciones de separacion y el anaranjado es para entradas sobre las que

no se tiene ninguna restriccion. Se aprecia que las restricciones al azar se distribuyen

uniformemente para todos los datos en tanto que las restricciones activas se concentran

en los dos clusters mas dificiles de separar.

Sobre los tres conjuntos de datos se realizan dos pruebas diferentes, la primera de

ellas determina el error de clustering, se aplica el algoritmo de clustering espectral activo

Page 48: Esquemas de representacion de datos para problemas de

34 5. Experimentos y resultados

Figura 5.1: Matrices de restricciones, algoritmo propuesto (iz.) y restricciones aleatorias(der.)

sobre los datos y se grafica la curva de error contra el numero de etiquetas pedidas, esta

curva se compara contra el error del algoritmo de clustering espectral pero utilizando

restricciones al azar. Esta comparacion permite verificar que las restricciones activas

refinan el agrupamiento realizado, mejor y mas rapidamente que las restricciones al

azar. El error para esta prueba es calculado sobre el total de los datos y se toma

simplemente como cada dato ubicado en el cluster incorrecto. Las curvas resultantes de

esta prueba son el promedio de cien corridas, la varianza de los resultados es presentada

como la sombra alrededor de la curva.

La segunda prueba corresponde al error de clasificador, esta prueba consiste en entrenar

un clasificador con base en el etiquetado activo que realiza el algoritmo propuesto y

entrenar otro clasificador con solo los datos etiquetados hasta el momento de manera

aleatoria. Para esta prueba se divide cada conjunto de datos en datos de entrenamiento

y datos de prueba. Las curvas resultantes son el promedio de 50 corridas.

Los resultados correspondientes al dataset Iris se presentan en las figuras 2 y 3. En la

figura 2 se observa la comparacion entre las curvas de error de clustering del algoritmo

activo propuesto y el clustering espectral utilizando restricciones impuestas al azar. En

la figura 3 se observa la comparacion de las curvas de error de clasificacion, en este caso

se usaron cien datos escogidos al azar para entrenamiento y los cincuenta restantes para

prueba.

En las figuras 4 y 5 se encuentran las curvas de error de clustering y de clasificacion

para el data set Glass, en este caso para la prueba de clasificador se utilizaron doscientos

cincuenta datos para entrenamiento y los restantes 64 para prueba.

Finalmente en las figuras 6 y 7 se encuentran los resultados del conjunto de datos

Column.

En cuanto a la prueba 1, la correspondiente al error de cluster, el algoritmo

propuesto demostro ser superior en todos los conjuntos de datos, de manera contundente

en los conjuntos de datos Iris y Column. En el caso del conjunto de datos Glass, el

Page 49: Esquemas de representacion de datos para problemas de

35

0 20 40 60 80 100

0.1

0.2

0.3

0.4

0.5

0.6

0.7

Error Clustering Iris

Etiquetas

Err

or

Figura 5.2: Curvas de error de cluster para el data set Iris, restricciones activas (rojo) yrestricciones pasivas (negro).

algoritmo EEAA es en promedio superior al algoritmo de etiquetado al azar pero su

desempeno es muy cercano y ciertamente se observan casos en los que funciona mejor

el etiquetado al azar.

Sobre la prueba 2 se obtiene que el aprendiz activo es superior al aprendiz pasivo en

el dataset Iris, es peor en el dataset Column y no es ni mejor ni peor en el dataset

Glass. En el dataset Iris los dos algoritmos llegan al mismo punto de error tras haber

etiquetado un numero relativamente bajo de etiquetas, pero el algoritmo propuesto llega

a este punto con mayor rapidez, que es lo que se espera. En el caso del dataset Glass,

al comienzo el aprendiz tiene un mejor desempeno pero a medida que se etiquetan

mas datos es superado por el aprendiz activo, el aprendiz activo, a diferencia de su

contraparte, presenta un comportamiento adecuado, descendiendo a medida que se

etiquetan nuevos datos. En todo caso el error de los dos algoritmos es algo elevando.

Finalmente para el dataset Column, el aprendiz activo es superado por el aprendiz

pasivo, y el aprendiz pasivo no logra llegar al punto de error del aprendiz pasivo al

terminarse el presupuesto de etiquetas.

El error de clasificacion de un aprendiz supervisado sobre el conjunto de datos Iris

reportado en la literatura es de alrededor del 8 % [19], para el caso de Column alrededor

del 25 % [20] y finalmente para Glass se reportan errores de cercanos al 60 % [21].

Page 50: Esquemas de representacion de datos para problemas de

36 5. Experimentos y resultados

0 20 40 60 80

0.2

0.3

0.4

0.5

0.6

Error Clasificador Iris

Etiquetas

Err

or

Figura 5.3: Curvas de error de clasificador sobre el data set Iris, aprendiz activo (rojo) yaprendiz pasivo (negro).

0 50 100 150 200

0.45

0.50

0.55

0.60

0.65

0.70

0.75

Error Clustering Glass

Etiquetas

Err

or

Figura 5.4: Curvas de error de cluster sobre el data set Glass, restricciones activas (rojo)y restricciones pasivas (negro).

Page 51: Esquemas de representacion de datos para problemas de

37

0 20 40 60 80 100 120

0.50

0.55

0.60

0.65

0.70

0.75

0.80

Error Clasificador Glass

Etiquetas

Err

or

Figura 5.5: Curvas de error de clasificador sobre el data set Glass, aprendiz activo (rojo)y aprendiz pasivo (negro).

0 50 100 150 200

0.3

0.4

0.5

0.6

Error Clustering Column

Etiquetas

Err

or

Figura 5.6: Curvas de error de cluster sobre el data set Column, restricciones activas(rojo) y restricciones pasivas (negro).

Page 52: Esquemas de representacion de datos para problemas de

38 5. Experimentos y resultados

0 50 100 150 200

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Error Clasificador Column

Etiquetas

Err

or

Figura 5.7: Curvas de error de clasificador sobre el data set Column, aprendiz activo(rojo) y aprendiz pasivo (negro).

Page 53: Esquemas de representacion de datos para problemas de

6Conclusiones

Se presento un algoritmo de aprendizaje activo de clustering espectral con restric-

ciones que supera al algoritmo en su version pasiva y que tiene una buena complejidad

de etiqueta.

Dentro de los esquemas de representacion de datos para problemas de aprendizaje activo

el clustering es el de mayor difusion, esto se explica por su facilidad de implementacion

y porque su principio de funcionamiento es sencillo y claro, lo que permite al usuario

hacer una facil interpretacion de los resultados obtenidos.

El desempeno del algoritmo supera al esquema de aprendizaje pasivo en mayor medida

en los conjuntos de datos con mayor numero de clases. Esto se debe a que, cuanto

mayor es el numero de clases, mayor es el numero de clusters, de tal forma que es

menos probable que los clusters impuros sean seleccionados de manera aleatoria, por el

contrario el aprendiz activo se inclina hacia esos clusters precisamente.

Los resultados obtenidos para la prueba de clustering son notablemente estables en dos

de los tres casos probados, lo cual se evidencia en la baja varianza sobre las curvas de

error para los casos de Iris y Column. En el caso del conjunto de datos Glass la varianza

es bastante alta y esto se debe a la inestabilidad del paso de k-medias del algoritmo

desarrollado, inestabilidad que se hace mas evidente, en el conjunto de datos Glass,

debido al mayor numero de clases y la elevada dificultad de la tarea de clasificacion

sobre este conjunto de datos.

La disparidad en los resultados de la prueba de clasificacion se debe a que el buen

desempeno del algoritmo propuesto depende de que el conjunto de datos utilizado sea

bien comportado, en terminos de la suposicion del cluster y en terminos de la coherencia

entre los clusters inherentes a los datos y la clasificacion real de los mismos. Esta misma

anotacion se presenta en [22] y [23]. Lo que se establece es que no siempre es superior

Page 54: Esquemas de representacion de datos para problemas de

40 6. Conclusiones

el desempen del aprendiz activo frente al aprendiz pasivo, sino que depende de la

hipotesis real de clasificacion y de los datos, lo positivo es que tambien se establece que

el aprendiz activo es nunca inferior al aprendiz pasivo, este principio fue corroborado

en los resultados de la prueba dos.

El punto debil del algoritmo propuesto es la solucion del problema generalizado de

valores propios, se sabe que este no es problema trivial y el costo computacional que

implica es bastante alto, esto se hace evidente a medida que el numero de instancias

del dataset aumenta. Se sabe tambien que la exactitud en la solucion de ese problema

depende de que las matrices que lo componen sean bien comportadas, lo cual no se puede

garantizar en aplicaciones reales, aunque se cuenta con que son matrices simetricas, es

posible que sean mal condicionadas.

El buen funcionamiento del algoritmo depende del buen desempeno de la parte de

clustering espectral, y es bien sabido que ese buen desempeno depende del correcto

ajuste de los parametros del algoritmo, en particular la funcion de similaridad y los

parametros de regularizacion del problema de optimizacion.

La propiedad de transitividad de las restricciones resulta de gran ayuda cuando se tiene

total certeza sobre las mismas, por ejemplo en este trabajo, en el que las restricciones

son generadas directamente de la clase de cada instancia, pero para los casos en que las

restricciones no son absolutamente ciertas, la transitividad puede resultar un problema

de propagacion de errores.

Page 55: Esquemas de representacion de datos para problemas de

Referencias

[1] O. Chapelle, B. Sholkopf, and A. Zien. Semi-Supervised Learning. MIT

Press, 2006. 1, 2

[2] J. Shi and J. Malik. Normalized cuts and image segmentation. IEEE

Transactions on Pattern Analysis and Machine Intelligence, 22:888–905, 2000. 1,

26

[3] Q. Xu, M. desJardins, and K. Wagstaff. Constrained spectral clustering

under a local proximity structure assumption. In In FLAIRS Conference,

2005. 2, 3

[4] A. Sharma, E. von Lavante, and R.P. Horaud. Learning shape

segmentation using constrained spectral clustering and probabilistic

label transfer. In Proceedings European Conference on Computer Vision, 2010.

2, 3

[5] Q. Xu, M. DesJardins, and K. Wagstaff. Active Constrained Clustering

by Examining Spectral Eigenvectors. In Proceedings of the Eighth

International Conference on Discovery Science, 2005. 2, 3

[6] K. Wagstaff and C Cardie. Clustering with instance-level constraints.

In Proceedings of the Seventeenth International Conference on Machine Learning,

2000. 2

[7] I. Davison and S. Basu. A Survey of Clustering with Instance Level

Constraints. ACM Transactions on Knowledge Discovery from Data, 1:1–41,

2007. 2

Page 56: Esquemas de representacion de datos para problemas de

42 REFERENCIAS

[8] K. Wagstaff, C Cardie, S. Rogers, and S. Schroedl. Constrained

K-means Clustering with Background Knowledge. In Proceedings of the

Eighteenth International Conference on Machine Learning, 2001. 2, 25

[9] I. Davison and S. Ravi. Clustering With Constraints: Feasibility Issues

and the k-Means Algorithm. Disponible en linea, 2011. 2

[10] X. Wang and I. Davidson. Active Spectral Clustering. In 2010 IEEE

International Conference on Data Mining, 2010. 2, 3

[11] S. Dasgupta. Coarse sample complexity bounds for active learning. In

In Neural Information Processing Systems, 2005. 2

[12] T. Coleman, J. Saunderson, and A. Wirth. Spectral clustering with

inconsistent advice. In Proceedings of the 25 International Conference on

Machine Learning, 2008. 3

[13] Z. Lu and M. A. Carreira-Perpinan. Constrained Spectral Clustering

through Affinity Propagation. In In CVPR, 2008. 3

[14] I. Davidson and X. Wang. Flexible constrained spectral clustering. In

Proceedings of the 16 Conference on Knowledge Discovery and Data Mining, 2010.

26, 28, 31

[15] U. von Luxburg. A Tutorial on Spectral Clustering. Technical report, Max

Plank Institute for Biological Cybernetics, 2006. 26

[16] G. Magryl-Il’yaev and V. Tikhomirov. Convex Analysis: Theory and

Applications. American Mathematical Society, 2003. 27

[17] S. Dasgupta. Two faces of active learning. To apear on Theoretical Computer

Science 2011, 2011. 30

[18] A. Frank and A. Asuncion. UCI Machine Learning Repository, 2010. 33

[19] J. Kees, E. Marchiori, and A. van der Vaart. Finding Clusters using

Support Vector Classifiers. In European Symposium on Artificial Neural

Networks, Bruges, Belgium., 2003. 35

[20] A. Rocha Neto, R. Sousa, G. Barreto, and J. Cardoso. Diagnostic

of Pathology on the Vertebral Column with Embedded Reject Option.

In Proceedings of the 5th Iberian Conference on Pattern Recognition and Image

Page 57: Esquemas de representacion de datos para problemas de

Referencias 43

Analysis (IbPRIA’2011), Gran Canaria, Spain, Lecture Notes on Computer

Science, vol. 6669, p. 588-595., 2011. 35

[21] D. Hernandez-Lobato, J. Hernandez-Lobato, and P. Dupont. Robust

Multi-Class Gaussian Process Classification. In Anual Conference on Neural

Information Processing Systems, NIPS 2011, Granada, Spain, 2011. 35

[22] S. Dasgupta and D. Hsu. Hierarchical sampling for active learning. In

In International Conference on Machine Learning, 2008. 39

[23] S. Hanneke. Theoretical Foundations of Active Learning. PhD thesis, Machine

Learning Department, Carnegie Mellon University., 2009. 39

[24] S. Ben-David, U. von Luxburg, and D. Pal. A sober look on clustering

stability. In Proceedings of the 19th Annual Conference on Learning Theory

(COLT), 2006.

[25] I. Davison and S. Ravi. Agglomerative Hierarchical Clustering with

Constraints: Theoretical and Empirical Results. Disponible en linea, 2011.

[26] Y. Freund, H. Seung, E. Shamir, and N. Tishby. Selective sampling using

the query by committee algorithm. Machine Learning, 28(2):133–168, 1997.

[27] M. Kaariainen. Generalization error bounds using unlabeled data. In

Proceedings of the 18 Anual Conference on Learning Theory, 2005.

[28] Balcan M-F., Beygelzimer A., and J. Langford. Agnostic active

learning. In In International Conference on Machine Learning, 2006.

[29] M. Meila and J. Shi. A random walks view of spectral segmentation. In In

8th International Workshop on Artificial Intelligence and Statistics (AISTATS).,

2001.

[30] A. Ng, M. Jordan, and Y. Weiss. On spectral clustering: analysis and

an algorithm. Advances in Neural Information Processing Systems, 14:849–856,

2002.

Page 58: Esquemas de representacion de datos para problemas de
Page 59: Esquemas de representacion de datos para problemas de
Page 60: Esquemas de representacion de datos para problemas de