DATA MINING (1).docx

May 3, 2018 | Author: kevin | Category: Machine Learning, Algorithms, Decision Making, Data Mining, Standard Deviation
Share Embed Donate


Short Description

Download DATA MINING (1).docx...

Description

CAPITULO 4 Algoritmos: Los 4 Métodos Básicos Ahora que hemos visto cómo las entradas y salidas pueden ser representadas, representada s, es hora de mirar los algoritmos de aprendizaje ellos mismos. Este capítulo explica las ideas básicas detrás de las técnicas que se utilizan en la minería de datos práctica. No profundizaremos en los  problemas más complicados: versiones avanzadas de los algoritmos, optimizaciones  posibles, complicaciones que surgen en la práctica. p ráctica. Estos temas se remiten r emiten al capítulo 6, en el que se abordan las implementaciones reales de esquemas de aprendizaje de máquinas, como los incluidos en los conjuntos de herramientas de minería de datos y utilizados para aplicaciones del mundo real. Es importante entender estos problemas más avanzados para que sepa qué es lo que realmente sucede cuando se analiza un conjunto de datos en particular. En este capítulo examinamos las ideas básicas. Una de las lecciones más instructivas es que las ideas simples a menudo funcionan muy bien, y recomendamos encarecidamente la adopción de una metodología "simple" al analizar conjuntos de datos prácticos. 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 demás son irrelevantes o redundantes. En otro conjunto de datos, los atributos pueden contribuir independientemente e igualmente al resultado nal. Un tercero podría tener una estructura lógica simple, que incluya sólo unos pocos atributos, que pueden ser capturados por un árbol de decisión. En un cuarto, puede haber unas cuantas reglas independientes que gobiernan la asignación de instancias a diferentes clases. Un fth podría exhibir dependencias entre diferentes subconjuntos de atributos. Un sexto puede implicar una dependencia lineal entre los atributos numéricos, donde lo que importa es una suma ponderada de d e valores de atributos con pesos apropiados. En un séptimo, las clasificaciones apropiadas para regiones  particulares del espacio de la instancia podrían 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 minería de datos -no importa cuán capaz- que esté buscando una clase de estructura puede perder por completo regularidades de otro tipo, independientemente de cómo rudimentarias pueden ser. El resultado es una estructura de clasificación 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 máquina diferente que es muy adecuado para descubrir el concepto subyacente. Las secciones de este capítulo miran a cada una de estas estructuras a su vez. Una sección 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 fácil de encontrar reglas re glas de clasificación muy sencillas de un conjunto de instancias. Se denomina 1R para 1 regla, genera un árbol de decisión de un nivel expresado

