• No se han encontrado resultados

Esquemas de representación de datos para problemas de aprendizaje activo

N/A
N/A
Protected

Academic year: 2021

Share "Esquemas de representación de datos para problemas de aprendizaje activo"

Copied!
60
0
0

Texto completo

(1)

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

(2)
(3)

Departamento de Ingenier´ıa Electrica y Electr´onica 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 Electr´onica 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 Electr´onica Universidad de Los Andes

(4)
(5)

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 t´ecnicas de clustering. En particular el clustering espectral ha demostrado ser una t´ecnica eficiente y pr´actica 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 desempe˜no muy superior en comparaci´on con el etiquetado aleatorio. Este trabajo se presenta como parte de los requisitos para aspirar al titulo de Magister en Ingenier´ıa Electr´onica y de Computadores, de la univesidad de Los Andes en Bogota, Colombia.

(6)
(7)

No hay en la tierra un ser humano capaz de declarar qu´ıen es. Nadie sabe qu´e ha venido a hacer a este mundo, a qu´e corresponden sus actos, sus sentimientos, sus ideas, ni cu´al es su nombre verdadero, su imperecedero Nombre en el registro de la luz. Le´on Bloy

(8)
(9)

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 investigaci´on en Machine Learning de la Universidad de Los Andes por su acompa˜namiento y asesoria, en particular a Monica Rodriguez y Reinaldo Uribe por sus enriquecedoras charlas sobre el tema.

(10)
(11)

´Indice general

1. Introducci´on 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

(12)
(13)

´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

(14)
(15)

1

Introducci´

on

Son cada vez m´as las aplicaciones en las que se cuenta con una gran cantidad de datos sin etiquetar, algunos ejemplos son, categorizaci´on 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 fracci´on 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 or´aculo, es decir etiquetar los datos m´as 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 m´as 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 ac´a presentado pertenece a los dos enfoques a la vez puesto que utiliza el clustering espectral pero realiza el etiquetado de

(16)

2 1. Introducci´on

manera activa de acuerdo con la pureza de los clusters de manera que etiqueta los datos que resultan m´as convenientes. El prop´osito general de todo algoritmo de clustering es estructurar los datos para tener una mejor comprensi´on de ellos, el algoritmo estructura los datos agrup´andolos de acuerdo con alguna medida de similaridad dada. El clustering espectral en su versi´on no supervisada ha sido ampliamente estudiado y utilizado en diversas aplicaciones [3], [4]. El problema con este y con los dem´as algoritmos de clustering no supervisados, es que los resultados pueden resultar poco o nada relevantes para la aplicaci´on que se est´a trabajando, es decir que los clusters formados no son relevantes o no proporcionan ninguna informaci´on concerniente a la tarea real [5]. Al utilizar un algoritmo de clustering en problemas de aprendizaje activo, se trabaja bajo la suposici´on conocida como clustering assumption[1]. La suposici´on es que los hiperplanos de clasificaci´on 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 clasificaci´on propuesta. Existen dos formas comunes de incorporar informaci´on previa a los algoritmos de clustering, la primera es restringiendo o guiando la medida de similaridad utilizada y la segunda es agregando restricciones de uni´on y separaci´on entre los datos. Las restricciones de uni´on y separaci´on 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 adem´as transitivas, tanto las de uni´on como las de separaci´on.

El algoritmo propuesto en este trabajo es un algoritmo de aprendizaje activo, basado en la t´ecnica de clustering espectral y con muestreo activo realizado de acuerdo con una condici´on de pureza de los clusters, condici´on 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 a˜nadidas a diversos algoritmos de clustering como k-medias y clustering jer´arquico. En el caso de k-medias los algoritmos m´as representativos de clustering con restricciones se tienen en [8] y [9]. En el caso de clustering jer´arquico dos algoritmos representativos son [10] y [11], este ultimo algoritmo es presentado m´as que como un algoritmo de clustering, como un algoritmo de aprendizaje activo puesto que su desempe˜no es evaluado mas all´a de la tarea de clustering, entrenando

