esquemas de representacion de datos para problemas de
TRANSCRIPT
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
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
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.
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
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.
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
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
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
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
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
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.
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
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
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
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
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
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.
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
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.
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
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.
2.3 Yoav Freund 15
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
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
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)
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)
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.
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)
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
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.
24 3. Clustering Espectral
Figura 3.1: Ejemplo de datos susceptibles de ser agrupados correctamente
Figura 3.2: Algoritmo de Clustering Espectral
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)
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
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
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,
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
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
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.
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
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
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].
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).
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).
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).
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
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.
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
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
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.