en forma de un conjunto de reglas que prueban un atributo en particular. 1R es un método 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 precisión sorprendentemente alta. Quizás esto se debe a que la estructura que subyace en muchos conjuntos de datos del mundo real es bastante rudimentaria, y sólo un atributo es suficiente  para determinar la clase de una instancia con bastante precisión. En cualquier caso, siempre es un buen plan para probar las cosas más 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 cuál es la mejor clasificación para dar a cada rama: Use la clase que ocurre con más frecuencia en los datos de entrenamiento. Entonces la tasa de error de las reglas puede ser fácilmente determinada. Basta con contar los errores que se producen en los datos de entrenamiento, es decir, el número de instancias que no tienen la clase de mayoría. Cada atributo genera un conjunto diferente de reglas, una regla para cada valor del atributo. Evalúe 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 pseudocódigo. Para ver el método 1R en el trabajo, considere los datos meteorológicos de la Tabla 1.2 en la  página 10 (lo encontraremos muchas veces de nuevo cuando mire cómo 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 elección aleatoria entre dos resultados igualmente  probables. El número de errores se da para cada regla, junto con el número total de errores  para el conjunto de reglas como un todo. 1R elige el atributo que produce reglas con el menor número de Para cada atributo, Para cada valor de ese atributo, haga una regla como sigue: cuente la frecuencia de cada clase encontrar la clase más 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 más pequeña. ATRIBUTO

REGLAS

ERRORES

1

outlook

2

Temperatura

3

Humedad

4

Viento

sunny → no overcast → yes rainy → yes hot → no* mild → yes cool → yes high → no normal → yes false → yes true → no*

2/5 0/4 2/5 2/4 2/6 1/4 3/7 1/7 2/8 3/6

TOTAL, DE ERRORES 4/14 5/14 4/14 5/14

en forma de un conjunto de reglas que prueban un atributo en particular. 1R es un método 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 precisión sorprendentemente alta. Quizás esto se debe a que la estructura que subyace en muchos conjuntos de datos del mundo real es bastante rudimentaria, y sólo un atributo es suficiente  para determinar la clase de una instancia con bastante precisión. En cualquier caso, siempre es un buen plan para probar las cosas más 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 cuál es la mejor clasificación para dar a cada rama: Use la clase que ocurre con más frecuencia en los datos de entrenamiento. Entonces la tasa de error de las reglas puede ser fácilmente determinada. Basta con contar los errores que se producen en los datos de entrenamiento, es decir, el número de instancias que no tienen la clase de mayoría. Cada atributo genera un conjunto diferente de reglas, una regla para cada valor del atributo. Evalúe 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 pseudocódigo. Para ver el método 1R en el trabajo, considere los datos meteorológicos de la Tabla 1.2 en la  página 10 (lo encontraremos muchas veces de nuevo cuando mire cómo 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 elección aleatoria entre dos resultados igualmente  probables. El número de errores se da para cada regla, junto con el número total de errores  para el conjunto de reglas como un todo. 1R elige el atributo que produce reglas con el menor número de Para cada atributo, Para cada valor de ese atributo, haga una regla como sigue: cuente la frecuencia de cada clase encontrar la clase más 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 más pequeña. ATRIBUTO

REGLAS

ERRORES

1

outlook

2

Temperatura

3

Humedad

4

Viento

sunny → no overcast → yes rainy → yes hot → no* mild → yes cool → yes high → no normal → yes false → yes true → no*

2/5 0/4 2/5 2/4 2/6 1/4 3/7 1/7 2/8 3/6

TOTAL, DE ERRORES 4/14 5/14 4/14 5/14

errores, es decir, los conjuntos de reglas primero y tercero. La ruptura arbitraria del vínculo 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 meteorológicos no está especificado. Curiosamente, al parecer se juega cuando está nublado o lluvioso, pero no cuando hace sol. Tal vez sea una persecución interior. Valores perdidos y atributos numéricos

Aunque un esquema de aprendizaje muy rudimentario, 1R acepta tanto los valores perdidos como los atributos numéricos. Se trata de estos de manera simple pero eficaz. La falta se trata como otro valor de atributo, por ejemplo, si los datos meteorológicos contenían valores faltantes para el atributo outlook, un conjunto de reglas formado en outlook especificaría cuatro posibles valores de clase, uno para cada uno de soleado, nublado y lluvioso, y un cuarto por falta. Podemos convertir los atributos numéricos en valores nominales usando un método de discretización simple. Primero, ordene los ejemplos de entrenamiento según los valores del atributo numérico. Esto produce una secuencia de valores de clase. Por ejemplo, ordenar la versión numérica de los datos meteorológicos (Tabla 1.3, página 11) de acuerdo con los valores de temperatura produce la secuencia 64

65

yes no

68

69

70

71

72

72

75

75

80

yes yes yes no

no

yes yes yes no

81

83

85

yes yes no

La discretización implica dividir esta secuencia colocando puntos de interrupción en ella. Una posibilidad es colocar puntos de interrupción dondequiera que cambie la clase,  produciendo las ocho categorías siguientes: yes|no|yes yes yes|no no|yes yes yes|no|yes yes|no

La elección de puntos de interrupción a mitad de camino entre los ejemplos de cad a 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 más simple es mover el punto de interrupción en 72 un ejemplo, a 73.5,  produciendo una partición mixta en la que no es la clase mayoritaria. Un problema más grave es que este procedimiento tiende a formar un número excesivamente grande de categorías. El método 1R naturalmente gravitará hacia el elegir un atributo que se divide en muchas categorías, porque esto particionará el conjunto de datos en muchas partes, haciendo más probable que las instancias tengan la misma clase que la mayoría en su  partición. De hecho, el caso limitante es un atributo que tiene un valor diferente d iferente para cada

instancia -es decir, un atributo de código de identificación que identifica únicamente las instancias- y esto dará lugar a una tasa de error cero en el conjunto de entrenamiento porque cada partición contiene sólo una instancia . Por supuesto, los atributos altamente ramificados no suelen funcionar bien en los ejemplos de prueba; de hecho, el atributo de código de identificación nunca obtendrá ningún ejemplo fuera del conjunto de entrenamiento correcto. Este fenómeno se conoce como over tting; ya hemos descrito sobre el sesgo de evitación en el Capítulo 1, y encontraremos este problema repetidamente en los capítulos siguientes. Para 1R, es probable que ocurra el over tting siempre que un atributo tenga un gran número de valores posibles. Por consiguiente, al discretizar un atributo numérico, se impone un límite mínimo al número de ejemplos de la clase mayoritaria en cada partición. Supongamos que el mínimo se fija en 3. Esto elimina todas, excepto dos de las particiones precedentes. En su lugar, el proceso de partición comienza yes no yes yes| yes

asegurando que hay tres ocurrencias de sí, la clase mayoritaria, en la primera partición. Sin embargo, como el siguiente ejemplo es también sí, no perderemos nada al incluirlo en la  primera partición también. Esto conduce a una nueva yes no yes yes yes | no no yes yes yes | no yes yes no

donde cada partición contiene al menos tres instancias de la clase mayoritaria, excepto la última, que normalmente tendrá menos. Los límites de partición 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 discretización 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 elección arbitraria; como sucede, no fue elegido. Si se hubiera elegido sí, no habría necesidad de ningún punto de interrupción en absoluto, y como ilustra este ejemplo, podría ser mejor usar las categorías adyacentes para ayudar a romper los vínculos. 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 > 95.5





no

yes

Esto genera sólo 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 numérico tiene valores faltantes, se crea una categoría adicional  para ellos y el procedimiento de discretización s e aplica sólo a las instancias para las que se define el valor del atributo.

Discusión En un documento seminal titulado "Las reglas de clasificación muy sencillas funcionan bien en los conjuntos de datos más utilizados" (Holte, 1993), un estudio completo del desempeño del procedimiento 1R fue reportado en 16 conjuntos de datos usados con frecuencia por los investigadores de aprendizaje automático para evaluar sus algoritmos. La validación cruzada, una técnica de evaluación que explicaremos en el capítulo 5, se utilizó para asegurar que los resultados fueran los mismos que se obtendrían en conjuntos de pruebas independientes. Después de alguna experimentación, el número mínimo de ejemplos en cada partición de un atributo numérico se estableció en seis, no tres co mo se utiliza en nuestra ilustración. Sorprendentemente, a pesar de su simplicidad 1R hizo bien en comparación con el estado de la técnica de los esquemas de aprendizaje, y las reglas que produjo resultó ser sólo unos pocos  puntos porcentuales menos precisos, en casi todos los conjuntos de datos, que los árboles de decisión producido por un esquema de inducción de árboles de decisión de vanguardia. Estos árboles eran, en general, considerablemente más grandes que las reglas de 1R. Las reglas que  prueban un solo atributo son a menudo una alternativa viable a estructuras más complejas, y esto alienta fuertemente una metodología simple, en la que el desempeño de línea de base se establece usando técnicas simples y rudimentarias antes de avanzar hacia esquemas de aprendizaje más sofisticados que inevitablemente generan que es más difícil de interpretar. El procedimiento 1R aprende un árbol de decisión de un nivel cuyas hojas representan las diferentes clases diferentes. Una técnica ligeramente más expresiva es usar una regla diferente para cada clase. Cada regla es una conjunción de pruebas, una para cada atributo. Para los atributos numéricos, 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 numérico, el final los puntos del intervalo son los valores mínimo y máximo que se  producen en los datos de entrenamiento para esa clase. Para un nominal, el subconjunto contiene sólo los valores que se producen para ese atributo en los datos de formación para la clase individual. Generalmente, las reglas que representan diferentes clases se superponen y, en el momento de la predicción, se prevé la que tiene las pruebas más coincidentes. Esta técnica simple a menudo da una primera impresión útil de un conjunto de datos. Es extremadamente rápido y se puede aplicar a cantidades muy grandes de datos.

MODELACIÓN ESTADÍSTICA El método 1R utiliza un solo atributo como base para sus decisiones y elige el que funciona mejor. Otra técnica simple consiste en utilizar todos los atributos y permitirles realizar contribuciones a la decisión 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 cie rtamente iguales o independientes. Pero conduce a un esquema simple que, de nuevo, funciona sorprendentemente bien en la práctica.

Valores perdidos y atributos numéricos Una de las cosas realmente agradables de Naïve Bayes es que los valores perdidos no son ningún problema en absoluto. Por ejemplo, si el valor de la perspectiva faltaba en el ejemplo de la Tabla 4.3, el cálculo simplemente omitiría 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 números son individualmente mucho más altos de lo que eran antes porque falta una de las fracciones. Pero eso no es un problema porque falta una fracción en ambos casos, y estas probabilidades están sujetas a un proceso de normalización 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 número de valores que realmente ocurren en lugar del número total de instancias. Los valores numéricos se manejan generalmente asumiendo que tienen una distribución de  probabilidad "normal" o "gaussiana". La Tabla 4.4 da un resumen de los datos meteorológicos con características numéricas de la Tabla 1.3. Para los atributos nominales, calculamos los conteos como antes, mientras que para los numéricos 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 desviación estándar para cada clase y cada atributo numérico. El valor medio de la temperatura sobre los casos de sí es 73, y su desviación estándar es 6.2. La media es simplemente el promedio de los valores, es decir, la suma d ividida por el número de valores. La desviación estándar es la raíz cuadrada de la v arianza 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 número de valores. Después de haber encontrado esta "muestra de varianza", tomar su raíz cuadrada para producir la desviación estándar. Esta es la forma estándar de calcular la media y la desviación estándar de un conjunto de números. (El "uno menos que" tiene que ver con el número de grados de libertad en la muestra, una noción estadística que no queremos entrar aquí).

Naïve Bayes para la clasificación de documentos Un dominio importante para el aprendizaje automático es la clasificación 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 automático a la clasificación de documentos es tratar la presencia o ausencia de cada palabra como un atributo booleano. Naïve Bayes es una técnica popular para esta aplicación, ya que es muy rápido y bastante preciso. Sin embargo, esto no tiene en cuenta el número de ocurrencias de cada palabra, que es información potencialmente útil al determinar la categoría 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 múltiples apariciones de una palabra que aparece varias veces (técnicamente, 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 Naïve Bayes llamada multinominal Naïve Bayes.

Discusión  Naïve Bayes ofrece un enfoque sencillo, con semántica clara, para representar, usar y aprender el conocimiento probabilístico. Puede lograr resultados impresionantes. La gente a menudo sostiene que Naïve Bayes rivaliza, y de hecho supera, con clasificadores más sofisticados en muchos conjuntos de datos. La moral es, siempre probar las cosas simples  primero. Una y otra vez las personas han conseguido, después de una prolongada lucha, obtener buenos resultados utilizando esquemas de aprendizaje sofisticados, sólo para descubrir más tarde que métodos simples como el 1R y el Naïve Bayes hacen lo mismo o mejor. Hay muchos conjuntos de datos para los que Naïve Bayes no le va bien, sin embargo, y es fácil ver por qué. Debido a que los atributos se tratan como si fueran independientes, dada la clase, la adición 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 meteorológicos, se multiplicaría el efecto del atributo de temperatura: todas sus  probabilidades serían cuadradas, lo que le daría mucha más influencia en la decisión. Si tuvieras que añadir 10 atributos de este tipo, las decisiones se tomarían efectivamente sólo con la temperatura. Las dependencias entre atributos inevitablemente reducen el poder de  Naïve Bayes para discernir lo que está pasando. Sin embargo, pued en ser mejorados usando un subconjunto de los atributos en el procedimiento de decisión, haciendo una cuidadosa selección de cuáles utilizar. El Capítulo 7 mu estra cómo. La suposición de la distribución normal de los atributos numéricos es otra restricción de  Naïve Bayes tal como la hemos formulado aquí. Muchas características simplemente no están

distribuidas normalmente. Sin embargo, no hay nada que nos impida usar otras distribuciones: no hay nada mágico en la distribución normal. Si sabe que un atributo concreto es probable que siga alguna otra distribución, se pueden usar procedimientos de estimación estándar para esa distribución. Si sospecha que no es normal pero no conoce la distribución real, hay procedimientos para la "estimación de la densidad del kernel" que no asumen ninguna distribución en particular para los valores de atributo. Otra posibilidad es simplemente discretizar los datos primero.

DIVIDIR Y CONQUISAR: CONSTRUCCION ÁRBOLES DE DECISIÓN El problema de construir un árbol de decisión puede expresarse recursivamente. Primero, seleccione un atributo para colocarlo en el nodo raíz, y haga una rama para c ada 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 clasificación, deje de desarrollar esa parte del árbol. Lo único que queda es cómo determinar qué atributo dividir, dado un conjunto de ejemplos con diferentes clases. Considere (de nuevo! ) Los datos meteorológicos. Hay cuatro  posibilidades para cada división, y en el nivel superior producen los árboles en la Figura 4.2.

¿Cuál es la mejor opción? El número 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 más, y el proceso recursivo por esa

rama terminará. Debido a que buscamos árboles pequeños, no s gustaría que esto sucediera lo antes posible. Si tuviéramos una medida de la pureza de cada nodo, podríamos elegir el atributo que produce los nodos hijos más puros. Tómese un momento para ver la figura 4.2 y piense qué atributo cree que es la mejor opción. La medida de pureza que usaremos se llama información y se mide en unidades llamadas  bits. Asociado con cada nodo del árbol, representa la cantidad esperada de información que sería necesaria para especificar si una nueva instancia debería 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 información suele implicar fracciones de un bit, ¡y con frecuencia es inferior a 1! Se calcula en función del número de clases yes y no en el nodo. Vamos a ver los detalles del cálculo en breve, pero primero vemos cómo se utiliza. Cuando se evalúa el primer árbol de la Figura 4.2, el número de clases yes y no en los nodos hoja es [2, 3], [4, 0] y [3, 2], respectivamente, y los valores de información 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 información promedio de éstos, teniendo en cuenta el número 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 información 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 raíz comprendían nueve nodos yes y ve no, que correspondían 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 información 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 información para cada atributo y dividimos en la que obtiene la mayor cantidad de información. En la situació n 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 raíz del árbol. Espero que esto coincida con su intuición como el mejor para seleccionar. Es la única opción 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 opción 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

Cálculo de información Ahora es el momento de explicar cómo calcular la medida de información que se utiliza como  base para evaluar diferentes divisiones. Describimos la idea básica en esta sección, luego en la siguiente examinamos una corrección que generalmente se hace para contrarrestar un sesgo hacia la selección de divisiones en atributos con un gran número de valores posibles. Antes de examinar la fórmula detallada para calcular la cantidad de información requerida  para especificar la clase de un ejemplo dado que alcanza un nodo de árbol con cierto número de sí y no, considere primero el tipo de propiedades que esperamos que esta cantidad tenga

1. Cuando el número de sí o no es cero, la información es cero. 2. En cuanto al número de casos y no de calidad, la información máxima. Además, la medida debería ser aplicable a situaciones de multiclass, no sólo a las de dos clases. La medida de información se refiere a la cantidad de información obtenida al tomar una decisión, y una propiedad más sutil de la información 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 información involucrada es la misma en ambos casos. Por ejemplo, la decisión

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 cuál de los otros dos casos es:

info([3, 4]) En algunos casos no será necesario tomar la segunda decisión, es decir, cuando la decisión resulte ser la primera. Tomando esto en cuenta lleva a la ecuación

info([2, 3, 4])



info([2, 7])



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

Por supuesto, no hay nada especial en estos números particulares, y una relación similar debe mantenerse independientemente de los valores reales. Por lo tanto, podríamos agregar un criterio adicional a la lista anterior: 3. La información debe obedecer la propiedad multietapa que hemos ilustrado. Sorprendentemente, resulta que sólo hay una función que satisface todas estas  propiedades y se conoce como valor de información o entropía:

entropy( p1, p2,..., pn) p1log p1  p2 log p2... pn log pn La razón de los signos menos es que los logaritmos de las fracciones p1, p2, ..., pn son negativos, por lo que la entropía es realmente positiva. Por lo general, los logaritmos se expresan en la base 2, y luego la entropía está en unidades llamadas bits, sólo el tipo habitual de bits utilizados con las computadoras.

Los argumentos p1, p2, ... de la fórmula de la entropía 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 número de valores posibles, dando lugar a una rama múltiple con muchos nodos secundarios, surge un problema con el cálculo de ganancia de información. 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 código de identificación. La Tabla 4.6 da los datos meteorológicos con este atributo adicional. La ramificación en el código ID produce el tocón de árbol en la Figura 4.5. La información 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 términos es 0. Esto no es sorprendente: El atributo de código ID identifica la instancia, que determina la clase sin ninguna ambigüedad, tal como muestra la Tabla 4.6. En consecuencia, la ganancia de información de este atributo es sólo la información en la raíz, info ([9,5]) = 0.940 bits. Esto es mayor que la ganancia de información de cualquier otro atributo, por lo que el código de identificación se elegirá inevitablemente como el atributo de división. Pero la ramificación en el código de identificación no es bueno  para predecir la clase de instancias desconocidas y no dice nada sobre la estructura de la decisión, que después de todo son los objetivos gemelos del aprendizaje automático. El efecto general es que la medida de ganancia de información tiende a preferir atributos con un gran número de valores posibles. Para compensar esto, una modi cación de la medida denominada relación de ganancia es ampliamente utilizada. La relación de ganancia se obtiene teniendo en cuenta el número y el tamaño de nodos secundarios en los que un atributo divide el conjunto de datos, sin tener en cuenta ninguna información sobre la clase.

ALGORITMOS DE CUBIERTA: REGLAS DE CONSTRUCCIÓN Como hemos visto, los algoritmos de árboles de decisión se basan en un enfoque de división y conquista del problema de clasificación. 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 división. Esta estrategia genera un árbol de decisión que, si es necesario, puede convertirse en un conjunto de reglas de clasificación, aunque si se quiere producir reglas efectivas, la conversión 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 están en la clase. Esto se denomina enfoque de cobertura porque en cada etapa identifica una regla qu e "cubre" algunas de las instancias. Por su propia naturaleza, este enfoque de cobertura conduce a un conjunto de reglas más que a un árbol de decisiones. El método de cobertura se puede visualizar fácilmente 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 añade a ella por dividiendo además 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 cub rir la nal a, otra regla sería 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á erróneamente cubierta por estas reglas. Si fuera necesario excluirlo, habría que añadir más pruebas a la segunda regla, y se necesitarían reglas adicionales para cubrir las b que excluyen estas nuevas pruebas.

Reglas versus árboles Un algoritmo de división y conquista de arriba hacia abajo opera sobre los mismos datos de una manera que es, por lo menos súper cialmente, muy similar a un algoritmo de cobertura. Podría primero dividir el conjunto de datos utilizando el atributo x, y probablemente terminaría dividiéndolo en el mismo lugar, x = 1.2. Sin embargo, mientras que el algoritmo de cobertura se ocupa sólo de cubrir una sola clase, la división tomaría en cuenta ambas clases  porque los algoritmos de división y conquista crean una única descripción de concepto que se aplica a todas las clases. La segunda división también podría estar en el mismo lugar, y = 2.6, lo que conduce al árbol de decisión 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 división y conquista. Pero en muchas situaciones hay una diferencia entre reglas y árboles en términos de

 perspicuidad de la representación. Por ejemplo, cuando describimos el problema de subárbol replicado en la Sección 3.4, observamos que las reglas pueden ser simétricas, mientras que los árboles deben seleccionar un atributo para dividir en primer lugar, y esto puede dar lugar a árboles que son mucho más mayor que un conjunto equivalente de reglas. Otra diferencia es que en el caso multiclase, una división de árboles de decisión toma en cuenta todas las clases al intentar maximizar la pureza de la división, mientras que el método 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 añadiendo pruebas a la regla que está en construcción, siempre tratando de crear una regla con la máxima precisión. Por el contrario, los algoritmos de división y conquista funcionan agregando pruebas al árbol que está en construcción, siempre tratando de maximizar la separación entre las clases. Cada uno de es tos implica nding un atributo para dividir en. Pero el criterio para el mejor atributo es diferente en cada caso. Mientras que los algoritmos de división y conquista como ID3 eligen un atributo para maximizar la ganancia de información, el algoritmo de cobertura que describiremos elige un  par de atributo-valor para maximizar la probabilidad de la clasificación deseada. La figura 4.7 da una imagen de la situación, mostrando el espacio que contiene todas las instancias, una regla parcialmente construida y la misma regla después de que se haya agregado un nuevo término. El nuevo término 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 están en otras clases, es decir, son errores cometidos por la regla. A continuación, elija el nuevo término para maximizar la relación 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 línea del código de la Figura 4.8): Así, las reglas  posteriores están diseñadas para instancias que no están 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 cuestión, 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. Ningún ordenamiento está implícito 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 Sección 3.4, las reglas independ ientes de orden parecen proporcionar más 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 nición. Con las reglas generadas de esta manera, un ejemplo de prueba puede recibir múltiples clasificaciones, es decir, puede satisfacer reglas que se aplican a diferentes clases. Otros ejemplos de prueba no pueden recibir ninguna clase de clasificación. Una estrategia simple  para forzar una decisión en casos ambiguos es elegir, a partir de las clasificaciones predichas, la que tiene más ejemplos de entrenamiento o, si no se predice una clasificación, elegir la categoría con la mayoría de los ejemplos de entrenamiento en general. Estas diferencias no ocurren con las listas de decisiones porque están destinadas a ser interpretadas en orden y la ejecución se detiene tan pronto como se aplica una regla: La adición de una regla  predeterminada al final asegura que cualquier instancia de prueba reciba una clasificación. Es posible generar buenas listas de decisiones para el caso multi-clase usando un método ligeramente diferente, como veremos en la Sección 6.2. Métodos, 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 están en la clase), separa las instancias cubiertas porque ya están o cupadas por la regla, y continuar con el proceso sobre los que quedan. Esto contrasta con el enfoque d e dividir y conquistar árboles de decisión. El paso "separado" da lugar a un método eficiente porque el conjunto de instancias se contrae continuamente a medida que avanza la operación.

REGLAS DE LA ASOCIACIÓN MINERA Las reglas de asociación son como las reglas de clasificación. Podrías ordenarlos de la misma manera, ejecutando un procedimiento de inducción de reglas de división y conquista para cada expresión posible que pudiera ocurrir en el lado derecho de la regla. Sin embargo, no sólo cualquier atributo puede ocurrir en el lado derecho con cualquier v alor posible, pero una sola regla de asociación a menudo predice el valor de más de un atributo. Para obtener tales reglas, tendría que ejecutar el procedimiento de inducción de reglas una vez para cada posible combinación de atributos, con todas las posibles combinaciones de valores, en el lado derecho. Esto daría lugar a un número enorme de normas de asociación, que tendrían que ser reducidas en función de su cobertura (el número de casos que predicen correctamente) y su exactitud (el mismo número expresado como una proporción del número de instancias a las que se aplica la regla). Este enfoque es completamente imposible. (Tenga en cuenta que, como mencionamos en la Sección 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 sólo nos interesan las reglas de asociación con una alta cobertura. Ignoramos por el momento la distinción entre los lados izquierdo y derecho de una regla y buscamos combinaciones de pares de atributos-valores que tengan una cobertura mínima preespecificada. Estos son llamados conjuntos de elementos: Un par atributo-valor es un elemento. La terminología se deriva de análisis de cesta de mercado, en el que los artículos son artículos en su carrito de la compra y el gerente de supermercado está  buscando asociaciones entre estas compras.

Conjuntos de artículos La primera columna de la Tabla 4.10 muestra los elementos individuales de los datos meteorológicos de la Tabla 1.2 (página 10), con el número 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 asociación con cobertura mínima 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 número 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 sólo podría corresponder a una instancia repetida. Las primeras filas de la tabla, por ejemplo, muestran que hay ve días en que la perspectiva es soleada, dos de los cuales tienen temperatura = caliente, y, de hecho, en ambos días humedad = alta y juego = no tan bien.

Reglas de asociación En breve explicaremos cómo 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 mínima especificada. Algunos conjuntos de elementos  producirán más de una regla; otros no producirán 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 número de casos para los cuales las tres condiciones son verdaderas, es decir, la cobertura, dividida por el número de casos para los cuales las condiciones en el antecedente son verdaderas. Interpretadas como una fracción, representan la proporción de casos en los que la regla es correcta, es decir, su exactitud. Suponiendo que la precisión especificada mínima es 100%, sólo la primera de estas reglas lo hará en el conjunto de reglas nal. Los denominadores de las fracciones se obt ienen fácilmente examinando la expresión 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 número total de instancias en el conjunto de datos.

Generar reglas de manera eficiente Ahora consideramos con mayor detalle un algoritmo para la producción de reglas de asociación con una cobertura mínima y exactitud especificadas. Existen dos etapas: generar conjuntos de elementos con la cobertura mínima especificada, y de cada conjunto de elementos determinar las reglas que tienen la precisión mínima especificada. La primera etapa procede generando todos los conjuntos de un solo artículo con la cobertura mínima 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 operación implica un paso a través del conjunto de datos para contar los elementos de cada conjunto y después del paso los conjuntos de elementos supervivientes se almacenan en una tabla hash-una estructura de datos estándar que permite que los elementos almacenados en ella se encuentren muy rápidamente. A partir de los conjuntos de un solo artículo, se generan conjuntos de dos artículos, y luego se hace un pase a través del conjunto de datos, contando la cobertura de cada conjunto de dos elementos; al final los conjuntos de candidatos con menos de cobertura mínima 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 mínima a menos que ambos conjuntos constitutivos de uno solo tengan la cobertura mínima. Esto se aplica en general: Un conjunto de tres elementos sólo puede tener la cobertura mínima si los tres de sus subconjuntos de dos elementos tienen una cobertura mínima también, y de manera similar  para los conjuntos de cuatro elementos. Un ejemplo ayudará a explicar cómo 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 característica como outlook = sunny. La unión 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 mínima. Si los conjuntos de tres elementos están ordenados en orden léxico, como están en esta lista, entonces sólo necesitamos considerar pares con los mismos dos primeros miembros. Por ejemplo, no consideramos (ACD) y (BCD) porque (ABCD) también 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 artículos no tienen la cobertura mínima, por lo que se descarta. La tabla de hash ayuda con esta comprobación: 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 sólo hay un conjunto de cuatro elementos candidato, (A B C D). Si se tiene o no una cobertura mínima sólo 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 precisión mínima especificada. Si sólo se buscaran reglas con una sola prueba en el lado derecho, sería simplemente una cuestión de considerar cada condición a su vez como el consecuente de la regla, suprimiéndola 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 también nos interesan las reglas de asociación con múltiples 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 método de fuerza bruta será excesivamente intensivo de cálculo a menos que los conjuntos de elementos sean pequeños, porque el número de subconjuntos posibles crece exponencialmente con el tamaño del conjunto de elementos. Sin embargo, hay una mejor manera. Hemos observado al describir las reglas de asociación en la Sección 3.4 que si la regla del doble consecuente If windy = false and play = no then outlook = sunny and humidity = high

se mantiene con una cobertura mínima y exactitud, entonces ambas reglas de una sola consecuencia formadas a partir del mismo conjunto de elementos también 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 más de la exactitud mínima especificada. Pero esto generalmente implica controlar muchas menos reglas que el método 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 construcción de candidatos (n + 1) -item conjuntos de conjuntos de n-item real, descrito anteriormente.

Discusión

A menudo se buscan reglas de asociación para conjuntos de datos muy grandes, y los algoritmos eficientes son altamente valorados. El método que hemos descrito hace que uno  pase a través del conjunto de datos para cada tamaño 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 número de pases mediante la comprobación de conjuntos de artículos de dos tamaños consecutivos al mismo tiempo. Por ejemplo, una vez que se han generado conjuntos con dos elementos, todos los conjuntos de tres elementos podrían generarse a partir de ellos antes de pasar por el conjunto de instancias  para contar el número real de elementos en los conjuntos. Se considerarán más conjuntos de tres elementos de lo necesario, pero se reduciría el número de pasadas a través de todo el conjunto de datos. En la práctica, la cantidad de computación necesaria para generar reglas de asociación depende de manera crítica de la cobertura mínima especificada. La precisión tiene menos incidencia porque no afecta al número de pasadas que deben realizarse a través del conjunto de datos. En muchas situaciones nos gustaría obtener un cierto número de reglas-digamos 50- con la mayor cobertura posible a un nivel de precisión mínimo 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 número deseado de reglas. El formato de entrada tabular que usamos a lo largo de este libro, y en particular el formato ARFF estándar basado en él, es muy ineficiente para muchos problemas de reglas de asociación. Las reglas de asociación se usan a menudo en situaciones en las qu e los atributos son binarios, presentes o ausentes, y la mayoría de los valores de atributo asociados a una instancia dada están ausentes. Este es un caso para la escasa representación de datos descrita en la Sección 2.4; se aplica el mismo algoritmo para las reglas de asociación.

MODELOS LINEALES Los métodos que hemos estado buscando para árboles de decisión y reglas funcionan más naturalmente con atributos nominales. Pueden extenderse a atributos numéricos, ya sea mediante la incorporación de pruebas de valor nu mérico directamente en el árbol de decisión o en el esquema de inducción de reglas, o mediante la prediscretización de atributos numéricos en nombres nominales. Veremos cómo en los capítulos 6 y 7, respectivamente. Sin embargo, hay métodos que funcionan más naturalmente con atributos numéricos, a saber, los modelos lineales introducidos en la Sección 3.2; los examinamos con más detalle aquí. Pueden formar componentes de métodos de aprendizaje más complejos, que investigaremos más adelante.

Predicción Numérica: Regresión Lineal Cuando el resultado, o clase, es numérico, y todos los atributos son numéricos, la regresión lineal es una técnica natural a considerar. Este es un método básico en las estadísticas. La idea es expresar la clase como una combinación lineal de los atributos, con pesos  predeterminados:

 xw0 w1a1 w2a2 ...wk ak

Clase lineal: Regresión Logística La regresión lineal puede usarse fácilmente para la clasificación en dominios con atributos numéricos. De hecho, podemos utilizar cualquier técnica de regresión, ya sea lineal o no lineal, para la clasificación. El truco consiste en realizar una regresión 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 expresión lineal para la clase. Luego, dado un ejemplo de prueba de clase desconocida, calcule el valor de cada expresión lineal y elija el que sea más grande. Este esquema se denomina a veces regresión lineal multirrespuesta. Una forma de ver la regresión lineal multirespuesta es imaginar que se aproxima a una función numérica de pertenencia para cada clase. La función de pertenencia es 1 para instancias que pertenecen a esa clase y 0 para otras instancias. Dada una nueva instancia, calculamos su membresía para cada clase y seleccionamos la más grande. La regresión lineal multirrespuesta a menudo produce buenos resultados en la práctica. 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 regresión de mínimos cuadrados supone que los errores no sólo son estadísticamente independientes sino que también se distribuyen normalmente con el mismo estándar desviación, suposición que es violada cuando el método se aplica a problemas de clasificación porque las observaciones sólo toman los valores 0 y 1. Una técnica estadística relacionada llamada regresión logística no sufre de estos problemas. En lugar de aproximar los valores 0 y 1 directamente, arriesgando valores de probabilidad ilegítimos cuando el objetivo es superado, la regresión logística construye un modelo lineal  basado en una variable objetivo transformada.

Clase lineal Usando el Perceptron La regresión logística 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 estimación de probabilidad si el único propósito del modelo es predecir las etiquetas de clase. Un enfoque diferente es aprender un hiperplano que sepa ra las instancias pertenecientes a las diferentes clases; supongamos que sólo 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 separación. El algoritmo se denomina regla de aprendizaje perceptron. Antes de examinarlo en detalle, examinemos de nuevo la ecuación de un hiperplano:

w0a0 w1a1 w2a2 wk ak 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 regresión lineal). Esta extensión, que se llama el sesgo, sólo 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. Q ueremos 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 separación. El algoritmo itera hasta que se ha encontrado una solución perfecta, pero sólo funcionará correctamente si existe un hiperplano de separación, es decir, si los datos son linealmente separables. Cada iteración pasa por todas las instancias de entrenamiento. Si se encuentra una instancia de clasificación errónea, se cambian los parámetros del hiperplano  para que la instancia de clasificación errónea se acerque más al hiperplano o incluso a través 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 situación después 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 número es siempre positivo. Por lo tanto, el hiperplano se ha movido en la dirección 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 después de la modificación, moviendo nuevamente el hiperplano en la dirección correcta. Estas correcciones son incrementales y pueden interferir con las actualizaciones anteriores. Sin embargo, se puede demostrar que el algoritmo converge en un número 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 límite superior al número de iteraciones cuando este método se aplica en la práctica. El hiperplano resultante se llama perceptron, y es el abuelo de las redes neuronales (regresamos a redes neuronales en la Sección 6.4). La figura 4.10 (b) representa el perceptron como un gráfico 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, más 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 números 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 señal 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 método 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 sólo actualiza el vector de peso cuando se encuentra una instancia de clasificación errónea, es un error.

Los dos métodos difieren en cómo los pesos se ponen al día. La regla de perceptron emplea un mecanismo aditivo que altera el vector de peso añadiendo (o restando) el vector de atributo de la instancia. Winnow emplea actualizaciones multiplicativas y altera los pesos individualmente multiplicándolos por un parámetro específico 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 decisión. De lo contrario, el multiplicador es α si ese atributo ayuda a tomar una decisión correcta y 1 / α si

no lo hace. Otra diferencia es que el umbral en la función lineal es también un parámetro específico del usuario. Llamamos a este umbral θ y clasificamos una instancia como perteneciente a la clase 1 si y sólo si w0a0 w1a1 w2a2 ...wk ak  θ 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 versión, llamada Balanced Winnow, que  permite. Esta versión mantiene dos vectores de peso, uno para cada clase. Una instancia se clasi fi ca como perteneciente a la clase 1 si

(w0 w0)a0 (w1 w1)a1 (wk  wk )ak  θ La figura 4.11 (b) muestra el algoritmo balanceado. Winnow es muy efectivo en la identificación de las características 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 características (binarias) y la mayoría 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 hipótesis 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 función de distancia para determinar qué miembro del conjunto de entrenamiento está más cerca de una instancia de prueba desconocida. Una v ez localizada la instancia de entrenamiento más cercana, se predice su clase para la instancia de prueba. El único problema restante es determinar la función de distancia, y eso no es muy difícil de hacer, sobre todo si los atributos son numéricos.

Función Distancia Aunque hay otras opciones posibles, la mayoría 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 número 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 operación de la raíz cuadrada: las sumas de los cuadrados se pueden comparar directamente. Una alternativa a la distancia euclidiana es la métrica de Manhattan, o ciudad-bloque, donde la diferencia entre los valores de los atributos no es cuadrada sino que se agrega (después de tomar el valor absoluto). Otros se obtienen tomando poderes más altos que el cuadrado. Las potencias superiores aumentan la influencia de grandes diferencias a expensas de pequeñas diferencias. En general, la distancia euclidiana representa un buen compromiso. Otras métricas de distancia pueden ser más 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é significaría dos veces esa distancia, por ejemplo? Los diferentes atributos se miden a menudo en diferentes escalas, por lo que si la fórmula de distancia euclidiana se utiliza directamente, el efecto de algunos atributos podría ser completamente empequeñecido por otros que tenían escalas de medición más 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 máximo y el mínimo se toman sobre todas las instancias del conjunto de entrenamiento. Estas fórmulas asumen implícitamente atributos numéricos. Aquí la diferencia entre dos valores es sólo la diferencia numérica entre ellos, y es esta diferencia que es cuadrada y se agrega para producir la función de distancia. Para los atributos nominales que toman valores simbólicos en lugar de numéricos, 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 sólo se utilizan los valores 0 y 1. Una política común para manejar valores perdidos es la siguiente. Para los atributos nominales, supongamos que una característica que falta es máxima diferente de cualquier otro valor de característica. 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 sólo si no faltan y ambas son iguales. Para los atributos numéricos, la diferencia entre dos valores faltantes

también se toma como 1. Sin embargo, si sólo falta un valor, la diferencia se toma a menudo como el tamaño (normalizado) del otro valor o 1 menos ese tamaño, lo que sea mayor . Esto significa que si faltan valores, la diferencia es tan grande como posiblemente puede ser. Encontrar los vecinos más 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 más cercano a una instancia de prueba desconocida es calcular la distancia de cada miembro del conjunto de entrenamiento y seleccionar el más pequeño. Este procedimiento es lineal en el número de instancias de entrenamiento. En otras palabras, el tiempo que se necesita para hacer una sola  predicción es proporcional al número de instancias de entrenamiento. Procesar un conjunto completo de pruebas toma tiempo proporcional al producto del número de instancias en los conjuntos de entrenamiento y prueba. Los vecinos más cercanos se pueden encontrar más eficientemente representando el conjunto de entrenamiento como un árbol, aunque no es muy obvio cómo. 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 partición 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 kdimensional, siendo k el número de atributos.

La Figura 4.12 (a) da un pequeño 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 límites de decisión: Las decisiones se toman sobre la base de vecinos más cercanos como se explica más adelante. La primera división es horizontal (h), a través del punto (7,4) -esta es la raíz del árbol. La rama izquierda no se divide más: 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á vacío, y su hijo izquierdo contiene el punto (3,8). Como ilustra este ejemplo, cada región contiene sólo un punto, o tal

vez ningún punto. Las ramas hermanas del árbol -por ejemplo, las dos hijas de la raíz 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. ¿Cómo se construye un árbol kD desde un conjunto de datos? ¿Puede actualizarse eficientemente a medida que se agregan nuevos ejemplos de formación? ¿Y cómo se aceleran los cálculos del vecino más cercano? Abordamos la última pregunta primero. Para localizar el vecino más cercano de un punto de destino determinado, siga el árbol desde su raíz para localizar la región que contiene el objetivo. La figura 4.13 muestra un espacio como el de la figura 4.12 (b), pero con unos pocos ejemplos más y un límite extra. El objetivo, que no es una de las instancias del árbol, está marcado por una estrella. El nodo de la hoja de la región que contiene el blanco está coloreado en negro. Esto no es necesariamente el vecino más cercano del objetivo, como ilustra este ejemplo, pero es una buena primera aproximación. En particular, cualquier vecino más cercano debe estar más cerca-dentro del círculo discontinuo de la figura 4.13. Para determinar si existe, compruebe primero si es  posible que un vecino más cercano se encuentre dentro del hermano del nodo. El hermano del nodo negro está sombreado en la figura 4.13, y el círculo no lo cruza, por lo que el hermano no puede contener un

Vecino. A continuación, volver al nodo padre y comprobar su hermano, que aquí cubre todo  por encima de la línea horizontal. En este caso debe ser explorado porque el área que cubre intersecta con el mejor círculo hasta ahora. Para explorarlo, y sus hijas (las dos tías del punto original); comprobar si se cruzan el círculo (el izquierdo no, pero el derecho hace); y desciende para ver si contiene un punto más cercano (lo hace). En un caso típico, este algoritmo es mucho más rápido que el examen de todos los puntos y nd el vecino más cercano. El trabajo relacionado con la aproximación del vecino más cercano, el punto negro de la figura 4.13, depende de la profundidad del árbol, dada por el

logaritmo del número 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 más cercano depende un poco del árbol y de cuán buena es la aproximación inicial. Pero para un árbol bien construido con nodos que son cuadrados en lugar de rectángulos flacos largos, también puede demostrarse que es logarítmico en el número de nodos (si el número de atributos en el conjunto de datos no es demasiado grande). ¿Cómo 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 dirección de la división. Una vez que usted puede hacer eso, aplique el mismo método recursivamente a cada niño de la división inicial para construir el árbol entero. Para obtener una buena dirección para la división, 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 división 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 división sea perpendicular a la dirección de mayor extensión, 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 estén a lo largo de diferentes ejes, lo cual es probable porque la dimensión de mayor varianza se elige en cada etapa. Sin embargo, si la distribución de puntos es muy sesgada, la elección del valor mediano puede generar varias divisiones sucesivas en la misma dirección, produciendo hiperrectangles largos y flacos. Una mejor estrategia es calcular la media en lugar de la mediana y utilizar el punto más 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 mayoría de los métodos de aprendizaje de otras máquinas 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á vacío, simplemente coloque el nuevo punto allí. De lo contrario, divida el hiperrectángulo a lo largo de su dimensión más larga para conservar la cuadratura. Esta simple heurística no garantiza que la adición de una serie de puntos conservará el equilibrio del árbol, ni que los hiperrectangles estarán bien formados para una búsqueda de vecinos más 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 más próximos efectúen efi cientemente. Sin embargo, no son perfectos. Los conjuntos de datos distorsionados presentan un conflicto básico entre el deseo de que el árbol esté  perfectamente equilibrado y el deseo de que las regiones sean cuadradas. Más importante aún, rectángulos, incluso cuadrados, no son la mejor forma de usar de todos modos, debido a sus esquinas. Si el círculo discontinuo en la figura 4.13 fuera mayor, lo que sería si la instancia negra estuviera un poco más alejada del objetivo, se cruzaría la esquina inferior derecha del rectángulo en la parte superior izquierda y entonces ese rectángulo tendría que ser investigado , también a pesar de que las instancias de formación que lo definen están muy lejos de la esquina en cuestión. Las esquinas de las regiones rectangulares son incómodas. ¿La solución? Utilice hiperesferas, no hiperrectangles. Las esferas vecinas pueden superponerse, mientras que los rectángulos pueden apoyarse, pero esto no es un problema

 porque el algoritmo de vecindad más cercano para los árboles kD no depende de que las regiones sean disjuntas. Una estructura de datos llamada un árbol de bola de nes kdimensional 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 patrón de círculos superpuestos, y la figura 4.14 (b) muestra un árbol formado a partir de estos círculos. Los círculos en diferentes niveles del árbol se indican con diferentes estilos de guión y los círculos más pequeños 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 convención

 para que pueda identificar en qué nivel están las bolas. Para ayudarle a entender el árbol, los números se colocan en los nodos para mostrar cuántos puntos de datos se consideran dentro de esa pelota. Pero tenga cuidado: esto no es necesariamente el mismo que el número de  puntos que caen dentro de la región espacial que representa la pelota. Las regiones en cada nivel a veces se superponen, pero los puntos que caen en el área de superposición se asignan a sólo una de las bolas superpuestas (el diagrama no muestra cuál). En lugar de los conteos de ocupación 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 también. Para usar un árbol de pelota para encontrar el vecino más 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 más cercano al objetivo en esa pelota. Esto da un límite superior para la distancia del objetivo a su vecino más 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 más el límite superior actual, no puede contener posiblemente un punto más cercano; si no, el hermano debe ser examinado descendiendo el árbol más lejos. En la figura 4.15, el blanco está marcado con una estrella y el punto negro es su vecino más cercano. Se puede descartar todo el contenido de la bola gris: no puede contener un punto más cercano porque su centro está demasiado lejos. Progrese recursivamente el árbol hasta

su raíz, examinando cualquier bola que pueda contener un punto más cercano que el límite superior actual. Los árboles de bolas se construyen de arriba abajo, y como con los árboles kD el problema  básico es encontrar una buena manera de dividir una pelota que contiene un conjunto de  puntos de datos en dos. En la práctica, no tiene que continuar hasta que las bolas de la hoja contengan sólo dos puntos: Puede detenerse antes, una vez que se alcance un número mínimo  predeterminado, y lo mismo ocurre con los árboles kD. Aquí hay un método de división  posible. Elige el punto en la bola que está más lejos de su centro, y luego un segundo punto que está más alejado de la primera. Asigne todos los puntos de datos en la pelota al más cercano de estos dos centros de agrupación; luego calcula el centroide de cada grupo y el radio mínimo requerido para que encierre todos los puntos de datos que representa. Este método tiene el mérito de que el coste de dividir una bola que contiene n puntos es sólo lineal en n. Existen algoritmos más elaborados que producen bolas más ajustadas, pero requieren más computación. 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 técnicas de agrupación se aplican cuando no hay clases que se prediquen, pero las instancias se dividen en grupos naturales. Estos grupos presumiblemente se refieren a algún 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 técnicas para la clasificación y asociación de métodos de aprendizaje que hemos considerado hasta ahora. Como vimos en la Sección 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 probabilísticas: Una instancia pertenece a cada grupo con una cierta probabilidad.

O pueden ser jerárquicos: Una división de instancias en grupos en el nivel superior y cada grupo se reen mayor, tal vez hasta los casos individuales. En realidad, la elección entre estas  posibilidades debe ser dictada por la naturaleza de los mecanismos que se cree que subyacen en el fenómeno de agrupamiento en particular. Sin embargo, debido a que estos mecanismos son raramente conocidos -la misma existencia de clústeres es, después de todo, algo que estamos tratando de descubrir- y por razones pragmáticas también, la elección suele ser dictada por las herramientas de agrupación disponibles. Vamos a examinar un algoritmo que funciona en los dominios numéricos, las instancias de  particionamiento en clústeres disjuntos. Al igual que el método básico de vecindad más cercana de aprendizaje basado en la instancia, es una técnica simple y directa que se ha utilizado durante varias décadas. En el capítulo 6 examinamos los métodos de agrupación más recientes que realizan la agrupación incremental y probabilística. Clasificación Iterativa Basada en Distancia

La clásica técnica de agrupamiento se denomina k-means. En primer lugar, se especifica de antemano cuántos clústeres se están buscando: Este es el parámetro k. Entonces k puntos se eligen al azar como centros de agrupación. Todas las instancias se asignan a su centro de clúster más cercano de acuerdo con la métrica de distancia Euclidiana ordinaria. A continuación 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 agrupación. La iteración continúa hasta que los mismos puntos se asignan a cada racimo en rondas consecutivas, en cuyo estadio los centros del racimo se han estabilizado y seguirán siendo los mismos para siempre. Este método de agrupamiento es simple y eficaz. Es fácil demostrar que la elección del centro de agrupación como centroide minimiza la distancia cuadrática total desde cada uno de los  puntos del grupo hasta su centro. Una vez que la iteración se ha estabilizado, cada punto se asigna a su centro de clúster más cercano, por lo que el efecto general es minimizar la distancia cuadrática total de todos los puntos a sus centros de agrupación. Pero el mínimo es un local; no hay garantía de que sea el mínimo global. Los clusters nal son bastante sensibles a los centros de agrupación inicial. Completamente diferentes arreglos pueden surgir de  pequeños cambios en la elección al azar inicial. De hecho, esto es cierto para todas las técnicas prácticas de agrupamiento: es casi siempre imposible encontrar clusters globalmente óptimos. Para aumentar la probabilidad de encontrar un mínimo 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 fácil imaginar situaciones en las que k-means no logra un buen clustering. Considere cuatro casos dispuestos en los vértices de un rectángulo en el espacio bidimensional. Hay dos racimos naturales, formados agrupando los dos vértices 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 configuración estable. Los dos grupos contienen cada uno de los dos casos en cada extremo de un lado largo, no importa cuán grande sea la diferencia entre los lados largo y corto. k-medios de agrupación se puede mejorar drásticamente mediante la elección cuidadosa de los centros de clúster 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 distribución 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 más cercana que ya se ha elegido. Este  procedimiento, llamado k-means ++, mejora la velocidad y precisión sobre el algoritmo original con semillas aleatorias. Cálculos de distancia más rápidos

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 están implícitas al elegir el centro de clúster más cercano. Pero esto inevitablemente compromete la calidad de los clusters resultantes. Aquí está una mejor manera de acelerar las cosas. Encontrar el centro de clúster más cercano no es tan diferente de los vecinos más 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 aún más eficiente, ya que en cada iteración de ksignifica 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  permanecerán estáticos durante el procedimiento de agrupación. Cada iteración de k-means  produce un conjunto de centros de agrupación y todos los puntos de datos deben ser examinados y asignados al centro más cercano. Una forma de procesar los puntos es descender el árbol desde la raíz hasta llegar a una hoja y comprobar cada punto individual en la hoja para encontrar su centro de agrupación más cercano. Pero puede ser que la región representada por un nodo interior más alto caiga totalmente dentro del dominio de un solo centro de agrupación. ¡En ese caso, todos los puntos de datos bajo ese nodo pueden ser  procesados en un golpe! El objetivo del ejercicio, después de todo, es encontrar nuevas posiciones para los centros de agrupación 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 cuántos hay hasta ahora. Al final, sólo 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 número de puntos. Si todo el nodo está dentro del ámbito de un solo clúster, los totales en ejecución para ese clúster 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 agrupación marcados como estrellas negras. Debido a que todas las instancias se asignan al centro más cercano, el espacio se divide en dos por la línea gruesa que se muestra en la Figura 4.16 (a). Comience en la raíz 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 clúster 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 más. Recurriendo de nuevo al nodo B, su bola se encuentra a horcajadas del límite 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 clúster 2 inmediatamente y no necesitamos descender más. El árbol sólo es examinado hasta la frontera marcada por la línea 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 iteración particular de k-medios. La  próxima vez, los centros de clúster habrán cambiado y las cosas pueden ser diferentes. APRENDIZAJE MULTI-INSTANCIA

En el Capítulo 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 Sección 4.2). En el aprendizaje supervisado multiinstancia, una etiqueta de clase se asocia con cada bolsa, y el objetivo del aprendizaje es determinar cómo 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 metodología 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 métodos de aprendizaje estándar, como los descritos en este capítulo. Dos de estos enfoques se describen en las siguientes secciones. Agregación de la entrada