(17)

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 aproximaci´on es que para realizar el c´alculo de la probabilidad de error con base en la matriz de restricciones, se asume que esta matriz es de rango completo, condici´on que puede ser f´acilmente 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 ning´un experimento en este g´enero, todos los experimentos son de clasificaci´on binaria. Otros trabajos restringidos a clasificacion binaria son [5]-[12]. Los trabajos [5], [3] son de los mismos autores y presentan m´etodos similares, el algoritmo se basa en la interpretaci´on de caminata aleatoria del clustering espectral, entonces teniendo que la matriz de adyacencia es una matriz de probabilidad de transici´on de un proceso de markov, las restricciones son a˜nadidas como probabilidades de trancisi´on entre dos instancias, claramente, con un valor de uno para las restricciones de union y cero para las restricciones de separaci´on. 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 clasificaci´on 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 secci´on de los vectores propios, en este algoritmo se presentan resultados multiclase para el dataset Iris, utilizando como indicador de desempe˜no el rand index. El algoritmo propuesto en [13] a˜nade y propaga las restricciones en la matriz de afinidad. Las restricciones se incorporan como una ditribuci´on gaussiana formada por la diferencia o suma de dos instancias, suma en el caso de restricciones de separaci´on y resta en el caso de restricciones de uni´on. As´ı mismo usando estas distribuciones las restricciones se propagan a los vecinos de cada instancia etiquetada. Este algoritmo est´a restringido a dos clases debido a la forma de incorporaci´on 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 correlaci´on de esa matriz con la matriz de affinidad. Este algoritmo no es realmente de aprendizaje activo puesto que genera las restricciones al azar y est´a restringido a clasificaci´on binaria. Finalmente esta el algoritmo propuesto en [4] el cual se presenta en el contexto de segmentacion de imagenes, el algoritmo

(18)

4 1. Introducci´on

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 v´ertices, 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.

(19)

2

Aprendizaje Activo

En los problemas b´asicos de clasificaci´on de aprendizaje supervisado se cuenta con un set de datos que obedecen a una distribuci´on D y adem´as se tiene acceso a un or´aculo que dado un dato y la distribuci´on D a la cual este pertenece, retorna la etiqueta de clasificaci´on 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 or´aculo para conocer las etiquetas de todos estos datos o por lo menos de un gran n´umero 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 p´erdida considerable en la capacidad de generalizaci´on 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 im´agenes se tiene que para realizar el etiquetado de una imagen se deben consultar a varios expertos, lo cual resulta monetariamente costoso y probablemente tome tambi´en 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 aproximaci´on consiste en explotar las similaridades intr´ınsecas en los datos. En esta segunda aproximaci´on para decidir qu´e datos son etiquetados los algoritmos de aprendizaje activo deben aprovechar las relaciones intr´ınsecas de los datos, relaciones

(20)

6 2. Aprendizaje Activo

que se espera tengan alguna inferencia en la clasificaci´on 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 2 finalmente C¸ oarse 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

000

000

111

111

000

000

111

111

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 this

model, there is an unknown, underlying distributionP from which data points (and their hidden labels) are

drawn independently at random. If X denotes the space of data and Y the labels, this P is a distribution

overX × 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 such

candidate, 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 sample

of n points fromP, 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 is

especially amenable to analysis. All the algorithms we describe here, however, are designed for the more realistic 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 data

distributionP. But as training proceeds, and points are queried based on increasingly confident assessments

of their informativeness, the training set looks less and less likeP. It consists of an unusual subset of points,

hardly a representative subsample; why should a classifier trained on these strange points do well on the overall 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 coming

entirely 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 in this group. So will every subsequent query point, forever. As active learning proceeds, the algorithm will

gradually 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 random

sample, and later on, the learner is mistakenly confident that the entire group has a− label. And this is just

in one dimension; in high dimension, the problem can be expected to be worse, since there are more places 3

(21)

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

(22)

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 tama˜no 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 Si− es el set de hipotesis que clasifican el dato como negativo. Entonces se solicita la

(23)

2.1 Sanjoy Dasgupta 9

etiqueta del dato para el cual m´ın π Si+, π Si− 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

(24)

10 2. Aprendizaje Activo

Hierarchical Sampling for Active Learning

class labels. We describe an active learning strategy

with good statistical properties, that will discover and

exploit any informative pruning of the cluster tree. For

instance, suppose it is possible to prune the cluster tree

to m leaves (m unknown) that are fairly pure in the

labels of their constituent points. Then, after querying

just O(m) labels, our learner will have a fairly accurate

estimate of the labels of the entire data set. These can

then be used as is, or as input to a supervised learner.

Thus, our scheme can be used in conjunction with any

hypothesis class, no matter how complex.

2. Active Learning and Sampling Bias

Many active learning heuristics start by choosing a

few unlabeled points at random and querying their

labels. They then repeatedly do something like this:

fit a classifier h

∈ H to the labels seen so far; and

query the label of the unlabeled point closest to the

decision boundary of h (or the one on which h is most

uncertain, or something similar). Such schemes make

intuitive sense, but do not correctly manage the bias

introduced by adaptive sampling. Consider this 1-d

example:

w∗ w

5%

45% 5% 45%

Here the data lie in four groups on the line, and are

(say) distributed uniformly within each group. Filled

blocks 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 class

consists of thresholds on the line: H =

{h

w

: w

∈ R}

where h

w

(x) = 1(x

≥ w). Then the initial

bound-ary will lie somewhere in the center group, and the

first query point will lie in this group. So will every

subsequent query point, forever. As active learning

proceeds, the algorithm will gradually 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 random sample,

and later on, the learner is mistakenly confident that

the entire group has a

− label. And this is just in

one dimension; in high dimension, the problem can

be expected to be worse, since there are more places

for this troublesome group to be hiding out. For a

1 9 4 3 8 7 5% 5% 45% 6 5 2 45%

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

discussion of this problem in text classification, see

the recent paper of Schutze et al. (2006).

Sampling bias is the most fundamental challenge posed

by active learning. This paper presents a broad

frame-work for managing this bias that is provably sound.

3. A Clustering-Based Framework for

Guiding Sampling

Our active learner starts with a hierarchical clustering

of the data. Figure 1 shows how this might look for

the example of the previous section.

Here only the top few nodes of the hierarchy are shown;

their numbering is immaterial. At any given time, the

learner works with a particular partition of the data

set, given by a pruning of the tree. Initially, this is

just

{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, lies

in the rightmost group. Then it is a random sample

from node 1, but also from nodes 3 and 9. Based on

these random samples, each node of the tree maintains

statistics about the relative numbers of positive and

negative instances seen. A few samples reveal that the

top 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 random

samples will be chosen from either 2 or 3, according

to a sampling strategy favoring the less-pure node. A

few more queries down the line, the pruning will likely

be refined to

{2, 4, 9}. This is when the benefits of the

partitioning scheme become most obvious; based on

the samples seen, it can be concluded that cluster 9 is

(almost) pure, and thus (almost) no more queries will

be made from it until the rest of the space has been

partitioned into regions that are similarly pure.

The querying can be stopped at any stage; then, each

cluster 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.

(25)

2.2 John Langford 11

Hierarchical Sampling for Active Learning

The inequality follows (with high probability) because

the error bound for b is always at least the true error ε

(up to constants), while another argument shows that

d

X

i=1

w

ai

ǫ

UBai,L(ai)

= O

d

X

i=1

w

ai

n

ai

(t)

!

= O

P

d

d

i=1

n

ai

(t)

!

.

We need to argue that the pure nodes do not get

queried too much. Well, if they have been queried

at least

p

d/ε = O(

p

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

of selecting b is Ω(

p

ε/d); another O(

p

d/ε) queries

with active sampling suffice to land a constant

num-ber in node b—just enough to cut the error in

half. Overall, the number of queries needed is then

O(

p

(1/ε) log(1/ε)), considerably less than the O(1/ε)

required of random sampling.

4. Experiments

How many label queries can we save by exploiting

cluster structure with active learning? Our analysis

suggests that the savings is tied to how well the

clus-ter structure aligns with the actual labels. To evaluate

how accommodating real world data is in this sense,

we studied the performance of our active learner on

several 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 statistical

procedures, Ward’s average linkage clustering and

lo-gistic regression, for the unsupervised and supervised

components, respectively, in order to assess just the

role of the cluster-adaptive sampling method.

We compared the performance of our active learner

to two baseline active learning methods, random

sam-pling and margin-based samsam-pling, that only train a

classifier on the subset of queried labeled data.

Ran-dom sampling chooses points to label at ranRan-dom, and

margin-based sampling chooses to label the points

closest to the decision boundary of the current

classi-fier (as described in Section 2). Again, we used logistic

regression with both of these methods.

A few details: We ran each active learning method 10

times for each classification task, allowing the budget

of labels to grow in small increments. For each

bud-get size, we evaluated the resulting classifier on a test

set, computed its misclassification error, and averaged

this error over the repeated trials. Finally, we used

0 200 400 600 800 1000 Number of clusters 0 0.2 0.4 0.6 0.8

Fraction of labels incorrect

0 1 2 3 4 5 6 7 8 9 10 Number of labels (x1000) 0.1 0.2 Error Random Margin Cluster

Figure 2. Results on OCR digits. Left: Errors of the best

prunings in the OCR digits tree. Right: Test error curves

on classification task.

2

-regularization with logistic regression, choosing the

trade-off parameter with 10-fold cross validation.

OCR digit images. We first considered multi-class

classification of the MNIST handwritten digit images.

1

We used 10000 training images and 2000 test images.

The tree produced by Ward’s hierarchical

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 the

tree for several values of k. For example, the tree had a

pruning of 50 nodes with about 12% error. Our active

learner found such a pruning using just 400 labels.

Figure 2 (right) plots the test errors of the three active

learning methods on the multi-class classification task.

Margin-based sampling and cluster-adaptive sampling

both outperformed random sampling, with

margin-based sampling taking over a little after 2000 label

queries. The initial advantage of cluster-adaptive

sam-pling reflects its ability to discover and subsequently

ignore 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 appeared

to actually dip below the test error of classifier trained

using 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 issue

by concentrating on converging to the same result as

if it had all of the correct training labels.

Newsgroup text. We also considered four pairwise

binary classification tasks with the 20 Newsgroups

data set. Following Schohn and Cohn (2000), we chose

four pairs of newsgroups that varied in difficulty. We

used a version of the data set that removes duplicates

and some newsgroup-identifying headers, but

other-1

http://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 desempe˜n0 se espera

(26)

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) = P rx∼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.

(27)

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= 1ln

π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

(28)

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 desempe˜no 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 a˜nade a su algoritmo.

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

(29)
(30)

16 2. Aprendizaje Activo ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● −0.4 −0.2 0.0 0.2 0.4 −0.2 0.0 0.2 0.4 t(x2[1:2, ])[,1] t(x2[1:2, ])[,2] −0.4 −0.2 0.0 0.2 0.4 −0.2 0.0 0.2 0.4 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● −0.4 −0.2 0.0 0.2 0.4 −0.2 0.0 0.2 0.4 t(x2[1:2, ])[,1] t(x2[1:2, ])[,2] −0.4 −0.2 0.0 0.2 0.4 −0.2 0.0 0.2 0.4 ● ● ● ● ● ● ● ● ● ●

(31)

3

Clustering Espectral

3.1.

Clustering

Un esquema de representaci´on de datos se refiere a una forma diferente de presentaci´on de los datos de entrada, esta nueva forma debe ser tal que facilite la labor de clasificaci´on a realizar. Un claro ejemplo de esto es el Clustering, este t´ermino 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 t´ecnica 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 est´a 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 n´umero 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 exploraci´on 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 clasificaci´on de los datos, lo cual representa un valor agregado en las t´ecnicas 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 raz´on mas adelante se presenta

(32)

18 3. Clustering Espectral

un an´alisis detallado de esta forma de agrupamiento.

3.2.

Clustering Espectral

El clustering es probablemente la t´ecnica m´as utilizada en lo que a exploraci´on de datos se refiere con aplicaciones que van desde la estad´ıstica y las ciencias de la computaci´on hasta la biolog´ıa y las ciencias sociales. Y dentro de las t´ecnicas de clustering se destaca el spectral clustering dado que presenta muy buenos resultados en muchos casos superior a otras t´ecnicas. A continuaci´on exploraremos a fondo una de las formas de spectral clustering conocida como la versi´on no normalizada, las otras variaciones de spectral clustering son similares y en cierta forma equivalentes a la ac´a presentada y adem´as por supuesto entregan resultados muy similares.

En primer lugar debemos presentar algunos conceptos b´asicos sobre grafos, conceptos que utilizaremos m´as adelante.

Denotamos un grafo como G = (V, E) donde V es el conjunto de v´ertices 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 v´ertices 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 v´ertice como di =Pnj=1wij. Y la matriz de grado D del grafo como la matriz con los grados de los v´ertices en la diagonal.

A es un subset del conjunto V de v´ertices A⊂ V and ¯A es su complemento. Podemos medir el tama˜no de A como|A| :=Numero de v´ertices en A o vol(A)=Pi∈Adi. Se define un subgrafo del grafo G = (V, E) como el grafo A = (A, EA) es decir los v´ertices en el conjunto A y los arcos que involucran estos v´ertices. Decimos que el grafo A es conectado si existe un camino entre cualquier para de v´ertices en el grafo y el camino pasa ´unicamente por otros v´ertices pertenecientes a A. Adem´as el grafo A se dice completo si es conectado y no existe ning´un v´ertice entre A y su complemento. Definimos W (A, B) =Pi∈A,j∈Bwij 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 = q

(33)

3.2 Clustering Espectral 19

aunque la medida m´as utilizada en spectral clustering es la gaussiana, definida como

si,j = e  − kxi− xjk2 2σ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 tambi´en puede ser construido de distintas maneras, tres de ellas son:

The ε-neigborhood graph Esta construcci´on del grafo consiste en construir arcos entre aquellos v´ertices que tienen distancia de similaridad menor a ε.

The k-nearest neighbor graph En este grafo se tienden arcos de un v´ertice a sus k vecinos m´as cercanos, es decir a los k v´ertices con menor distancia hacia ´el.

The fully connected graph Esta es la forma de construcci´on 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 f0Lf = 1

2 Pn

i,j=1wij(fi− fj)2

L es sim´etrica y positiva semidefinida

El valor propio m´as peque˜no 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

f0Lf = f0Df− f0W f = n X i=1 difi2− n X i,j=1 fifjwij (3.4)

(34)

20 3. Clustering Espectral = 1 2   n X i=1 difi2− 2 n X i,j=1 fifjwij+ n X i=1 difi2   = 1 2 n X i,j=1 wij(fi− fj)2 (3.5) Y las dem´as propiedades se derivan de esta.

Una vez que se tiene esta matriz L, el resto del algoritmo se compone de c´alculos muy conocidos. Primero se calcula la descomposici´on espectral de la matriz, se toman los k valores propios m´as peque˜nos 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. Despu´es 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 c´alculos excesivamente costosos computacionalmente hablando pero aun as´ı no es inmediato el entender porque este algoritmo funciona tan bien, por esta raz´on a continuaci´on 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 alg´un 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 partici´on 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 minimizaci´on respecto a la partici´on del grafo de:

cut(A1, ..., Ak) := 1 2 k X i=1 W Ai, ¯Ai  (3.6)

Donde W Ai, ¯Ai es la cantidad definida anteriormente que indica la porci´on de arcos entre A y ¯A en este caso. En particular para k = 2 el problema se puede solucionar f´acilmente pero en general para k≥ 3 el problema no es nada sencillo y en ocasiones la soluci´on 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 v´ertice aislado del grafo, de tal forma que un subgrafo se forma de un solo v´ertice y el otro del resto de v´ertices, 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.

(35)

3.2 Clustering Espectral 21

Para evitar este problema se replantea el problema de manera tal que se penalicen las soluciones con clusters demasiado peque˜nos.

Ratiocut(A1, ..., Ak) := 1 2 k X i=1 W Ai, ¯Ai |Ai| = k X i=1 cut Ai, ¯Ai |Ai| (3.7)

La funci´on de corte del grafo planteada de esta forma, se denomina funci´on de corte radial del grafo y podemos ver que tiende a ser m´ınima cuando todos los subgrafos (clusters) tienen un n´umero similar de v´ertices (datos). Entonces ahora procedemos a solucionar el problema de minimizaci´on de la funci´on 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 continuaci´on observaremos que relajar el problema de minimizaci´on de la funci´on 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)0 ∈ <n tal que cada entrada est´a dada por:

fi =            s vol( ¯A) vol(A) if vi ∈ A − s vol(A) vol( ¯A) if vi ∈ ¯A            (3.9)

Entonces podemos reescribir el problema de optimizaci´on planteado en funci´on del vector f y de la matriz laplaciana del grafo as´ı:

f0Lf = 12Pni,j=1wij(fi− fj)2 = 12Pi∈A,j∈ ¯Awij s | ¯A| |A| + s |A| | ¯A| !2 +12Pi∈ ¯A,j∈Awij − s | ¯A| |A|− s |A| | ¯A| !2 = cut(A, ¯A)∗  | ¯A| |A| + |A| | ¯A|+ 2  = cut(A, ¯A)∗  |A| + | ¯A| |A| + |A| + | ¯A| | ¯A|  =|V |Ratiocut(A, ¯A)

(36)

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 adem´as cumple que:

Pn i=1fi= P i∈A s | ¯A| |A|− P i∈ ¯A s |A| | ¯A| =|A| s | ¯A| |A| − | ¯A| s |A| | ¯A| = 0 y as´ı mismo se verifica la siguiente propiedad:

kfk2 =Pn i=1fi2 =|A| | ¯A| |A|+| ¯A| |A| | ¯A| =| ¯A| + |A| = n

Entonces resumiendo tenemos que el problema de minimizaci´on de la funci´on de corte radial del grafo es:

minA⊂Vf0Lf sujeto a

f ⊥ 1

fi definido de acuerdo con la ecuaci´on 26 kfk =√n

Este es un problema de optimizaci´on discreta y tal como se hab´ıa mencionado anteriormente es NP-completo de tal forma que es necesario plantear una versi´on relajada del mismo. La manera m´as evidente de plantear esa segunda versi´on es convirtiendo el problema a un problema de optimizaci´on continuo, es decir que las entradas del vector f ya no son de la forma definida en la ecuaci´on 26 sino que toman cualquier valor real. Entonces el problema queda como:

minA⊂Vf0Lf sujeto a

f ⊥ 1 kfk =√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 m´as peque˜no. 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 m´as 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

(37)

3.2 Clustering Espectral 23

realizar la asignaci´on 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 extrapolaci´on de este resultado al caso general de k ≥ 3 basta con generar no solo un vector indicador f, como el que se defini´o 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.

(38)

24 3. Clustering Espectral

Figura 3.1: Ejemplo de datos susceptibles de ser agrupados correctamente

(39)

4

Algoritmo Propuesto

4.0.1. Restricciones

Como se indic´o anteriormente el algoritmo utiliza restricciones absolutas, sin valor de creencia. Estas restricciones se definen con base en la clasificaci´on real de los datos. Se tienen restricciones de uni´on y de separaci´on, cada restricci´on 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 restricci´on

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 restricci´on de uni´on con un dato b y con otro dato c entonces b y c tienen tambi´en una restricci´on de uni´on. Esta propiedad aplica tambien para las restricciones de separaci´on, 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 tambi´en es normalizada respecto a la matriz de grado del grafo, lo anterior con el fin de tener un factor de regularizaci´on estable, no dependiente de los valores de la funci´on de similaridad.

C ¯Q = D−12QD− 1

Referencias

Documento similar

 Para recibir todos los números de referencia en un solo correo electrónico, es necesario que las solicitudes estén cumplimentadas y sean todos los datos válidos, incluido el

a) Implement a new architecture, making efficient use of new technological developments, information sources, and analytical methods. b) Establish an institutional and

Para ello, trabajaremos con una colección de cartas redactadas desde allí, impresa en Évora en 1598 y otros documentos jesuitas: el Sumario de las cosas de Japón (1583),

Entre nosotros anda un escritor de cosas de filología, paisano de Costa, que no deja de tener ingenio y garbo; pero cuyas obras tienen de todo menos de ciencia, y aun

diabetes, chronic respiratory disease and cancer) targeted in the Global Action Plan on NCDs as well as other noncommunicable conditions of particular concern in the European

Las manifestaciones musicales y su organización institucional a lo largo de los siglos XVI al XVIII son aspectos poco conocidos de la cultura alicantina. Analizar el alcance y

En este sentido, puede defenderse que, si la Administración está habilitada normativamente para actuar en una determinada materia mediante actuaciones formales, ejerciendo

En la parte central de la línea, entre los planes de gobierno o dirección política, en el extremo izquierdo, y los planes reguladores del uso del suelo (urbanísticos y