You are on page 1of 35

CAPITULO 4

Algoritmos: Los 4 Mtodos Bsicos

Ahora que hemos visto cmo las entradas y salidas pueden ser representadas, es hora de mirar
los algoritmos de aprendizaje ellos mismos. Este captulo explica las ideas bsicas detrs de
las tcnicas que se utilizan en la minera de datos prctica. No profundizaremos en los
problemas ms complicados: versiones avanzadas de los algoritmos, optimizaciones
posibles, complicaciones que surgen en la prctica. Estos temas se remiten al captulo 6, en
el que se abordan las implementaciones reales de esquemas de aprendizaje de mquinas,
como los incluidos en los conjuntos de herramientas de minera de datos y utilizados para
aplicaciones del mundo real. Es importante entender estos problemas ms avanzados para
que sepa qu es lo que realmente sucede cuando se analiza un conjunto de datos en particular.
En este captulo examinamos las ideas bsicas. Una de las lecciones ms instructivas es que
las ideas simples a menudo funcionan muy bien, y recomendamos encarecidamente la
adopcin de una metodologa "simple" al analizar conjuntos de datos prcticos. Hay muchos
tipos diferentes de estructura simple que los conjuntos de datos pueden exhibir. En un
conjunto de datos, puede haber un solo atributo que hace todo el trabajo y los dems son
irrelevantes o redundantes. En otro conjunto de datos, los atributos pueden contribuir
independientemente e igualmente al resultado nal. Un tercero podra tener una estructura
lgica simple, que incluya slo unos pocos atributos, que pueden ser capturados por un rbol
de decisin. En un cuarto, puede haber unas cuantas reglas independientes que gobiernan la
asignacin de instancias a diferentes clases. Un fth podra exhibir dependencias entre
diferentes subconjuntos de atributos. Un sexto puede implicar una dependencia lineal entre
los atributos numricos, donde lo que importa es una suma ponderada de valores de atributos
con pesos apropiados. En un sptimo, las clasificaciones apropiadas para regiones
particulares del espacio de la instancia podran ser gobernadas por las distancias entre las
instancias mismas. Y en un octavo, puede ser que no se proporcionan valores de clase: El
aprendizaje no est supervisado.
En la gran variedad de posibles conjuntos de datos existen muchos tipos diferentes de
estructuras que pueden ocurrir, y una herramienta de minera de datos -no importa cun
capaz- que est buscando una clase de estructura puede perder por completo regularidades
de otro tipo, independientemente de cmo rudimentarias pueden ser. El resultado es una
estructura de clasificacin barroca y opaca de una clase en lugar de una estructura simple,
elegante, inmediatamente comprensible de otra.
Cada uno de los ocho ejemplos de diferentes tipos de conjuntos de datos que acaba de esbozar
conduce a un esquema de aprendizaje de mquina diferente que es muy adecuado para
descubrir el concepto subyacente. Las secciones de este captulo miran a cada una de estas
estructuras a su vez. Una seccin final presenta maneras simples de tratar con problemas
multi-instancia, donde cada ejemplo comprende varias instancias diferentes.

INFRINGER LAS REGLAS RUDIMENTARIAS

Esta es una manera fcil de encontrar reglas de clasificacin muy sencillas de un conjunto de
instancias. Se denomina 1R para 1 regla, genera un rbol de decisin de un nivel expresado
en forma de un conjunto de reglas que prueban un atributo en particular. 1R es un mtodo
simple, barato que a menudo viene con bastante buenas reglas para caracterizar la estructura
en los datos. Resulta que las reglas simples con frecuencia alcanzan una precisin
sorprendentemente alta. Quizs esto se debe a que la estructura que subyace en muchos
conjuntos de datos del mundo real es bastante rudimentaria, y slo un atributo es suficiente
para determinar la clase de una instancia con bastante precisin. En cualquier caso, siempre
es un buen plan para probar las cosas ms simples primero.
La idea es la siguiente: Hacemos reglas que prueban un solo atributo y una rama de acuerdo.
Cada rama corresponde a un valor diferente del atributo. Es obvio cul es la mejor
clasificacin para dar a cada rama: Use la clase que ocurre con ms frecuencia en los datos
de entrenamiento. Entonces la tasa de error de las reglas puede ser fcilmente determinada.
Basta con contar los errores que se producen en los datos de entrenamiento, es decir, el
nmero de instancias que no tienen la clase de mayora.
Cada atributo genera un conjunto diferente de reglas, una regla para cada valor del atributo.
Evale la tasa de error para el conjunto de reglas de cada atributo y elija el mejor. Es as de
simple! La figura 4.1 muestra el algoritmo en forma de pseudocdigo.
Para ver el mtodo 1R en el trabajo, considere los datos meteorolgicos de la Tabla 1.2 en la
pgina 10 (lo encontraremos muchas veces de nuevo cuando mire cmo funcionan los
algoritmos de aprendizaje). Para clasificar en la columna nal, play, 1R considera cuatro
conjuntos de reglas, una para cada atributo. Estas reglas se muestran en la Tabla 4.1. Un
asterisco indica que se ha hecho una eleccin aleatoria entre dos resultados igualmente
probables. El nmero de errores se da para cada regla, junto con el nmero total de errores
para el conjunto de reglas como un todo. 1R elige el atributo que produce reglas con el menor
nmero de

Para cada atributo,


Para cada valor de ese atributo, haga una regla como
sigue:
cuente la frecuencia de cada clase
encontrar la clase ms frecuente
haga que la regla asigne esa clase a este valor de atributo.
Calcular la tasa de error de las reglas.
Elija las reglas con la tasa de error ms pequea.

ATRIBUTO REGLAS ERRORES TOTAL, DE


ERRORES
1 outlook sunny no 2/5 4/14
overcast yes 0/4
rainy yes 2/5
2 Temperatura hot no* 2/4 5/14
mild yes 2/6
cool yes 1/4
3 Humedad high no 3/7 4/14
normal yes 1/7
4 Viento false yes 2/8 5/14
true no* 3/6
errores, es decir, los conjuntos de reglas primero y tercero. La ruptura arbitraria del vnculo
entre estos dos conjuntos de reglas da

outlook: sunny no overcast yes

rainy yes

Hemos observado desde el principio que el juego para los datos meteorolgicos no est
especificado. Curiosamente, al parecer se juega cuando est nublado o lluvioso, pero no
cuando hace sol. Tal vez sea una persecucin interior.

Valores perdidos y atributos numricos

Aunque un esquema de aprendizaje muy rudimentario, 1R acepta tanto los valores perdidos
como los atributos numricos. Se trata de estos de manera simple pero eficaz. La falta se trata
como otro valor de atributo, por ejemplo, si los datos meteorolgicos contenan valores
faltantes para el atributo outlook, un conjunto de reglas formado en outlook especificara
cuatro posibles valores de clase, uno para cada uno de soleado, nublado y lluvioso, y un
cuarto por falta.
Podemos convertir los atributos numricos en valores nominales usando un mtodo de
discretizacin simple. Primero, ordene los ejemplos de entrenamiento segn los valores del
atributo numrico. Esto produce una secuencia de valores de clase. Por ejemplo, ordenar la
versin numrica de los datos meteorolgicos (Tabla 1.3, pgina 11) de acuerdo con los
valores de temperatura produce la secuencia

64 65 68 69 70 71 72 72 75 75 80 81 83 85

yes no yes yes yes no no yes yes yes no yes yes no

La discretizacin implica dividir esta secuencia colocando puntos de interrupcin en ella.


Una posibilidad es colocar puntos de interrupcin dondequiera que cambie la clase,
produciendo las ocho categoras siguientes:

yes|no|yes yes yes|no no|yes yes yes|no|yes yes|no

La eleccin de puntos de interrupcin a mitad de camino entre los ejemplos de cada lado los
coloca en 64.5, 66.5, 70.5, 72, 77.5, 80.5 y 84. Sin embargo, las dos instancias con valor 72
causan un problema porque tienen el mismo valor de temperatura, pero caen en diferentes
clases La x ms simple es mover el punto de interrupcin en 72 un ejemplo, a 73.5,
produciendo una particin mixta en la que no es la clase mayoritaria.

Un problema ms grave es que este procedimiento tiende a formar un nmero excesivamente


grande de categoras. El mtodo 1R naturalmente gravitar hacia el elegir un atributo que se
divide en muchas categoras, porque esto particionar el conjunto de datos en muchas partes,
haciendo ms probable que las instancias tengan la misma clase que la mayora en su
particin. De hecho, el caso limitante es un atributo que tiene un valor diferente para cada
instancia -es decir, un atributo de cdigo de identificacin que identifica nicamente las
instancias- y esto dar lugar a una tasa de error cero en el conjunto de entrenamiento porque
cada particin contiene slo una instancia . Por supuesto, los atributos altamente ramificados
no suelen funcionar bien en los ejemplos de prueba; de hecho, el atributo de cdigo de
identificacin nunca obtendr ningn ejemplo fuera del conjunto de entrenamiento correcto.
Este fenmeno se conoce como over tting; ya hemos descrito sobre el sesgo de evitacin en
el Captulo 1, y encontraremos este problema repetidamente en los captulos siguientes.

Para 1R, es probable que ocurra el over tting siempre que un atributo tenga un gran nmero
de valores posibles. Por consiguiente, al discretizar un atributo numrico, se impone un lmite
mnimo al nmero de ejemplos de la clase mayoritaria en cada particin. Supongamos que el
mnimo se fija en 3. Esto elimina todas, excepto dos de las particiones precedentes. En su
lugar, el proceso de particin comienza

yes no yes yes| yes

asegurando que hay tres ocurrencias de s, la clase mayoritaria, en la primera particin. Sin
embargo, como el siguiente ejemplo es tambin s, no perderemos nada al incluirlo en la
primera particin tambin. Esto conduce a una nueva

yes no yes yes yes | no no yes yes yes | no yes yes no

donde cada particin contiene al menos tres instancias de la clase mayoritaria, excepto la
ltima, que normalmente tendr menos. Los lmites de particin siempre se encuentran entre
ejemplos de clases diferentes.

Siempre que las particiones adyacentes tengan la misma clase mayoritaria, como las dos
primeras particiones anteriores, pueden fusionarse sin afectar el significado de los conjuntos
de reglas. As, la discretizacin nal es

yes no yes yes yes no no yes yes yes | no yes yes no

que conduce al conjunto de reglas

temperature: 77.5 yes

> 77.5 no

La segunda regla implicaba una eleccin arbitraria; como sucede, no fue elegido. Si se
hubiera elegido s, no habra necesidad de ningn punto de interrupcin en absoluto, y como
ilustra este ejemplo, podra ser mejor usar las categoras adyacentes para ayudar a romper los
vnculos. De hecho, esta regla genera errores en el conjunto de entrenamiento y por lo tanto
es menos efectiva que la anterior para Outlook. Sin embargo, el mismo procedimiento
conduce a esta regla para la humedad:

humidity: 82.5 yes


> 82.5and 95.5 no

> 95.5 yes

Esto genera slo tres errores en el conjunto de entrenamiento y es la mejor regla 1 para los
datos de la Tabla 1.3.

Por ltimo, si un atributo numrico tiene valores faltantes, se crea una categora adicional
para ellos y el procedimiento de discretizacin se aplica slo a las instancias para las que se
define el valor del atributo.

Discusin

En un documento seminal titulado "Las reglas de clasificacin muy sencillas funcionan bien
en los conjuntos de datos ms utilizados" (Holte, 1993), un estudio completo del desempeo
del procedimiento 1R fue reportado en 16 conjuntos de datos usados con frecuencia por los
investigadores de aprendizaje automtico para evaluar sus algoritmos. La validacin cruzada,
una tcnica de evaluacin que explicaremos en el captulo 5, se utiliz para asegurar que los
resultados fueran los mismos que se obtendran en conjuntos de pruebas independientes.
Despus de alguna experimentacin, el nmero mnimo de ejemplos en cada particin de un
atributo numrico se estableci en seis, no tres como se utiliza en nuestra ilustracin.