Puede convertir un problema de instancia múltiple en uno de instancia única calculando valores como media, modo, mínimo y máximo que resumen las instancias de la bolsa y agregándolos 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 múltiples instancias de propósito especial usando sólo los valores mínimo y máximo de cada atributo para cada bolsa, combinados con un vector de soporte (véase el capítulo 6). Un inconveniente potencial de este enfoque es que las mejores

estadísticas de resumen para calcular dependen del problema en cuestión. Sin embargo, el costo computacional adicional asociado con la exploración de combinaciones de diferentes estadísticas de resumen se compensa por el hecho de que el proceso de resumen significa que el algoritmo de aprendizaje procesa menos instancias. Agregación 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 clasificación, se produce una predicción para cada caso en la bolsa a predecir, y las predicciones se agregan de alguna manera para formar una predicción 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 podrían promediarse para obtener una distribución de probabilidad general para la etiqueta de la clase de la bolsa. Este método 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 números 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 tamaño 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 "método" de aprendizaje de la máquina. El punto era más para demostrar que las estructuras muy simples subyacen a la mayoría de los conjuntos de datos prácticos que se utilizan para evaluar los esquemas de aprendizaje automático 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 rápido y es  bastante factible incluso con un enorme número de atributos. Bayes era un filósofo inglés del siglo XVIII que expuso su teoría de la probabilidad en un "Ensayo para resolver un problema en la doctrina de las posibilidades", publicado en las Transacciones filosóficas de la Royal Society de Londres (Bayes, 1763). La regla que lleva su nombre ha sido una piedra angular de la teoría de la probabilidad desde entonces. La dificultad con la aplicación de la regla de Bayes en la práctica es la asignación de  probabilidades previas. Algunos estadísticos, llamados Bayesianos, toman la regla como un evangelio e insisten en que la gente haga serios intentos de estimar con precisión las probabilidades previas, aunque estas estimaciones son a menudo subjetivas. Otros, no bayesianos, prefieren el tipo de análisis libre de prioridad que típicamente genera intervalos de confianza estadística, lo cual veremos en el Capítulo 5. Con un conjunto de datos particular, las probabilidades previas para Naïve Bayes son generalmente razonablemente fáciles de estimar, Bayesiano al aprendizaje. Sin