Sorprendentemente, a pesar de su simplicidad 1R hizo bien en comparacin con el estado de


la tcnica de los esquemas de aprendizaje, y las reglas que produjo result ser slo unos pocos
puntos porcentuales menos precisos, en casi todos los conjuntos de datos, que los rboles de
decisin producido por un esquema de induccin de rboles de decisin de vanguardia. Estos
rboles eran, en general, considerablemente ms grandes que las reglas de 1R. Las reglas que
prueban un solo atributo son a menudo una alternativa viable a estructuras ms complejas, y
esto alienta fuertemente una metodologa simple, en la que el desempeo de lnea de base se
establece usando tcnicas simples y rudimentarias antes de avanzar hacia esquemas de
aprendizaje ms sofisticados que inevitablemente generan que es ms difcil de interpretar.

El procedimiento 1R aprende un rbol de decisin de un nivel cuyas hojas representan las


diferentes clases diferentes. Una tcnica ligeramente ms expresiva es usar una regla
diferente para cada clase. Cada regla es una conjuncin de pruebas, una para cada atributo.
Para los atributos numricos, la prueba comprueba si el valor se encuentra dentro de un
intervalo dado; para los nominales que comprueba si est en un cierto subconjunto de los
valores de ese atributo. Estos dos tipos de pruebas, es decir, intervalos y subconjuntos, se
aprenden de los datos de entrenamiento pertenecientes a cada una de las clases. Para un
atributo numrico, el final los puntos del intervalo son los valores mnimo y mximo que se
producen en los datos de entrenamiento para esa clase. Para un nominal, el subconjunto
contiene slo los valores que se producen para ese atributo en los datos de formacin para la
clase individual. Generalmente, las reglas que representan diferentes clases se superponen y,
en el momento de la prediccin, se prev la que tiene las pruebas ms coincidentes. Esta
tcnica simple a menudo da una primera impresin til de un conjunto de datos. Es
extremadamente rpido y se puede aplicar a cantidades muy grandes de datos.
MODELACIN ESTADSTICA

El mtodo 1R utiliza un solo atributo como base para sus decisiones y elige el que funciona
mejor. Otra tcnica simple consiste en utilizar todos los atributos y permitirles realizar
contribuciones a la decisin que son igualmente importantes e independientes entre s, dada
la clase. Esto es poco realista, por supuesto: Lo que hace interesantes los conjuntos de datos
de la vida real es que los atributos no son ciertamente iguales o independientes. Pero conduce
a un esquema simple que, de nuevo, funciona sorprendentemente bien en la prctica.

Valores perdidos y atributos numricos

Una de las cosas realmente agradables de Nave Bayes es que los valores perdidos no son
ningn problema en absoluto. Por ejemplo, si el valor de la perspectiva faltaba en el ejemplo
de la Tabla 4.3, el clculo simplemente omitira este atributo, produciendo

Likelihood of yes 3 9 3 9 3 9 9 14 0.0238

Likelihood of no 1 5 4 5 3 5 5 14 0.0343

Estos dos nmeros son individualmente mucho ms altos de lo que eran antes porque falta
una de las fracciones. Pero eso no es un problema porque falta una fraccin en ambos casos,
y estas probabilidades estn sujetas a un proceso de normalizacin adicional. Esto produce
probabilidades de s y no de 41% y 59%, respectivamente.

Si falta un valor en una instancia de entrenamiento, simplemente no se incluye en el recuento


de frecuencias y las relaciones de probabilidad se basan en el nmero de valores que
realmente ocurren en lugar del nmero total de instancias.

Los valores numricos se manejan generalmente asumiendo que tienen una distribucin de
probabilidad "normal" o "gaussiana". La Tabla 4.4 da un resumen de los datos
meteorolgicos con caractersticas numricas de la Tabla 1.3. Para los atributos nominales,
calculamos los conteos como antes, mientras que para los numricos simplemente
enumeramos los valores que ocurren. Entonces, en lugar de normalizar las cuentas en
probabilidades como lo hacemos con los atributos nominales, calculamos la media y la
desviacin estndar para cada clase y cada atributo numrico. El valor medio de la
temperatura sobre los casos de s es 73, y su desviacin estndar es 6.2. La media es
simplemente el promedio de los valores, es decir, la suma dividida por el nmero de valores.
La desviacin estndar es la raz cuadrada de la varianza de la muestra, que calculamos de la
siguiente manera: Sustraer la media de cada valor, cuadrar el resultado, sumarlos juntos y
luego dividir por uno menos que el nmero de valores. Despus de haber encontrado esta
"muestra de varianza", tomar su raz cuadrada para producir la desviacin estndar. Esta es
la forma estndar de calcular la media y la desviacin estndar de un conjunto de nmeros.
(El "uno menos que" tiene que ver con el nmero de grados de libertad en la muestra, una
nocin estadstica que no queremos entrar aqu).
Nave Bayes para la clasificacin de documentos

Un dominio importante para el aprendizaje automtico es la clasificacin de documentos, en


la que cada instancia representa un documento y la clase de la instancia es el tema del
documento. Los documentos pueden ser noticias y las clases pueden ser noticias nacionales,
noticias extranjeras, noticias financieras y deportes. Los documentos se caracterizan por las
palabras que aparecen en ellos, y una forma de aplicar el aprendizaje automtico a la
clasificacin de documentos es tratar la presencia o ausencia de cada palabra como un
atributo booleano. Nave Bayes es una tcnica popular para esta aplicacin, ya que es muy
rpido y bastante preciso.

Sin embargo, esto no tiene en cuenta el nmero de ocurrencias de cada palabra, que es
informacin potencialmente til al determinar la categora de un documento. En cambio, un
documento puede ser visto como una bolsa de palabras -un conjunto que contiene todas las
palabras del documento, con mltiples apariciones de una palabra que aparece varias veces
(tcnicamente, un conjunto incluye a cada uno de sus miembros una sola vez, mientras que
un bolsa puede tener elementos repetidos). Las frecuencias de palabras se pueden acomodar
aplicando una forma modificada de Nave Bayes llamada multinominal Nave Bayes.

Discusin

Nave Bayes ofrece un enfoque sencillo, con semntica clara, para representar, usar y
aprender el conocimiento probabilstico. Puede lograr resultados impresionantes. La gente a
menudo sostiene que Nave Bayes rivaliza, y de hecho supera, con clasificadores ms
sofisticados en muchos conjuntos de datos. La moral es, siempre probar las cosas simples
primero. Una y otra vez las personas han conseguido, despus de una prolongada lucha,
obtener buenos resultados utilizando esquemas de aprendizaje sofisticados, slo para
descubrir ms tarde que mtodos simples como el 1R y el Nave Bayes hacen lo mismo o
mejor.

Hay muchos conjuntos de datos para los que Nave Bayes no le va bien, sin embargo, y es
fcil ver por qu. Debido a que los atributos se tratan como si fueran independientes, dada la
clase, la adicin de redundantes distorsiona el proceso de aprendizaje. Como ejemplo
extremo, si tuviera que incluir un nuevo atributo con los mismos valores que la temperatura
de los datos meteorolgicos, se multiplicara el efecto del atributo de temperatura: todas sus
probabilidades seran cuadradas, lo que le dara mucha ms influencia en la decisin. Si
tuvieras que aadir 10 atributos de este tipo, las decisiones se tomaran efectivamente slo
con la temperatura. Las dependencias entre atributos inevitablemente reducen el poder de
Nave Bayes para discernir lo que est pasando. Sin embargo, pueden ser mejorados usando
un subconjunto de los atributos en el procedimiento de decisin, haciendo una cuidadosa
seleccin de cules utilizar. El Captulo 7 muestra cmo.

La suposicin de la distribucin normal de los atributos numricos es otra restriccin de


Nave Bayes tal como la hemos formulado aqu. Muchas caractersticas simplemente no estn
distribuidas normalmente. Sin embargo, no hay nada que nos impida usar otras
distribuciones: no hay nada mgico en la distribucin normal. Si sabe que un atributo
concreto es probable que siga alguna otra distribucin, se pueden usar procedimientos de
estimacin estndar para esa distribucin. Si sospecha que no es normal pero no conoce la
distribucin real, hay procedimientos para la "estimacin de la densidad del kernel" que no
asumen ninguna distribucin en particular para los valores de atributo. Otra posibilidad es
simplemente discretizar los datos primero.

DIVIDIR Y CONQUISAR: CONSTRUCCION

RBOLES DE DECISIN

El problema de construir un rbol de decisin puede expresarse recursivamente. Primero,


seleccione un atributo para colocarlo en el nodo raz, y haga una rama para cada valor posible.
Esto divide el conjunto de ejemplo en subconjuntos, uno para cada valor del atributo. Ahora
el proceso se puede repetir recursivamente para cada rama, usando solamente aquellas
instancias que realmente llegan a la rama. Si en cualquier momento todas las instancias de
un nodo tienen la misma clasificacin, deje de desarrollar esa parte del rbol.

Lo nico que queda es cmo determinar qu atributo dividir, dado un conjunto de ejemplos
con diferentes clases. Considere (de nuevo! ) Los datos meteorolgicos. Hay cuatro
posibilidades para cada divisin, y en el nivel superior producen los rboles en la Figura 4.2.

Cul es la mejor opcin? El nmero de clases de s y no se muestra en las hojas. Cualquier


hoja con una sola clase-s o no-no tendr que ser dividida ms, y el proceso recursivo por esa
rama terminar. Debido a que buscamos rboles pequeos, nos gustara que esto sucediera lo
antes posible. Si tuviramos una medida de la pureza de cada nodo, podramos elegir el
atributo que produce los nodos hijos ms puros. Tmese un momento para ver la figura 4.2
y piense qu atributo cree que es la mejor opcin.

La medida de pureza que usaremos se llama informacin y se mide en unidades llamadas


bits. Asociado con cada nodo del rbol, representa la cantidad esperada de informacin que
sera necesaria para especificar si una nueva instancia debera clasificarse si o no, dado que
el ejemplo alcanz ese nodo. A diferencia de los bits de la memoria del ordenador, la cantidad
esperada de informacin suele implicar fracciones de un bit, y con frecuencia es inferior a
1! Se calcula en funcin del nmero de clases yes y no en el nodo. Vamos a ver los detalles
del clculo en breve, pero primero vemos cmo se utiliza. Cuando se evala el primer rbol
de la Figura 4.2, el nmero de clases yes y no en los nodos hoja es [2, 3], [4, 0] y [3, 2],
respectivamente, y los valores de informacin de estos nodos son

info([2, 3]) 0.971 bits

info([4, 0]) 0.0 bits

info([3, 2]) 0.971 bits

Calculamos el valor de informacin promedio de stos, teniendo en cuenta el nmero de


instancias que bajan cada rama-ve por la primera y la tercera y la cuarta por la segunda:

info([2, 3], [4, 0], [3, 2]) (5 14) 0.971 (4 14) 0 (5 14) 0.971 0.693 bits

Este promedio representa la cantidad de informacin que esperamos que sea necesaria para
especificar la clase de una nueva instancia, dada la estructura de rbol de la Figura 4.2 (a).
Antes de que se crearan cualquiera de las estructuras de rbol nacientes en la Figura 4.2, los
ejemplos de entrenamiento en la raz comprendan nueve nodos yes y ve no, que
correspondan a una

info([9, 5]) 0.940 bits

Por lo tanto, el rbol de la Figura 4.2 (a) es responsable de una ganancia de informacin de

gain(outlook) info([9, 5]) info([2, 3], [4, 0], [3, 2]) 0.940 0.693 0.247 bits

que puede interpretarse como el valor informativo de crear una rama en el atributo outlook.

El camino a seguir es claro. Calculamos la ganancia de informacin para cada atributo y


dividimos en la que obtiene la mayor cantidad de informacin. En la situacin que se muestra
en la Figura 4.2:

gain(outlook) 0.247 bits

gain(temperature) 0.029 bits

gain(humidity) 0.152 bits

gain(windy) 0.048 bits

Por lo tanto, seleccionamos outlook como el atributo splitting en la raz del rbol. Espero que
esto coincida con su intuicin como el mejor para seleccionar. Es la nica opcin para la cual
un nodo hija es completamente puro, y esto le da una ventaja considerable sobre los otros
atributos. La humedad es la siguiente mejor opcin porque produce un nodo hija mayor que
es casi completamente puro.

Luego continuamos recursivamente. La figura 4.3 muestra las posibilidades de una rama
adicional en el nodo alcanzado cuando la perspectiva es soleada. Claramente, una nueva

Clculo de informacin

Ahora es el momento de explicar cmo calcular la medida de informacin que se utiliza como
base para evaluar diferentes divisiones. Describimos la idea bsica en esta seccin, luego en
la siguiente examinamos una correccin que generalmente se hace para contrarrestar un sesgo
hacia la seleccin de divisiones en atributos con un gran nmero de valores posibles.

Antes de examinar la frmula detallada para calcular la cantidad de informacin requerida


para especificar la clase de un ejemplo dado que alcanza un nodo de rbol con cierto nmero
de s y no, considere primero el tipo de propiedades que esperamos que esta cantidad tenga
1. Cuando el nmero de s o no es cero, la informacin es cero.

2. En cuanto al nmero de casos y no de calidad, la informacin mxima.

Adems, la medida debera ser aplicable a situaciones de multiclass, no slo a las de dos
clases.

La medida de informacin se refiere a la cantidad de informacin obtenida al tomar una


decisin, y una propiedad ms sutil de la informacin se puede derivar considerando la
naturaleza de las decisiones. Las decisiones se pueden tomar en una sola etapa, o se pueden
hacer en varias etapas, y la cantidad de informacin involucrada es la misma en ambos casos.
Por ejemplo, la decisin

info([2, 3, 4])

puede hacerse en dos etapas. Primero decidir si es el primer caso o uno de los otros dos casos:

info([2, 7])

y luego decidir cul de los otros dos casos es:

info([3, 4])

En algunos casos no ser necesario tomar la segunda decisin, es decir, cuando la decisin
resulte ser la primera. Tomando esto en cuenta lleva a la ecuacin

info([2, 3, 4]) info([2, 7]) (7 9) info([3, 4])

Por supuesto, no hay nada especial en estos nmeros particulares, y una relacin similar debe
mantenerse independientemente de los valores reales. Por lo tanto, podramos agregar un
criterio adicional a la lista anterior:

3. La informacin debe obedecer la propiedad multietapa que hemos ilustrado.


Sorprendentemente, resulta que slo hay una funcin que satisface todas estas

propiedades y se conoce como valor de informacin o entropa:

entropy(p1,p2,...,pn)p1logp1 p2 logp2...pn logpn

La razn de los signos menos es que los logaritmos de las fracciones p1, p2, ..., pn son
negativos, por lo que la entropa es realmente positiva. Por lo general, los logaritmos se
expresan en la base 2, y luego la entropa est en unidades llamadas bits, slo el tipo habitual
de bits utilizados con las computadoras.
Los argumentos p1, p2, ... de la frmula de la entropa se expresan como fracciones que se
suman a 1, por lo que, por ejemplo,

nfo([2, 3, 4]) entropy(2 9, 3 9, 4 9)

Atributos altamente ramificadores

Cuando algunos atributos tienen un gran nmero de valores posibles, dando lugar a una rama
mltiple con muchos nodos secundarios, surge un problema con el clculo de ganancia de
informacin. El problema se aprecia mejor en el caso extremo cuando un atributo tiene un
valor diferente para cada instancia del conjunto de datos -como, por ejemplo, un atributo de
cdigo de identificacin.

La Tabla 4.6 da los datos meteorolgicos con este atributo adicional. La ramificacin en el
cdigo ID produce el tocn de rbol en la Figura 4.5. La informacin necesaria para
especificar la clase dada el valor de este atributo es

info([0,1])info([0,1])info([1,0])...info([1,0])info([0,1])

que es 0 porque cada uno de los 14 trminos es 0. Esto no es sorprendente: El atributo de


cdigo ID identifica la instancia, que determina la clase sin ninguna ambigedad, tal como
muestra la Tabla 4.6. En consecuencia, la ganancia de informacin de este atributo es slo la
informacin en la raz, info ([9,5]) = 0.940 bits. Esto es mayor que la ganancia de informacin
de cualquier otro atributo, por lo que el cdigo de identificacin se elegir inevitablemente
como el atributo de divisin. Pero la ramificacin en el cdigo de identificacin no es bueno
para predecir la clase de instancias desconocidas y no dice nada sobre la estructura de la
decisin, que despus de todo son los objetivos gemelos del aprendizaje automtico.

El efecto general es que la medida de ganancia de informacin tiende a preferir atributos con
un gran nmero de valores posibles. Para compensar esto, una modi cacin de la medida
denominada relacin de ganancia es ampliamente utilizada. La relacin de ganancia se
obtiene teniendo en cuenta el nmero y el tamao de nodos secundarios en los que un atributo
divide el conjunto de datos, sin tener en cuenta ninguna informacin sobre la clase.

ALGORITMOS DE CUBIERTA: REGLAS DE CONSTRUCCIN

Como hemos visto, los algoritmos de rboles de decisin se basan en un enfoque de divisin
y conquista del problema de clasificacin. Trabajan de arriba abajo, buscando en cada etapa
un atributo para dividir en lo que mejor separa las clases, y luego procesar recursivamente
los subproblemas que resultan de la divisin. Esta estrategia genera un rbol de decisin que,
si es necesario, puede convertirse en un conjunto de reglas de clasificacin, aunque si se
quiere producir reglas efectivas, la conversin no es trivial.

Un enfoque alternativo es tomar cada clase a su vez y buscar una forma de cubrir todas las
instancias en ella, al mismo tiempo excluyendo los casos que no estn en la clase. Esto se
denomina enfoque de cobertura porque en cada etapa identifica una regla que "cubre" algunas
de las instancias. Por su propia naturaleza, este enfoque de cobertura conduce a un conjunto
de reglas ms que a un rbol de decisiones.

El mtodo de cobertura se puede visualizar fcilmente en un espacio bidimensional de


instancias como se muestra en la figura 4.6 (a). Primero hacemos una regla que cubre los a.
Para la primera prueba en la regla, divida el espacio verticalmente como se muestra en la
imagen central. Esto da el principio de una regla:

If x > 1.2thenclass = a

Sin embargo, la regla abarca muchos b as como a, por lo que una nueva prueba se aade a
ella por dividiendo adems el espacio horizontalmente como se muestra en el tercer
diagrama:

If x > 1.2andy > 2.6thenclass = a

Esto da una regla que cubre todos excepto uno de los a. Probablemente sea apropiado dejarlo
en eso, pero si se considerara necesario cubrir la nal a, otra regla sera necesaria, tal vez

Ifx > 1.4andy < 2.4thenclass = a

El mismo procedimiento conduce a dos reglas que cubren los b:

Ifvx 1.2thenclass = b

If x > 1.2andy 2.6thenclass = b

De nuevo, una a est errneamente cubierta por estas reglas. Si fuera necesario excluirlo,
habra que aadir ms pruebas a la segunda regla, y se necesitaran reglas adicionales para
cubrir las b que excluyen estas nuevas pruebas.

Reglas versus rboles

Un algoritmo de divisin y conquista de arriba hacia abajo opera sobre los mismos datos de
una manera que es, por lo menos sper cialmente, muy similar a un algoritmo de cobertura.
Podra primero dividir el conjunto de datos utilizando el atributo x, y probablemente
terminara dividindolo en el mismo lugar, x = 1.2. Sin embargo, mientras que el algoritmo
de cobertura se ocupa slo de cubrir una sola clase, la divisin tomara en cuenta ambas clases
porque los algoritmos de divisin y conquista crean una nica descripcin de concepto que
se aplica a todas las clases. La segunda divisin tambin podra estar en el mismo lugar, y =
2.6, lo que conduce al rbol de decisin en la Figura 4.6 (b). Este rbol corresponde
exactamente al conjunto de reglas, y en este caso no hay diferencia de efecto entre los
algoritmos de cobertura y de divisin y conquista.

Pero en muchas situaciones hay una diferencia entre reglas y rboles en trminos de
perspicuidad de la representacin. Por ejemplo, cuando describimos el problema de subrbol
replicado en la Seccin 3.4, observamos que las reglas pueden ser simtricas, mientras que
los rboles deben seleccionar un atributo para dividir en primer lugar, y esto puede dar lugar
a rboles que son mucho ms mayor que un conjunto equivalente de reglas. Otra diferencia
es que en el caso multiclase, una divisin de rboles de decisin toma en cuenta todas las
clases al intentar maximizar la pureza de la divisin, mientras que el mtodo generador de
reglas se concentra en una clase a la vez, sin tener en cuenta lo que sucede con las otras
clases.

Un simple algoritmo de cobertura

Los algoritmos de cobertura funcionan aadiendo pruebas a la regla que est en construccin,
siempre tratando de crear una regla con la mxima precisin. Por el contrario, los algoritmos
de divisin y conquista funcionan agregando pruebas al rbol que est en construccin,
siempre tratando de maximizar la separacin entre las clases. Cada uno de estos implica nding
un atributo para dividir en. Pero el criterio para el mejor atributo es diferente en cada caso.
Mientras que los algoritmos de divisin y conquista como ID3 eligen un atributo para
maximizar la ganancia de informacin, el algoritmo de cobertura que describiremos elige un
par de atributo-valor para maximizar la probabilidad de la clasificacin deseada.

La figura 4.7 da una imagen de la situacin, mostrando el espacio que contiene todas las
instancias, una regla parcialmente construida y la misma regla despus de que se haya
agregado un nuevo trmino. El nuevo trmino restringe la cobertura de la regla: La idea es
incluir tantas instancias de la clase deseada como sea posible y excluir tantas instancias de
otras clases como sea posible. Supongamos que la nueva regla cubrir un total de t instancias,
de las cuales p son ejemplos positivos de la clase y t - p estn en otras clases, es decir, son
errores cometidos por la regla. A continuacin, elija el nuevo trmino para maximizar la
relacin p / t.

Reglas contra listas de decisiones

Considere las reglas producidas para una clase particular, es decir, el algoritmo de la Figura
4.8 con el bucle externo eliminado. Parece claro de la manera en que se producen estas reglas
que se pretende que sean interpretadas en orden, es decir, como una lista de decisiones,
probando las reglas a su vez hasta que uno se aplique y luego usando eso. Esto se debe a que
las instancias cubiertas por una nueva regla se eliminan del conjunto de instancias tan pronto
como se completa la regla (en la ltima lnea del cdigo de la Figura 4.8): As, las reglas
posteriores estn diseadas para instancias que no estn cubiertas por la regla. Sin embargo,
aunque parece que se supone que debemos verificar las reglas a su vez, no tenemos que
hacerlo. Tenga en cuenta que cualquier regla subsiguiente generada para esta clase tendr el
mismo efecto: todos predicen la misma clase. Esto significa que no importa en qu orden se
ejecuten: Se encontrar una regla que cubre esta instancia, en cuyo caso se predice la clase
en cuestin, o no se encuentra dicha regla, en cuyo caso la clase no se predice.

Ahora regresa al algoritmo general. Cada clase se considera a su vez, y se generan reglas que
distinguen las instancias de esa clase de las otras. Ningn ordenamiento est implcito entre
las reglas de una clase y las de otra. En consecuencia, las reglas que se producen se pueden
ejecutar en cualquier orden.

Como se describe en la Seccin 3.4, las reglas independientes de orden parecen proporcionar
ms modularidad actuando como nuggets independientes de "conocimiento", pero sufren la
desventaja de que no est claro qu hacer cuando se aplican reglas de con fi nicin. Con las
reglas generadas de esta manera, un ejemplo de prueba puede recibir mltiples
clasificaciones, es decir, puede satisfacer reglas que se aplican a diferentes clases. Otros
ejemplos de prueba no pueden recibir ninguna clase de clasificacin. Una estrategia simple
para forzar una decisin en casos ambiguos es elegir, a partir de las clasificaciones predichas,
la que tiene ms ejemplos de entrenamiento o, si no se predice una clasificacin, elegir la
categora con la mayora de los ejemplos de entrenamiento en general. Estas diferencias no
ocurren con las listas de decisiones porque estn destinadas a ser interpretadas en orden y la
ejecucin se detiene tan pronto como se aplica una regla: La adicin de una regla
predeterminada al final asegura que cualquier instancia de prueba reciba una clasificacin.
Es posible generar buenas listas de decisiones para el caso multi-clase usando un mtodo
ligeramente diferente, como veremos en la Seccin 6.2.

Mtodos, como PRISM, pueden ser descritos como algoritmos de separar y conquistar:
Identifica una regla que cubre muchas instancias de la clase (y excluye las que no estn en la
clase), separa las instancias cubiertas porque ya estn ocupadas por la regla, y continuar con
el proceso sobre los que quedan. Esto contrasta con el enfoque de dividir y conquistar rboles
de decisin. El paso "separado" da lugar a un mtodo eficiente porque el conjunto de
instancias se contrae continuamente a medida que avanza la operacin.

REGLAS DE LA ASOCIACIN MINERA

Las reglas de asociacin son como las reglas de clasificacin. Podras ordenarlos de la misma
manera, ejecutando un procedimiento de induccin de reglas de divisin y conquista para
cada expresin posible que pudiera ocurrir en el lado derecho de la regla. Sin embargo, no
slo cualquier atributo puede ocurrir en el lado derecho con cualquier valor posible, pero una
sola regla de asociacin a menudo predice el valor de ms de un atributo. Para obtener tales
reglas, tendra que ejecutar el procedimiento de induccin de reglas una vez para cada posible
combinacin de atributos, con todas las posibles combinaciones de valores, en el lado
derecho. Esto dara lugar a un nmero enorme de normas de asociacin, que tendran que ser
reducidas en funcin de su cobertura (el nmero de casos que predicen correctamente) y su
exactitud (el mismo nmero expresado como una proporcin del nmero de instancias a las
que se aplica la regla). Este enfoque es completamente imposible. (Tenga en cuenta que,
como mencionamos en la Seccin 3.4, lo que llamamos cobertura a menudo se denomina
apoyo y lo que llamamos exactitud a menudo se denomina con dencia).

En su lugar, aprovechamos el hecho de que slo nos interesan las reglas de asociacin con
una alta cobertura. Ignoramos por el momento la distincin entre los lados izquierdo y
derecho de una regla y buscamos combinaciones de pares de atributos-valores que tengan
una cobertura mnima preespecificada. Estos son llamados conjuntos de elementos: Un par
atributo-valor es un elemento. La terminologa se deriva de anlisis de cesta de mercado, en
el que los artculos son artculos en su carrito de la compra y el gerente de supermercado est
buscando asociaciones entre estas compras.
Conjuntos de artculos

La primera columna de la Tabla 4.10 muestra los elementos individuales de los datos
meteorolgicos de la Tabla 1.2 (pgina 10), con el nmero de veces que cada elemento
aparece en el conjunto de datos dado a la derecha. Estos son los conjuntos de un solo
elemento. El siguiente paso es generar los conjuntos de dos elementos haciendo pares de los
conjuntos de un solo elemento. Por supuesto, no tiene sentido generar un conjunto que
contenga dos valores diferentes del mismo atributo (como outlook = sunny y outlook =
overcast) porque eso no puede ocurrir en ninguna instancia real.

Supongamos que buscamos reglas de asociacin con cobertura mnima 2; por lo tanto,
descartamos cualquier conjunto de elementos que cubran menos de dos instancias. Esto deja
47 conjuntos de dos elementos, algunos de los cuales se muestran en la segunda columna
junto con el nmero de veces que aparecen. El siguiente paso es generar los conjuntos de tres
elementos, de los cuales 39 tienen una cobertura de 2 o mayor. Existen seis conjuntos de
cuatro elementos y no hay conjuntos de ve-items. Para estos datos, un conjunto de ve-item
con cobertura 2 o mayor slo podra corresponder a una instancia repetida. Las primeras filas
de la tabla, por ejemplo, muestran que hay ve das en que la perspectiva es soleada, dos de
los cuales tienen temperatura = caliente, y, de hecho, en ambos das humedad = alta y juego
= no tan bien.

Reglas de asociacin

En breve explicaremos cmo generar estos conjuntos de elementos de forma eficiente. Pero
primero dejemos la historia. Una vez que se han generado todos los conjuntos de elementos
con la cobertura requerida, el siguiente paso es convertir cada uno en una regla o un conjunto
de reglas con al menos la exactitud mnima especificada. Algunos conjuntos de elementos
producirn ms de una regla; otros no producirn ninguno. Por ejemplo, hay un conjunto de
tres elementos con una cobertura de 4 (fila 38 de la Tabla 4.10):

humidity = normal, windy = false, play = yes

Este conjunto conduce a siete posibles reglas:

If humidity = normal and windy = false then play = yes 4/4

If humidity = normal and play = yes then windy = false 4/6

If windy = false and play = yes then humidity = normal 4/6

If humidity = normal then windy = false and play = yes 4/7

If windy = false then humidity = normal and play = yes 4/8

If play = yes then humidity = normal and windy = false 4/9

If then humidity = normal and windy = false and play = yes


4/14

Los gures a la derecha en esta lista muestran el nmero de casos para los cuales las tres
condiciones son verdaderas, es decir, la cobertura, dividida por el nmero de casos para los
cuales las condiciones en el antecedente son verdaderas. Interpretadas como una fraccin,
representan la proporcin de casos en los que la regla es correcta, es decir, su exactitud.
Suponiendo que la precisin especificada mnima es 100%, slo la primera de estas reglas lo
har en el conjunto de reglas nal. Los denominadores de las fracciones se obtienen fcilmente
examinando la expresin antecedente en la Tabla 4.10 (aunque algunas no se muestran en la
tabla). La regla nal anterior no tiene condiciones en el antecedente, y su denominador es el
nmero total de instancias en el conjunto de datos.

Generar reglas de manera eficiente

Ahora consideramos con mayor detalle un algoritmo para la produccin de reglas de


asociacin con una cobertura mnima y exactitud especificadas. Existen dos etapas: generar
conjuntos de elementos con la cobertura mnima especificada, y de cada conjunto de
elementos determinar las reglas que tienen la precisin mnima especificada.

La primera etapa procede generando todos los conjuntos de un solo artculo con la cobertura
mnima dada (la primera columna de la Tabla 4.10) y luego usando esto para generar los
conjuntos de dos tems (segunda columna), conjuntos de tres tems (tercera columna) y
pronto. Cada operacin implica un paso a travs del conjunto de datos para contar los
elementos de cada conjunto y despus del paso los conjuntos de elementos supervivientes se
almacenan en una tabla hash-una estructura de datos estndar que permite que los elementos
almacenados en ella se encuentren muy rpidamente. A partir de los conjuntos de un solo
artculo, se generan conjuntos de dos artculos, y luego se hace un pase a travs del conjunto
de datos, contando la cobertura de cada conjunto de dos elementos; al final los conjuntos de
candidatos con menos de cobertura mnima se eliminan de la tabla. Los conjuntos de dos
elementos candidatos son simplemente todos los conjuntos de un solo elemento tomados en
parejas, porque un conjunto de dos elementos no puede tener la cobertura mnima a menos
que ambos conjuntos constitutivos de uno solo tengan la cobertura mnima. Esto se aplica en
general: Un conjunto de tres elementos slo puede tener la cobertura mnima si los tres de
sus subconjuntos de dos elementos tienen una cobertura mnima tambin, y de manera similar
para los conjuntos de cuatro elementos.

Un ejemplo ayudar a explicar cmo se generan los conjuntos de elementos candidatos.


Supongamos que existen tres conjuntos de tres elementos: (A B C), (A B D), (A C D), (A C
E) y (B C D) - donde, por ejemplo, A es una caracterstica como outlook = sunny. La unin
de los dos primeros (A B C D) es un conjunto candidato de cuatro elementos porque sus otros
subconjuntos de tres elementos (A C D) y (B C D) tienen una cobertura mayor que la mnima.
Si los conjuntos de tres elementos estn ordenados en orden lxico, como estn en esta lista,
entonces slo necesitamos considerar pares con los mismos dos primeros miembros. Por
ejemplo, no consideramos (ACD) y (BCD) porque (ABCD) tambin puede ser generado a
partir de (ABC) y (ABD), y si estos dos no son candidatos de tres conjuntos de elementos,
entonces (ABCD) no puede ser un candidato conjunto de cuatro elementos. Esto deja los
pares (A B C) y (A B D), que ya hemos explicado, y (A C D) y (A C E). Este segundo par
conduce al conjunto (A C D E) cuyos subconjuntos de tres artculos no tienen la cobertura
mnima, por lo que se descarta. La tabla de hash ayuda con esta comprobacin: simplemente
eliminamos cada elemento del conjunto a su vez y comprobamos que el conjunto de tres
elementos restantes est realmente presente en la tabla hash. Por lo tanto, en este ejemplo
slo hay un conjunto de cuatro elementos candidato, (A B C D). Si se tiene o no una cobertura
mnima slo se puede determinar comprobando las instancias en el conjunto de datos.

La segunda etapa del procedimiento toma cada conjunto de elementos y genera reglas de l,
comprobando que tienen la precisin mnima especificada. Si slo se buscaran reglas con
una sola prueba en el lado derecho, sera simplemente una cuestin de considerar cada
condicin a su vez como el consecuente de la regla, suprimindola del conjunto de elementos
y dividiendo la cobertura de todo el conjunto de elementos por la cobertura del subconjunto
resultante-obtenida a partir de la tabla hash- para obtener la exactitud de la regla
correspondiente. Dado que tambin nos interesan las reglas de asociacin con mltiples
consecuente, parece que tenemos que evaluar el efecto de colocar cada subconjunto del
conjunto de elementos en el lado derecho, dejando el resto del conjunto como el antecedente.

Este mtodo de fuerza bruta ser excesivamente intensivo de clculo a menos que los
conjuntos de elementos sean pequeos, porque el nmero de subconjuntos posibles crece
exponencialmente con el tamao del conjunto de elementos. Sin embargo, hay una mejor
manera. Hemos observado al describir las reglas de asociacin en la Seccin 3.4 que si la
regla del doble consecuente

If windy = false and play = nothen outlook = sunny and


humidity = high

se mantiene con una cobertura mnima y exactitud, entonces ambas reglas de una sola
consecuencia formadas a partir del mismo conjunto de elementos tambin deben tener:

If humidity = high and windy = false and play = no then outlook


= sunny

If outlook = sunny and windy = false and play = no then


humidity = high

Por el contrario, si una u otra de las reglas de consecuencia nica no se cumple, no tiene
sentido considerar la doble consecuente. Esto da una forma de construir desde reglas de una
sola consecuencia a las de doble consecuencia consecuente, de reglas de doble consecuencia
a las de triple consecuente, y as sucesivamente. Por supuesto, cada regla candidata debe ser
comprobada en contra de la tabla hash para ver si realmente tiene ms de la exactitud mnima
especificada. Pero esto generalmente implica controlar muchas menos reglas que el mtodo
de fuerza bruta. Es interesante que esta forma de construir reglas candidatas (n + 1) -
convenientes a partir de las reales n-consecuentes es realmente lo mismo que la construccin
de candidatos (n + 1) -item conjuntos de conjuntos de n-item real, descrito anteriormente.

Discusin
A menudo se buscan reglas de asociacin para conjuntos de datos muy grandes, y los
algoritmos eficientes son altamente valorados. El mtodo que hemos descrito hace que uno
pase a travs del conjunto de datos para cada tamao diferente del conjunto de elementos. A
veces el conjunto de datos es demasiado grande para leer en la memoria principal y debe
mantenerse en disco; entonces puede valer la pena reducir el nmero de pases mediante la
comprobacin de conjuntos de artculos de dos tamaos consecutivos al mismo tiempo. Por
ejemplo, una vez que se han generado conjuntos con dos elementos, todos los conjuntos de
tres elementos podran generarse a partir de ellos antes de pasar por el conjunto de instancias
para contar el nmero real de elementos en los conjuntos. Se considerarn ms conjuntos de
tres elementos de lo necesario, pero se reducira el nmero de pasadas a travs de todo el
conjunto de datos.

En la prctica, la cantidad de computacin necesaria para generar reglas de asociacin


depende de manera crtica de la cobertura mnima especificada. La precisin tiene menos
incidencia porque no afecta al nmero de pasadas que deben realizarse a travs del conjunto
de datos. En muchas situaciones nos gustara obtener un cierto nmero de reglas-digamos
50- con la mayor cobertura posible a un nivel de precisin mnimo preespecificado. Una
forma de hacerlo es comenzar especificando que la cobertura sea bastante alta y luego
reducirla sucesivamente, reexecutando todo el algoritmo de reglas para cada uno de los
valores de cobertura y repitiendo hasta que se haya generado el nmero deseado de reglas.

El formato de entrada tabular que usamos a lo largo de este libro, y en particular el formato
ARFF estndar basado en l, es muy ineficiente para muchos problemas de reglas de
asociacin. Las reglas de asociacin se usan a menudo en situaciones en las que los atributos
son binarios, presentes o ausentes, y la mayora de los valores de atributo asociados a una
instancia dada estn ausentes. Este es un caso para la escasa representacin de datos descrita
en la Seccin 2.4; se aplica el mismo algoritmo para las reglas de asociacin.

MODELOS LINEALES

Los mtodos que hemos estado buscando para rboles de decisin y reglas funcionan ms
naturalmente con atributos nominales. Pueden extenderse a atributos numricos, ya sea
mediante la incorporacin de pruebas de valor numrico directamente en el rbol de decisin
o en el esquema de induccin de reglas, o mediante la prediscretizacin de atributos
numricos en nombres nominales. Veremos cmo en los captulos 6 y 7, respectivamente.
Sin embargo, hay mtodos que funcionan ms naturalmente con atributos numricos, a saber,
los modelos lineales introducidos en la Seccin 3.2; los examinamos con ms detalle aqu.
Pueden formar componentes de mtodos de aprendizaje ms complejos, que investigaremos
ms adelante.

Prediccin Numrica: Regresin Lineal

Cuando el resultado, o clase, es numrico, y todos los atributos son numricos, la regresin
lineal es una tcnica natural a considerar. Este es un mtodo bsico en las estadsticas. La
idea es expresar la clase como una combinacin lineal de los atributos, con pesos
predeterminados:
xw0 w1a1 w2a2 ...wkak

Clase lineal: Regresin Logstica

La regresin lineal puede usarse fcilmente para la clasificacin en dominios con atributos
numricos. De hecho, podemos utilizar cualquier tcnica de regresin, ya sea lineal o no
lineal, para la clasificacin. El truco consiste en realizar una regresin para cada clase,
estableciendo la salida igual a 1 para las instancias de entrenamiento que pertenecen a la clase
y 0 a las que no. El resultado es una expresin lineal para la clase. Luego, dado un ejemplo
de prueba de clase desconocida, calcule el valor de cada expresin lineal y elija el que sea
ms grande. Este esquema se denomina a veces regresin lineal multirrespuesta.

Una forma de ver la regresin lineal multirespuesta es imaginar que se aproxima a una
funcin numrica de pertenencia para cada clase. La funcin de pertenencia es 1 para
instancias que pertenecen a esa clase y 0 para otras instancias. Dada una nueva instancia,
calculamos su membresa para cada clase y seleccionamos la ms grande.

La regresin lineal multirrespuesta a menudo produce buenos resultados en la prctica. Sin


embargo, tiene dos inconvenientes. En primer lugar, los valores de pertenencia que produce
no son probabilidades adecuadas porque pueden caer fuera del rango de 0 a 1. En segundo
lugar, la regresin de mnimos cuadrados supone que los errores no slo son estadsticamente
independientes sino que tambin se distribuyen normalmente con el mismo estndar
desviacin, suposicin que es violada cuando el mtodo se aplica a problemas de
clasificacin porque las observaciones slo toman los valores 0 y 1.

Una tcnica estadstica relacionada llamada regresin logstica no sufre de estos problemas.
En lugar de aproximar los valores 0 y 1 directamente, arriesgando valores de probabilidad
ilegtimos cuando el objetivo es superado, la regresin logstica construye un modelo lineal
basado en una variable objetivo transformada.

Clase lineal Usando el Perceptron

La regresin logstica intenta producir estimaciones de probabilidad exactas maximizando la


probabilidad de los datos de entrenamiento. Por supuesto, las estimaciones de probabilidad
exactas conducen a clasificaciones precisas. Sin embargo, no es necesario realizar una
estimacin de probabilidad si el nico propsito del modelo es predecir las etiquetas de clase.
Un enfoque diferente es aprender un hiperplano que separa las instancias pertenecientes a las
diferentes clases; supongamos que slo hay dos de ellas. Si los datos se pueden separar
perfectamente en dos grupos usando un hiperplano, se dice que es linealmente separable.
Resulta que si los datos son linealmente separables, existe un algoritmo muy simple para
encontrar un hiperplano de separacin.

El algoritmo se denomina regla de aprendizaje perceptron. Antes de examinarlo en detalle,


examinemos de nuevo la ecuacin de un hiperplano:

w0a0 w1a1 w2a2 wkak 0


Aqu, a1, a2, ..., ak son los valores de los atributos, y w0, w1, ..., wk son los pesos que definen
el hiperplano. Supongamos que cada instancia de entrenamiento a1, a2, ... es extendida por
un atributo adicional a0 que siempre tiene el valor 1 (como lo hicimos en el caso de la
regresin lineal). Esta extensin, que se llama el sesgo, slo significa que no tenemos que
incluir un elemento constante adicional en la suma. Si la suma es mayor que 0, vamos a
predecir la primera clase; de lo contrario, predeciremos la segunda clase. Queremos obtener
valores para los pesos de modo que los datos de entrenamiento sean correctamente
clasificados por el hiperplano.

La figura 4.10 (a) da la regla de aprendizaje del perceptron para encontrar un hiperplano de
separacin. El algoritmo itera hasta que se ha encontrado una solucin perfecta, pero slo
funcionar correctamente si existe un hiperplano de separacin, es decir, si los datos son
linealmente separables. Cada iteracin pasa por todas las instancias de entrenamiento. Si se
encuentra una instancia de clasificacin errnea, se cambian los parmetros del hiperplano
para que la instancia de clasificacin errnea se acerque ms al hiperplano o incluso a travs
del hiperplano en el lado correcto. Si la instancia pertenece a la primera clase, esto se hace
agregando sus valores de atributo al vector de peso; de lo contrario, se sustraen de ella.

Para ver por qu esto funciona, considere la situacin despus de que se haya agregado una
instancia a perteneciente a la primera clase:

(w0 a0)a0 (w1 a1)a1 (w2 a2)a2 ...(wk ak)ak

Esto significa que la salida de a se ha incrementado

a0 a0 a1 a1 a2 a2 ak ak

Este nmero es siempre positivo. Por lo tanto, el hiperplano se ha movido en la direccin


correcta para clasificar la instancia a como positiva. Por el contrario, si una instancia
perteneciente a la segunda clase es mal clasificada, la salida para esa instancia disminuye
despus de la modificacin, moviendo nuevamente el hiperplano en la direccin correcta.

Estas correcciones son incrementales y pueden interferir con las actualizaciones anteriores.
Sin embargo, se puede demostrar que el algoritmo converge en un nmero neto de iteraciones
si los datos son linealmente separables. Por supuesto, si los datos no son linealmente
separables, el algoritmo no terminar, por lo que se debe imponer un lmite superior al
nmero de iteraciones cuando este mtodo se aplica en la prctica.

El hiperplano resultante se llama perceptron, y es el abuelo de las redes neuronales


(regresamos a redes neuronales en la Seccin 6.4). La figura 4.10 (b) representa el perceptron
como un grfico con nodos y bordes ponderados, denominados imaginativamente una "red"
de "neuronas". Hay dos capas de nodos: entrada y salida. La capa de entrada tiene un nodo
para cada atributo, ms un nodo extra que siempre se establece en 1. La capa de salida consta
de un solo nodo. Cada nodo de la capa de entrada est conectado a la capa de salida. Las
conexiones se ponderan, y los pesos son los nmeros encontrados por la regla de aprendizaje
del perceptron.

Cuando se presenta una instancia al perceptron, sus valores de atributo sirven para "activar"
la capa de entrada. Se multiplican por los pesos y se resumen en el nodo de salida. Si la suma
ponderada es mayor que 0, la seal de salida es 1, representando la primera clase; de lo
contrario, es -1, representando el segundo.

Clase lineal Usando Winnow

El algoritmo perceptron no es el nico mtodo que se garantiza para un hiperplano separado


para un problema linealmente separable. Para conjuntos de datos con atributos binarios hay
una alternativa conocida como Winnow, que se ilustra en la Figura 4.11 (a)

La estructura de los dos algoritmos es muy similar. Al igual que el perceptron, Winnow slo
actualiza el vector de peso cuando se encuentra una instancia de clasificacin errnea, es un
error.
Los dos mtodos difieren en cmo los pesos se ponen al da. La regla de perceptron emplea
un mecanismo aditivo que altera el vector de peso aadiendo (o restando) el vector de atributo
de la instancia. Winnow emplea actualizaciones multiplicativas y altera los pesos
individualmente multiplicndolos por un parmetro especfico del usuario (o su inverso).
Los valores de atributo ai son 0 o 1 porque estamos trabajando con datos binarios. Los pesos
no cambian si el valor del atributo es 0, porque entonces no participan en la decisin. De lo
contrario, el multiplicador es si ese atributo ayuda a tomar una decisin correcta y 1 / si
no lo hace.
Otra diferencia es que el umbral en la funcin lineal es tambin un parmetro especfico del
usuario. Llamamos a este umbral y clasificamos una instancia como perteneciente a la clase
1 si y slo si
w0a0 w1a1 w2a2 ...wkak

El multiplicador necesita ser mayor que 1, y los wi se ajustan a una constante al principio.

El algoritmo que hemos descrito no permite pesos negativos que, dependiendo del dominio,
pueden ser un inconveniente. Sin embargo, hay una versin, llamada Balanced Winnow, que
permite. Esta versin mantiene dos vectores de peso, uno para cada clase. Una instancia se
clasi fi ca como perteneciente a la clase 1 si

(w0w0)a0 (w1w1)a1 (wkwk)ak

La figura 4.11 (b) muestra el algoritmo balanceado.

Winnow es muy efectivo en la identificacin de las caractersticas relevantes de un conjunto


de datos;

por lo tanto, se llama un aprendiz de atributo-ef cient. Esto significa que puede ser un buen
algoritmo candidato si un conjunto de datos tiene muchas caractersticas (binarias) y la
mayora de ellas son irrelevantes. Tanto Winnow como el algoritmo perceptron pueden ser
utilizados en un entorno online en el que las nuevas instancias llegan de forma continua, ya
que pueden actualizar incrementalmente sus hiptesis a medida que llegan nuevas instancias.

APRENDIZAJE BASADO EN LA INSTANCIA

En el aprendizaje basado en instancias los ejemplos de entrenamiento se almacenan


textualmente y se utiliza una funcin de distancia para determinar qu miembro del conjunto
de entrenamiento est ms cerca de una instancia de prueba desconocida. Una vez localizada
la instancia de entrenamiento ms cercana, se predice su clase para la instancia de prueba. El
nico problema restante es determinar la funcin de distancia, y eso no es muy difcil de
hacer, sobre todo si los atributos son numricos.

Funcin Distancia

Aunque hay otras opciones posibles, la mayora de los estudiantes basados en la instancia
utilizan la distancia euclidiana. La distancia entre una instancia con valores de atributo a1(1),
a2(1), ... , ak(1)

(donde k es el nmero de atributos) y uno con valores a1(2), a2(2), ... , ak(2)

se define como

Cuando se comparan las distancias, no es necesario realizar la operacin de la raz cuadrada:


las sumas de los cuadrados se pueden comparar directamente. Una alternativa a la distancia
euclidiana es la mtrica de Manhattan, o ciudad-bloque, donde la diferencia entre los valores
de los atributos no es cuadrada sino que se agrega (despus de tomar el valor absoluto). Otros
se obtienen tomando poderes ms altos que el cuadrado. Las potencias superiores aumentan
la influencia de grandes diferencias a expensas de pequeas diferencias. En general, la
distancia euclidiana representa un buen compromiso. Otras mtricas de distancia pueden ser
ms apropiadas en circunstancias especiales. La clave es pensar en los casos reales y lo que
significa para ellos estar separados por una cierta distancia, qu significara dos veces esa
distancia, por ejemplo?

Los diferentes atributos se miden a menudo en diferentes escalas, por lo que si la frmula de
distancia euclidiana se utiliza directamente, el efecto de algunos atributos podra ser
completamente empequeecido por otros que tenan escalas de medicin ms grandes. Por
lo tanto, es usual normalizar todos los valores de los atributos para que se encuentren entre 0
y 1 calculando

donde vi es el valor real del atributo i, y el mximo y el mnimo se toman sobre todas las
instancias del conjunto de entrenamiento.
Estas frmulas asumen implcitamente atributos numricos. Aqu la diferencia entre dos
valores es slo la diferencia numrica entre ellos, y es esta diferencia que es cuadrada y se
agrega para producir la funcin de distancia. Para los atributos nominales que toman valores
simblicos en lugar de numricos, la diferencia entre dos valores que no son los mismos se
toma a menudo como 1, mientras que si los valores son iguales la diferencia es 0. No se
requiere escala en este caso porque slo se utilizan los valores 0 y 1.
Una poltica comn para manejar valores perdidos es la siguiente. Para los atributos
nominales, supongamos que una caracterstica que falta es mxima diferente de cualquier
otro valor de caracterstica. Por lo tanto, si uno o ambos valores faltan, o si los valores son
diferentes, la diferencia entre ellos se toma como 1; la diferencia es 0 slo si no faltan y
ambas son iguales. Para los atributos numricos, la diferencia entre dos valores faltantes
tambin se toma como 1. Sin embargo, si slo falta un valor, la diferencia se toma a menudo
como el tamao (normalizado) del otro valor o 1 menos ese tamao, lo que sea mayor . Esto
significa que si faltan valores, la diferencia es tan grande como posiblemente puede ser.

Encontrar los vecinos ms cercanos


Aunque el aprendizaje basado en instancias es simple y eficaz, a menudo es lento. La manera
obvia de determinar qu miembro del conjunto de entrenamiento es ms cercano a una
instancia de prueba desconocida es calcular la distancia de cada miembro del conjunto de
entrenamiento y seleccionar el ms pequeo. Este procedimiento es lineal en el nmero de
instancias de entrenamiento. En otras palabras, el tiempo que se necesita para hacer una sola
prediccin es proporcional al nmero de instancias de entrenamiento. Procesar un conjunto
completo de pruebas toma tiempo proporcional al producto del nmero de instancias en los
conjuntos de entrenamiento y prueba.
Los vecinos ms cercanos se pueden encontrar ms eficientemente representando el conjunto
de entrenamiento como un rbol, aunque no es muy obvio cmo. Una estructura adecuada es
un rbol kD. Este es un rbol binario que divide el espacio de entrada con un hiperplano y
luego divide cada particin de nuevo, recursivamente. Todas las divisiones se hacen paralelas
a uno de los ejes, ya sea vertical u horizontalmente, en el caso bidimensional. La estructura
de datos se denomina rbol kD porque almacena un conjunto de puntos en el espacio k-
dimensional, siendo k el nmero de atributos.

La Figura 4.12 (a) da un pequeo ejemplo con k = 2, y la Figura 4.12 (b) muestra las cuatro
instancias de entrenamiento que representa, junto con los hiperplanos que constituyen el
rbol. Tenga en cuenta que estos hiperplanos no son lmites de decisin: Las decisiones se
toman sobre la base de vecinos ms cercanos como se explica ms adelante. La primera
divisin es horizontal (h), a travs del punto (7,4) -esta es la raz del rbol. La rama izquierda
no se divide ms: contiene el punto nico (2,2), que es una hoja del rbol. La rama derecha
se divide verticalmente (v) en el punto (6,7). Su hijo derecho est vaco, y su hijo izquierdo
contiene el punto (3,8). Como ilustra este ejemplo, cada regin contiene slo un punto, o tal
vez ningn punto. Las ramas hermanas del rbol -por ejemplo, las dos hijas de la raz en la
figura 4.12 (a )- no se desarrollan necesariamente a la misma profundidad. Cada punto del
conjunto de entrenamiento corresponde a un solo nodo, y hasta la mitad son nodos de hoja.
Cmo se construye un rbol kD desde un conjunto de datos? Puede actualizarse
eficientemente a medida que se agregan nuevos ejemplos de formacin? Y cmo se aceleran
los clculos del vecino ms cercano? Abordamos la ltima pregunta primero.
Para localizar el vecino ms cercano de un punto de destino determinado, siga el rbol desde
su raz para localizar la regin que contiene el objetivo. La figura 4.13 muestra un espacio
como el de la figura 4.12 (b), pero con unos pocos ejemplos ms y un lmite extra. El objetivo,
que no es una de las instancias del rbol, est marcado por una estrella. El nodo de la hoja de
la regin que contiene el blanco est coloreado en negro. Esto no es necesariamente el vecino
ms cercano del objetivo, como ilustra este ejemplo, pero es una buena primera
aproximacin. En particular, cualquier vecino ms cercano debe estar ms cerca-dentro del
crculo discontinuo de la figura 4.13. Para determinar si existe, compruebe primero si es
posible que un vecino ms cercano se encuentre dentro del hermano del nodo. El hermano
del nodo negro est sombreado en la figura 4.13, y el crculo no lo cruza, por lo que el
hermano no puede contener un

Vecino. A continuacin, volver al nodo padre y comprobar su hermano, que aqu cubre todo
por encima de la lnea horizontal. En este caso debe ser explorado porque el rea que cubre
intersecta con el mejor crculo hasta ahora. Para explorarlo, y sus hijas (las dos tas del punto
original); comprobar si se cruzan el crculo (el izquierdo no, pero el derecho hace); y
desciende para ver si contiene un punto ms cercano (lo hace).
En un caso tpico, este algoritmo es mucho ms rpido que el examen de todos los puntos y
nd el vecino ms cercano. El trabajo relacionado con la aproximacin del vecino ms
cercano, el punto negro de la figura 4.13, depende de la profundidad del rbol, dada por el
logaritmo del nmero de nodos, log2n si el rbol est bien equilibrado. La cantidad de trabajo
que implica el retroceso para comprobar si este es realmente el vecino ms cercano depende
un poco del rbol y de cun buena es la aproximacin inicial. Pero para un rbol bien
construido con nodos que son cuadrados en lugar de rectngulos flacos largos, tambin puede
demostrarse que es logartmico en el nmero de nodos (si el nmero de atributos en el
conjunto de datos no es demasiado grande).
Cmo construyes un buen rbol para un conjunto de ejemplos de entrenamiento? El
problema se reduce a seleccionar la primera instancia de entrenamiento para dividir en y la
direccin de la divisin. Una vez que usted puede hacer eso, aplique el mismo mtodo
recursivamente a cada nio de la divisin inicial para construir el rbol entero.
Para obtener una buena direccin para la divisin, calcule individualmente la varianza de los
puntos de datos a lo largo de cada eje, seleccione el eje con mayor varianza y cree un
hiperplano de divisin perpendicular a l. Para encontrar un buen lugar para el hiperplano,
localice el valor mediano a lo largo de ese eje y seleccione el punto correspondiente. Esto
hace que la divisin sea perpendicular a la direccin de mayor extensin, con la mitad de los
puntos situados a ambos lados. Esto produce un rbol bien equilibrado. Para evitar regiones
flacas largas es mejor que las divisiones sucesivas estn a lo largo de diferentes ejes, lo cual
es probable porque la dimensin de mayor varianza se elige en cada etapa. Sin embargo, si
la distribucin de puntos es muy sesgada, la eleccin del valor mediano puede generar varias
divisiones sucesivas en la misma direccin, produciendo hiperrectangles largos y flacos. Una
mejor estrategia es calcular la media en lugar de la mediana y utilizar el punto ms cercano
a eso. El rbol no estar perfectamente equilibrado, pero sus regiones tienden a ser cuadradas
porque hay una mayor probabilidad de que se escojan diferentes direcciones para las
divisiones sucesivas.
Una ventaja del aprendizaje basado en instancias sobre la mayora de los mtodos de
aprendizaje de otras mquinas es que se pueden agregar nuevos ejemplos al conjunto de
entrenamiento en cualquier momento. Para conservar esta ventaja al usar un rbol kD,
necesitamos poder actualizarlo de forma incremental con nuevos puntos de datos. Para ello,
determine qu nodo hoja contiene el nuevo punto y nd su hiperrectangle. Si est vaco,
simplemente coloque el nuevo punto all. De lo contrario, divida el hiperrectngulo a lo largo
de su dimensin ms larga para conservar la cuadratura. Esta simple heurstica no garantiza
que la adicin de una serie de puntos conservar el equilibrio del rbol, ni que los
hiperrectangles estarn bien formados para una bsqueda de vecinos ms cercanos. Es una
buena idea reconstruir el rbol de vez en cuando, por ejemplo, cuando su profundidad crece
hasta el doble de la mejor profundidad posible.
Como hemos visto, los rboles kD son buenas estructuras de datos para lograr que los vecinos
ms prximos efecten efi cientemente. Sin embargo, no son perfectos. Los conjuntos de
datos distorsionados presentan un conflicto bsico entre el deseo de que el rbol est
perfectamente equilibrado y el deseo de que las regiones sean cuadradas. Ms importante
an, rectngulos, incluso cuadrados, no son la mejor forma de usar de todos modos, debido
a sus esquinas. Si el crculo discontinuo en la figura 4.13 fuera mayor, lo que sera si la
instancia negra estuviera un poco ms alejada del objetivo, se cruzara la esquina inferior
derecha del rectngulo en la parte superior izquierda y entonces ese rectngulo tendra que
ser investigado , tambin a pesar de que las instancias de formacin que lo definen estn muy
lejos de la esquina en cuestin. Las esquinas de las regiones rectangulares son incmodas.
La solucin? Utilice hiperesferas, no hiperrectangles. Las esferas vecinas pueden
superponerse, mientras que los rectngulos pueden apoyarse, pero esto no es un problema
porque el algoritmo de vecindad ms cercano para los rboles kD no depende de que las
regiones sean disjuntas. Una estructura de datos llamada un rbol de bola de nes k-
dimensional hiperesferas ("bolas") que cubren los puntos de datos, y los arregla en un rbol.
La figura 4.14 (a) muestra 16 instancias de entrenamiento en el espacio bidimensional,
superpuestas por un patrn de crculos superpuestos, y la figura 4.14 (b) muestra un rbol
formado a partir de estos crculos. Los crculos en diferentes niveles del rbol se indican con
diferentes estilos de guin y los crculos ms pequeos se dibujan en tonos de gris. Cada
nodo del rbol representa una bola, y el nodo est rayado o sombreado de acuerdo con la
misma convencin

para que pueda identificar en qu nivel estn las bolas. Para ayudarle a entender el rbol, los
nmeros se colocan en los nodos para mostrar cuntos puntos de datos se consideran dentro
de esa pelota. Pero tenga cuidado: esto no es necesariamente el mismo que el nmero de
puntos que caen dentro de la regin espacial que representa la pelota. Las regiones en cada
nivel a veces se superponen, pero los puntos que caen en el rea de superposicin se asignan
a slo una de las bolas superpuestas (el diagrama no muestra cul). En lugar de los conteos
de ocupacin en la Figura 4.14 (b), los nodos de los rboles reales de pelota almacenan el
centro y el radio de su bola; los nodos de hojas registran los puntos que contienen tambin.
Para usar un rbol de pelota para encontrar el vecino ms cercano a un objetivo determinado,
comience por recorrer el rbol de arriba abajo para localizar la hoja que contiene el objetivo
y nd el punto ms cercano al objetivo en esa pelota. Esto da un lmite superior para la
distancia del objetivo a su vecino ms cercano. Entonces, al igual que para el rbol kD,
examine el nodo hermano. Si la distancia del objetivo al centro del hermano excede su radio
ms el lmite superior actual, no puede contener posiblemente un punto ms cercano; si no,
el hermano debe ser examinado descendiendo el rbol ms lejos.
En la figura 4.15, el blanco est marcado con una estrella y el punto negro es su vecino ms
cercano. Se puede descartar todo el contenido de la bola gris: no puede contener un punto
ms cercano porque su centro est demasiado lejos. Progrese recursivamente el rbol hasta
su raz, examinando cualquier bola que pueda contener un punto ms cercano que el lmite
superior actual.
Los rboles de bolas se construyen de arriba abajo, y como con los rboles kD el problema
bsico es encontrar una buena manera de dividir una pelota que contiene un conjunto de
puntos de datos en dos. En la prctica, no tiene que continuar hasta que las bolas de la hoja
contengan slo dos puntos: Puede detenerse antes, una vez que se alcance un nmero mnimo
predeterminado, y lo mismo ocurre con los rboles kD. Aqu hay un mtodo de divisin
posible. Elige el punto en la bola que

est ms lejos de su centro, y luego un segundo punto que est ms alejado de la primera.
Asigne todos los puntos de datos en la pelota al ms cercano de estos dos centros de
agrupacin; luego calcula el centroide de cada grupo y el radio mnimo requerido para que
encierre todos los puntos de datos que representa. Este mtodo tiene el mrito de que el coste
de dividir una bola que contiene n puntos es slo lineal en n. Existen algoritmos ms
elaborados que producen bolas ms ajustadas, pero requieren ms computacin. No
describiremos algoritmos sofisticados para construir rboles de bola o actualizarlos de forma
incremental a medida que se encuentren nuevas instancias de entrenamiento.

CLUSTERING
Las tcnicas de agrupacin se aplican cuando no hay clases que se prediquen, pero las
instancias se dividen en grupos naturales. Estos grupos presumiblemente se refieren a algn
mecanismo que est en funcionamiento en el dominio del que se extraen las instancias, un
mecanismo que hace que algunos casos tengan una mayor similitud entre s que con los
restantes casos. Clustering naturalmente requiere diferentes tcnicas para la clasificacin y
asociacin de mtodos de aprendizaje que hemos considerado hasta ahora.
Como vimos en la Seccin 3.6, existen diferentes maneras de expresar el resultado del
agrupamiento. Los grupos identificados pueden ser exclusivos: Cualquier instancia pertenece
a un solo grupo. O pueden estar superpuestos: Una instancia puede caer en varios grupos. O
pueden ser probabilsticas: Una instancia pertenece a cada grupo con una cierta probabilidad.
O pueden ser jerrquicos: Una divisin de instancias en grupos en el nivel superior y cada
grupo se reen mayor, tal vez hasta los casos individuales. En realidad, la eleccin entre estas
posibilidades debe ser dictada por la naturaleza de los mecanismos que se cree que subyacen
en el fenmeno de agrupamiento en particular. Sin embargo, debido a que estos mecanismos
son raramente conocidos -la misma existencia de clsteres es, despus de todo, algo que
estamos tratando de descubrir- y por razones pragmticas tambin, la eleccin suele ser
dictada por las herramientas de agrupacin disponibles.
Vamos a examinar un algoritmo que funciona en los dominios numricos, las instancias de
particionamiento en clsteres disjuntos. Al igual que el mtodo bsico de vecindad ms
cercana de aprendizaje basado en la instancia, es una tcnica simple y directa que se ha
utilizado durante varias dcadas. En el captulo 6 examinamos los mtodos de agrupacin
ms recientes que realizan la agrupacin incremental y probabilstica.

Clasificacin Iterativa Basada en Distancia


La clsica tcnica de agrupamiento se denomina k-means. En primer lugar, se especifica de
antemano cuntos clsteres se estn buscando: Este es el parmetro k. Entonces k puntos se
eligen al azar como centros de agrupacin. Todas las instancias se asignan a su centro de
clster ms cercano de acuerdo con la mtrica de distancia Euclidiana ordinaria. A
continuacin se calcula el centroide, o media, de las instancias de cada grupo: sta es la parte
de "medios". Estos centroides se toman como nuevos valores de centro para sus respectivos
grupos. Finalmente, todo el proceso se repite con los nuevos centros de agrupacin. La
iteracin contina hasta que los mismos puntos se asignan a cada racimo en rondas
consecutivas, en cuyo estadio los centros del racimo se han estabilizado y seguirn siendo
los mismos para siempre.
Este mtodo de agrupamiento es simple y eficaz. Es fcil demostrar que la eleccin del centro
de agrupacin como centroide minimiza la distancia cuadrtica total desde cada uno de los
puntos del grupo hasta su centro. Una vez que la iteracin se ha estabilizado, cada punto se
asigna a su centro de clster ms cercano, por lo que el efecto general es minimizar la
distancia cuadrtica total de todos los puntos a sus centros de agrupacin. Pero el mnimo es
un local; no hay garanta de que sea el mnimo global. Los clusters nal son bastante sensibles
a los centros de agrupacin inicial. Completamente diferentes arreglos pueden surgir de
pequeos cambios en la eleccin al azar inicial. De hecho, esto es cierto para todas las
tcnicas prcticas de agrupamiento: es casi siempre imposible encontrar clusters globalmente
ptimos. Para aumentar la probabilidad de encontrar un mnimo global, la gente a menudo
ejecuta el algoritmo varias veces con diferentes opciones iniciales y elige el mejor resultado
nal: el que tiene la menor distancia cuadrada total.
Es fcil imaginar situaciones en las que k-means no logra un buen clustering. Considere
cuatro casos dispuestos en los vrtices de un rectngulo en el espacio bidimensional. Hay dos
racimos naturales, formados agrupando los dos vrtices en cada extremo de un lado corto.
Pero supongamos que los dos centros de agrupamiento iniciales caen en los puntos medios
de los lados largos. Esto constituye una configuracin estable. Los dos grupos contienen cada
uno de los dos casos en cada extremo de un lado largo, no importa cun grande sea la
diferencia entre los lados largo y corto.
k-medios de agrupacin se puede mejorar drsticamente mediante la eleccin cuidadosa de
los centros de clster inicial, a menudo llamados semillas. En lugar de comenzar con un
conjunto arbitrario de semillas, aqu es un procedimiento mejor. Elija la semilla inicial al azar
de todo el espacio, con una distribucin de probabilidad uniforme. Luego escoja la segunda
semilla con una probabilidad que sea proporcional al cuadrado de la distancia desde la
primera. Proceder, en cada etapa, a elegir la siguiente semilla con una probabilidad
proporcional al cuadrado de la distancia de la semilla ms cercana que ya se ha elegido. Este
procedimiento, llamado k-means ++, mejora la velocidad y precisin sobre el algoritmo
original con semillas aleatorias.

Clculos de distancia ms rpidos


El algoritmo de clustering de k-means generalmente requiere varias iteraciones, cada una
involucrando la distancia de los k clusters de cada instancia para determinar su cluster.
Existen aproximaciones simples que aceleran considerablemente este proceso. Por ejemplo,
puede proyectar el conjunto de datos y realizar cortes a lo largo de ejes seleccionados, en
lugar de utilizar las divisiones de hiperplanos arbitrarias que estn implcitas al elegir el
centro de clster ms cercano. Pero esto inevitablemente compromete la calidad de los
clusters resultantes.
Aqu est una mejor manera de acelerar las cosas. Encontrar el centro de clster ms cercano
no es tan diferente de los vecinos ms cercanos en el aprendizaje basado en instancias.
Pueden usarse las mismas soluciones eficaces-rboles-kD y rboles de pelota? S! De
hecho, pueden aplicarse de una manera an ms eficiente, ya que en cada iteracin de k-
significa que todos los puntos de datos se procesan juntos, mientras que en el aprendizaje
basado en instancias, las instancias de prueba se procesan individualmente.
Primero, construye un rbol kD o rbol de pelota para todos los puntos de datos, los cuales
permanecern estticos durante el procedimiento de agrupacin. Cada iteracin de k-means
produce un conjunto de centros de agrupacin y todos los puntos de datos deben ser
examinados y asignados al centro ms cercano. Una forma de procesar los puntos es
descender el rbol desde la raz hasta llegar a una hoja y comprobar cada punto individual en
la hoja para encontrar su centro de agrupacin ms cercano. Pero puede ser que la regin
representada por un nodo interior ms alto caiga totalmente dentro del dominio de un solo
centro de agrupacin. En ese caso, todos los puntos de datos bajo ese nodo pueden ser
procesados en un golpe!
El objetivo del ejercicio, despus de todo, es encontrar nuevas posiciones para los centros de
agrupacin calculando el centroide de los puntos que contienen. El centroide puede calcularse
manteniendo una suma vectorial corriente de los puntos en el grupo, y un recuento de cuntos
hay hasta ahora. Al final, slo divida uno por el otro y el centroide. Supongamos que con
cada nodo del rbol almacenamos la suma vectorial de los puntos dentro de ese nodo y un
recuento del nmero de puntos. Si todo el nodo est dentro del mbito de un solo clster, los
totales en ejecucin para ese clster se pueden actualizar inmediatamente. Si no, mira dentro
del nodo procediendo recursivamente hacia abajo del rbol.
La Figura 4.16 muestra las mismas instancias y rbol de bolas que en la Figura 4.14, pero
con dos centros de agrupacin marcados como estrellas negras. Debido a que todas las
instancias se asignan al centro ms cercano, el espacio se divide en dos por la lnea gruesa
que se muestra en la Figura 4.16 (a). Comience en la raz del rbol en la Figura 4.16 (b), con
valores iniciales para la suma vectorial y recuentos para cada grupo; todos los valores
iniciales son 0. Proceder recursivamente por el rbol. Cuando se alcanza el nodo A, todos los
puntos dentro de l se encuentran en el clster 1, por lo que la suma y el recuento del grupo
1 se pueden actualizar con la suma y contar para el nodo A, y no necesitamos descender ms.
Recurriendo de nuevo al nodo B, su bola se encuentra a horcajadas del lmite entre los grupos,
por lo que sus puntos deben ser examinados individualmente. Cuando se alcanza el nodo C,
cae completamente dentro del grupo 2; de nuevo, podemos actualizar el clster 2
inmediatamente y no necesitamos descender ms. El rbol slo es examinado hasta la
frontera marcada por la lnea discontinua en la Figura 4.16 (b), y la ventaja es que los nodos

de abajo no necesitan ser abiertos -al menos no en esta iteracin particular de k-medios. La
prxima vez, los centros de clster habrn cambiado y las cosas pueden ser diferentes.

APRENDIZAJE MULTI-INSTANCIA
En el Captulo 2 presentamos el aprendizaje multi-instancia, donde cada ejemplo en los datos
comprende varias instancias diferentes. Llamamos a estos ejemplos bolsas (notamos la
diferencia entre bolsas y juegos en la Seccin 4.2). En el aprendizaje supervisado multi-
instancia, una etiqueta de clase se asocia con cada bolsa, y el objetivo del aprendizaje es
determinar cmo se puede deducir la clase de las instancias que componen la bolsa. Aunque
se han ideado algoritmos avanzados para abordar tales problemas, resulta que la metodologa
simple puede aplicarse aqu con resultados sorprendentemente buenos. Un enfoque simple
pero eficaz es manipular los datos de entrada para transformarlos en un problema de
aprendizaje de instancia nica y luego aplicar mtodos de aprendizaje estndar, como los
descritos en este captulo. Dos de estos enfoques se describen en las siguientes secciones.

Agregacin de la entrada
Puede convertir un problema de instancia mltiple en uno de instancia nica calculando
valores como media, modo, mnimo y mximo que resumen las instancias de la bolsa y
agregndolos como nuevos atributos. Cada instancia "resumen" conserva la etiqueta de la
clase de la bolsa de la que se deriv. Para clasificar una nueva bolsa se utiliza el mismo
proceso: Se crea una nica instancia agregada con atributos que resumen las instancias de la
bolsa. Sorprendentemente, para el conjunto de datos de la actividad original de la droga que
estimul el desarrollo del aprendizaje multi-instancia, se pueden obtener resultados
comparables con alumnos de mltiples instancias de propsito especial usando slo los
valores mnimo y mximo de cada atributo para cada bolsa, combinados con un vector de
soporte (vase el captulo 6). Un inconveniente potencial de este enfoque es que las mejores
estadsticas de resumen para calcular dependen del problema en cuestin. Sin embargo, el
costo computacional adicional asociado con la exploracin de combinaciones de diferentes
estadsticas de resumen se compensa por el hecho de que el proceso de resumen significa que
el algoritmo de aprendizaje procesa menos instancias.

Agregacin de la salida
En lugar de agregar las instancias en cada bolsa, otro enfoque es aprender un clas- sista
directamente de las instancias originales que componen la bolsa. Para lograr esto, todas las
instancias de una bolsa determinada se asignan a la etiqueta de la clase de la bolsa. En el
momento de la clasificacin, se produce una prediccin para cada caso en la bolsa a predecir,
y las predicciones se agregan de alguna manera para formar una prediccin para la bolsa en
su conjunto. Un enfoque consiste en tratar las predicciones como votos para las distintas
etiquetas de las clases. Si el clasificador es capaz de asignar probabilidades a las etiquetas de
la clase, stas podran promediarse para obtener una distribucin de probabilidad general para
la etiqueta de la clase de la bolsa. Este mtodo trata las instancias de forma independiente y
les da igual in uencia en la etiqueta de clase predicha.
Un problema es que las bolsas en los datos de entrenamiento pueden contener diferentes
nmeros de instancias. Idealmente, cada bolsa debe tener la misma influencia en el modelo
nal que se aprende. Si el algoritmo de aprendizaje puede aceptar pesos de nivel de instancia,
esto se puede lograr asignando cada instancia en una bolsa dada un peso inversamente
proporcional al tamao de la bolsa. Si una bolsa contiene n instancias, dar a cada uno un peso
de 1 / n asegura que las instancias contribuyan igualmente a la etiqueta de la clase de la bolsa
y cada bolsa recibe un peso total de 1.

OTRAS LECTURAS
El esquema 1R fue propuesto e investigado a fondo por Holte (1993). Nunca se pens
realmente como un "mtodo" de aprendizaje de la mquina. El punto era ms para demostrar
que las estructuras muy simples subyacen a la mayora de los conjuntos de datos prcticos
que se utilizan para evaluar los esquemas de aprendizaje automtico en el momento y que
ponen en marcha los esquemas inductivos inductivos en conjuntos de datos simples era como
usar un martillo para romper una tuerca. Por qu lidiar con un rbol de decisiones complejo
cuando una simple regla har? El esquema que genera una regla simple por clase se debe a
Lucio de Souza Coelho de Brasil y Len Trigg de Nueva Zelanda, y ha sido llamado
hiperpipes. Un algoritmo muy simple, tiene la ventaja de ser extremadamente rpido y es
bastante factible incluso con un enorme nmero de atributos.
Bayes era un filsofo ingls del siglo XVIII que expuso su teora de la probabilidad en un
"Ensayo para resolver un problema en la doctrina de las posibilidades", publicado en las
Transacciones filosficas de la Royal Society de Londres (Bayes, 1763). La regla que lleva
su nombre ha sido una piedra angular de la teora de la probabilidad desde entonces. La
dificultad con la aplicacin de la regla de Bayes en la prctica es la asignacin de
probabilidades previas.
Algunos estadsticos, llamados Bayesianos, toman la regla como un evangelio e insisten en
que la gente haga serios intentos de estimar con precisin las probabilidades previas, aunque
estas estimaciones son a menudo subjetivas. Otros, no bayesianos, prefieren el tipo de anlisis
libre de prioridad que tpicamente genera intervalos de confianza estadstica, lo cual veremos
en el Captulo 5. Con un conjunto de datos particular, las probabilidades previas para Nave
Bayes son generalmente razonablemente fciles de estimar, Bayesiano al aprendizaje. Sin
embargo, la hiptesis de la independencia hecha por el mtodo Nave Bayes es un gran
obstculo y se estn haciendo esfuerzos para aplicar el anlisis bayesiano sin asumir
independencia. Los modelos resultantes se denominan redes bayesianas (Heckerman et al.,
1995), y los describimos en la seccin 6.7.
Las tcnicas bayesianas haban sido utilizadas en el campo del reconocimiento de patrones
(Duda y Hart, 1973) durante 20 aos antes de que fueran adoptadas por investigadores de
aprendizaje automtico (por ejemplo, Langley et al., 1992) y se hicieron trabajar en conjuntos
de datos con atributos redundantes (Langley y Sage, 1994) y atributos numricos (John y
Langley, 1995). La etiqueta Nave Bayes es desafortunada porque es difcil usar este mtodo
sin sentirse simplista. Sin embargo, no hay nada ingenuo sobre su uso en circunstancias
apropiadas. El modelo multinomial Nave Bayes, que es particularmente til para la
clasificacin de textos, fue investigado por McCallum y Nigam (1998).

Quinlan (1986) describe el procedimiento bsico ID3 desarrollado en este captulo. Una
descripcin completa del mtodo, incluyendo las mejoras que se incorporan en C4.5, aparece
en un libro clsico de Quinlan (1993), que da una lista del sistema C4.5 completo, escrito en
el lenguaje de programacin C. PRISM fue desarrollado por Cendrowska (1987), quien
tambin introdujo el conjunto de datos de lentes de contacto.
Las reglas de asociacin se introducen y describen en la literatura de la base de datos en lugar
de en la literatura de aprendizaje automtico. Aqu el nfasis est mucho en tratar con
enormes cantidades de datos en lugar de en formas sensibles de probar y evaluar algoritmos
en conjuntos de datos limitados. El algoritmo introducido en este captulo es el mtodo
Apriori desarrollado por Agrawal y sus asociados (Agrawal et al., 1993a, 1993b, Agrawal y
Srikant, 1994). En un artculo de Chen et al. (1996).
La regresin lineal se describe en la mayora de los textos estadsticos estndar, y en Lawson
y Hanson (1995) se puede encontrar un tratamiento particularmente completo. El uso de
modelos lineales para la clasificacin goz de gran popularidad en los aos sesenta; Nilsson
(1965) es una excelente referencia. Determina una unidad de umbral lineal como una prueba
binaria de si una funcin lineal es mayor o menor que cero y una mquina lineal como un
conjunto de funciones lineales, una para cada clase, cuyo valor para un ejemplo desconocido
es comparado y el ms grande elegido como su clase predicha. En el pasado lejano, los
perceptrons cayeron de favor en la publicacin de un libro in uential que demostr que tenan
limitaciones fundamentales (Minsky y Papert, 1969); sin embargo, los sistemas ms
complejos de funciones lineales han experimentado un resurgimiento en los ltimos aos en
forma de redes neuronales, descritas en la Seccin 6.4. Los algoritmos de Winnow fueron
introducidos por Nick Littlestone en su Ph.D. tesis (Littlestone, 1988, 1989). Los
clasificadores lineales de respuesta mltiple han encontrado aplicacin en una operacin
llamada apilamiento que combina la salida de otros algoritmos de aprendizaje, descritos en
el Captulo 8 (vase Wolpert, 1992).
Fix y Hodges (1951) realizaron el primer anlisis del mtodo del vecino ms cercano, y Johns
(1961) fue pionero en su uso en problemas de clasificacin. Cover y Hart (1967) obtuvieron
el resultado terico clsico de que, para conjuntos de datos suficientemente grandes, su
probabilidad de error nunca excede el doble del mnimo terico. Devroye et al. (1996)
demostr que k-vecino ms cercano es asintticamente ptimo para k grande y n con k / n
0. Los mtodos vecinos ms cercanos ganaron popularidad en el aprendizaje automtico a
travs del trabajo de Aha (1992), quien mostr que el aprendizaje basado en la instancia
puede se combinan con la poda ejemplar ruidosa y la ponderacin de los atributos y que los
mtodos resultantes tienen un buen rendimiento en comparacin con otros mtodos de
aprendizaje. Tomamos esto de nuevo en el captulo 6.
La estructura de datos del rbol kD fue desarrollada por Friedman et al. (1977). Nuestra
descripcin sigue de cerca una explicacin dada por Andrew Moore en su Ph.D. (Moore,
1991). Moore, quien, junto con Omohundro (1987), fue pionero en su uso en el aprendizaje
automtico. Moore (2000) describe maneras sofisticadas de construir los rboles de la bola
que funcionan bien incluso con millares de atributos. Tomamos nuestro ejemplo del rbol de
la bola de notas de la conferencia por el gris de Alexander de la universidad de Carnegie-
Mellon. Demiroz y Guvenir (1997) describen el mtodo del intervalo de caractersticas de
voto mencionado en la seccin de discusin al final de la seccin 4.7.
El algoritmo k-means es una tcnica clsica, y muchas descripciones y variaciones estn
disponibles (por ejemplo, Hartigan, 1975). La variante k-means ++, que produce una mejora
significativa al escoger las semillas iniciales ms cuidadosamente, fue introducida en 2007
por Arthur y Vassilvitskii (2007). El uso inteligente de kD-rboles para acelerar la agrupacin
de k-medios, que hemos elegido para ilustrar utilizando rboles de bola en su lugar, fue
pionera por Moore y Pelleg (2000) en su algoritmo de clustering X-means. Ese algoritmo
contiene algunas otras innovaciones, descritas en la Seccin 6.8.
El mtodo de tratar los problemas de aprendizaje de mltiples instancias mediante la
aplicacin de estudiantes estndar de una sola instancia a datos resumidos a nivel de bolsa se
aplic conjuntamente con mquinas de vector de soporte por Grtner et al. (2002). El enfoque
alternativo de la agregacin de la produccin se explica por Frank y Xu (2003).

IMPLEMENTACIONES WEKA
Para los clasificadores, vea la Seccin 11.4 y la Tabla 11.5.
Inferir reglas rudimentarias: OneR, HyperPipes (aprende una regla por clase)
Modelizacin estadstica:
NaveBayes y muchas variantes, incluyendo NaiveBayesMultinomial
rboles de decisin: Id3
Reglas de decisin: prisma
Reglas de asociacin (ver Seccin 11.7 y Tabla 11.8): a priori
Modelos lineales:
SimpleLinearRegression, LinearRegression, Logistic (regresin)
VotedPerceptron, Winnow
Aprendizaje basado en instancias: IB1, VFI (intervalos de funcin de votacin)
Clustering (consulte la Seccin 11.6 y la Tabla 11.7): SimpleKMeans
Aprendizaje de mltiples instancias: SimpleMI, MIWrapper

You might also like