embargo, la hipótesis de la independencia hecha por el método Naïve Bayes es un gran obstáculo y se están haciendo esfuerzos para aplicar el análisis bayesiano sin asumir independencia. Los modelos resultantes se denominan redes bayesianas (Heckerman et al., 1995), y los describimos en la sección 6.7. Las técnicas bayesianas habían sido utilizadas en el campo del reconocimiento de patrones (Duda y Hart, 1973) durante 20 años antes de que fueran adoptadas por investigadores de aprendizaje automático (por ejemplo, Langley et al., 1992) y se hicieron trabajar en conjuntos de datos con atributos redundantes (Langley y Sage, 1994) y atributos numéricos (John y Langley, 1995). La etiqueta Naïve Bayes es desafortunada porque es difícil usar este método sin sentirse simplista. Sin embargo, no hay nada ingenuo sobre su uso en circunstancias apropiadas. El modelo multinomial Naïve Bayes, que es particularmente útil para la clasificación de textos, fue investigado por McCallum y Nigam (1998). Quinlan (1986) describe el procedimiento básico ID3 desarrollado en este capítulo. Una descripción completa del método, incluyendo las mejoras que se incorporan en C4.5, aparece en un libro clásico de Quinlan (1993), que da una lista del sistema C4.5 completo, escrito en el lenguaje de programación C. PRISM fue desarrollado por Cendrowska (1987), quien también introdujo el conjunto de datos de lentes de contacto. Las reglas de asociación se introducen y describen en la literatura de la base de datos en lugar de en la literatura de aprendizaje automático. 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 capítulo es el método Apriori desarrollado por Agrawal y sus asociados (Agrawal et al., 1993a, 1993b, Agrawal y Srikant, 1994). En un artículo de Chen et al. (1996). La regresión lineal se describe en la mayoría de los textos estadísticos estándar, y en Lawson y Hanson (1995) se puede encontrar un tratamiento particularmente completo. El uso de modelos lineales para la clasificación gozó de gran popularidad en los años sesenta; Nilsson (1965) es una excelente referencia. Determina una unidad de umbral lineal como una prueba  binaria de si una función lineal es mayor o menor que cero y una máquina lineal como un conjunto de funciones lineales, una para cada clase, cuyo valor para un ejemplo desconocido es comparado y el más grande elegido como su clase predicha. En el pasado lejano, los  perceptrons cayeron de favor en la publicación de un libro in uential que demostró que tenían limitaciones fundamentales (Minsky y Papert, 1969); sin embargo, los sistemas más complejos de funciones lineales han experimentado un resurgimiento en los últimos años en forma de redes neuronales, descritas en la Sección 6.4. Los algoritmos de Winnow fueron introducidos por Nick Littlestone en su Ph.D. tesis (Littlestone, 1988, 1989). Los clasificadores lineales de respuesta múltiple han encontrado aplicación en una operación llamada apilamiento que combina la salida de otros algoritmos de aprendizaje, descritos en el Capítulo 8 (véase Wolpert, 1992). Fix y Hodges (1951) realizaron el primer análisis del método del vecino más cercano, y Johns (1961) fue pionero en su uso en problemas de clasificación. Cover y Hart (1967) obtuvieron el resultado teórico clásico de que, para conjuntos de datos suficientemente grandes, su  probabilidad de error nunca excede el doble del mínimo teórico. Devroye et al. (1996) demostró que k-vecino más cercano es asintóticamente óptimo p ara k grande y n con k / n → 0. Los métodos vecinos más cercanos ganaron popularidad en el aprendizaje automático a través del trabajo de Aha (1992), quien mostró que el aprendizaje basado en la instancia  puede se combinan con la poda ejemplar ruidosa y la ponderación de los atributos y que los

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF