Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PID_00200713
Ninguna parte de esta publicación, incluido el diseño general y la cubierta, puede ser copiada,
reproducida, almacenada o transmitida de ninguna forma, ni por ningún medio, sea este eléctrico,
químico, mecánico, óptico, grabación, fotocopia, o cualquier otro, sin la previa autorización escrita
de los titulares de los derechos.
© FUOC • PID_00200713 Aprendizaje
Índice
Introducción............................................................................................... 5
Objetivos....................................................................................................... 7
2. Extracción de características.......................................................... 29
2.1. Conjuntos de entrenamiento y espacios de características. ........ 29
2.2. Taxonomía de los algoritmos de extracción de características .... 30
2.3. Selección de características ......................................................... 31
2.3.1. Ejemplo de selección de características ......................... 34
2.4. Extracción de características ....................................................... 36
2.4.1. Análisis de componentes principales ............................ 38
2.4.2. Análisis discriminante lineal (ADL) ............................... 44
2.5. Conclusión .................................................................................. 46
3. Aprendizaje no supervisado............................................................ 48
3.1. Algoritmos de categorización: introducción ............................... 48
3.1.1. Estructura de los datos a categorizar y tipos de
atributos ......................................................................... 49
3.1.2. Definición de distancias y semejanzas para los
distintos tipos de atributos ............................................ 53
3.1.3. Estructuras posibles para las categorías construidas ...... 62
3.1.4. Descripciones posibles para las categorías
construidas ..................................................................... 63
3.1.5. Tipos de algoritmos ....................................................... 64
3.2. Particiones y particiones difusas de objetos ............................... 64
3.2.1. El C-Means ..................................................................... 65
3.2.2. Fuzzy C-Means ............................................................... 67
3.2.3. Vector Quantization ...................................................... 72
3.2.4. Mapas autoorganizativos ............................................... 74
© FUOC • PID_00200713 Aprendizaje
4. Aprendizaje supervisado.................................................................. 83
4.1. Métodos basados en métodos de categorización ........................ 83
4.1.1. Vecino más próximo ..................................................... 84
4.1.2. Clasificación basada en el Vector Quantization ............ 84
4.1.3. Clasificación basada en el C-Means .............................. 86
4.2. Máquinas de vectores de soporte ............................................... 86
4.2.1. Máquinas lineales de vectores de soporte ..................... 87
4.2.2. Máquinas no lineales de vectores de soporte ................ 92
4.2.3. Aplicaciones y extensiones de las SVM ......................... 94
4.3. Descripciones lógicas de conceptos ............................................ 94
4.4. Árboles de decisión ..................................................................... 98
4.4.1. Variaciones sobre árboles de decisión ........................... 101
4.5. Combinación de métodos ........................................................... 105
4.5.1. Conjuntos de clasificadores ........................................... 106
4.5.2. Algoritmos basados en boosting .................................... 108
4.5.3. Algoritmos basados en bagging....................................... 114
4.5.4. Algoritmos random subspace methods.............................. 116
4.5.5. Algoritmos de stacked learning........................................ 117
4.5.6. Ensembles de clasificadores: Conclusiones ..................... 118
4.6. Redes neuronales ......................................................................... 118
4.6.1. Una arquitectura y un algoritmo de aprendizaje: el
método de retropropagación ......................................... 120
4.6.2. Análisis de las redes neuronales .................................... 126
Actividades.................................................................................................. 133
Solucionario................................................................................................ 135
Glosario........................................................................................................ 137
Bibliografía................................................................................................. 138
© FUOC • PID_00200713 5 Aprendizaje
Introducción
Objetivos
(1)
El aprendizaje automático1 estudia métodos para conseguir incrementar el ren- En inglés, machine learning.
Los algoritmos genéticos, dado que son un método de búsqueda, forman Ved también
un mecanismo bastante general para ser aplicado como herramienta para el
En el apartado 1.1 vemos un
aprendizaje en muchos formalismos de representación. De hecho, una aplica- ejemplo de este tipo de aplica-
ción bastante diferente consiste en usarlos para la construcción de conceptos. ción para sistemas difusos.
Ved también
El aprendizaje en el problema
de clasificación contrapuesto
al problema de regresión está
detallado en el apartado 1.2.
Las descripciones de conceptos en términos de reglas se pueden obtener me-
diante algoritmos genéticos. En este caso es necesario definir la estructura de
los cromosomas de manera que para cada una de las posibles reglas haya una
representación.
© FUOC • PID_00200713 10 Aprendizaje
(entero(cr)/65.536) * 16 = entero(cr)/4.096
X1, ..., Xn son variables de entrada e Y es la variable de salida (la variable sobre
la que queremos concluir algo). Cada una de las Xi está relacionada con un
término lingüístico ti, j que tiene asociado un conjunto difuso. Así, la aplica-
ción de la regla representa la evaluación del conjunto difuso ti, j de acuerdo
con el valor que toma la variable Xi.
Bibliografía
Si inferimos que ya tenemos todas las reglas definidas y que siguen la estruc-
tura dada más arriba, lo que necesitamos para que el sistema funcione correc-
tamente es que cada término tenga asociado su conjunto difuso. Estos con-
juntos difusos se deben definir de manera óptima para que la inferencia (la
asignación de un valor a la variable de salida) sea lo más ajustada posible al
valor esperado.
© FUOC • PID_00200713 12 Aprendizaje
2
Eficiencia = ∑T>t>0 (t(t) − to)
El otro elemento es considerar cuáles son las soluciones posibles. Como se tra-
ta de ajustar las funciones de pertenencia, lo que tenemos que hacer es definir
una representación a fin de que las funciones de pertenencia que tengan inte-
rés se puedan representar. Si consideramos funciones de pertenencia triangu-
lar y de manera que el conjunto de funciones de pertenencia asociadas a una
variable defina una partición difusa, basta con definir los puntos normales de
las funciones de pertenencia. Es decir, encontrar los puntos x0, x1, ..., xN de
la figura 2.
© FUOC • PID_00200713 13 Aprendizaje
Figura 2. Partición difusa con funciones de pertenencia triangular donde los puntos normales corresponden a x0, x1, ..., xN.
x0 = a
a+d1
a+d1+d2
< x0, (x1 − x0), (x2 − x1), (x3 − x2), ..., (xN − xN–1)>
Utilizaremos di para denotar estas diferencias. Así pues, d0 = x0 y para los otros
i > 0 tenemos que di = xi−xi–1.
xN = a+d1+d2+ ... + dN
Como los valores de una variable están en un intervalo arbitrario, que imagi-
namos igual al intervalo [a, b], tendremos que normalizar los valores de los xi
de manera que estén en este intervalo (es decir, que x0 = a, xN = b). Suponiendo
que d0 siempre es cero, la normalización corresponderá a tomar:
Se puede notar que con esta definición xN = b, y también que con d0 = 0 en-
tonces x0 = a. Puesto que d0 debe ser cero, en la práctica consideraremos los
cromosomas sin n0. Así tendremos un cromosoma de la forma:
© FUOC • PID_00200713 14 Aprendizaje
El tercer elemento que hay que definir son los operadores de manipulación
genética. Podemos utilizar los mismos que en el apartado 1.1.1: cruce (sim-
ple y doble), mutación e inversión. Si utilizamos esta codificación y la expre-
sión Eficiencia que hemos dado más arriba como función objetivo, ya pode-
mos aplicar los algoritmos genéticos. Empezaríamos generando una población
de sistemas difusos y evaluaríamos cada uno mediante la función Eficiencia.
Después seleccionaríamos los mejores y generaríamos una nueva población
aplicando los operadores de manipulación genética. Con la nueva población
volveríamos a repetir el proceso.
(3)
En muchos casos, el problema se puede describir formalmente como un pro- En inglés, training set.
blema de optimización o como la aproximación de una función a partir de
unos ejemplos (pares entrada/salida). Cuando el problema se plantea de esta
manera, se habla de aprendizaje�inductivo. También se habla a menudo de
aprendizaje a partir de ejemplos, y el conjunto de ejemplos se llama conjunto
de�entrenamiento3.
© FUOC • PID_00200713 15 Aprendizaje
(4)
• Problemas de clasificación4: como en el caso de la regresión, cada instan- En inglés, classification.
Cuando el método de aprendizaje sirve para mejorar el conocimiento de ma- Aprendizaje deductivo y
nera que sea más sencillo o más eficiente de utilizar en la búsqueda, hablamos aprendizaje inductivo
de métodos de aprendizaje. Aquí, sin embargo, no hay incorporación de co- De acuerdo con lo que he-
nocimiento nuevo, sino sólo reelaboración de conocimiento (es decir, dedu- mos visto en este apartado, el
aprendizaje inductivo extrae
cible del conocimiento ya incluido en el sistema). conocimiento nuevo a partir
de los ejemplos, mientras que
el deductivo, no. Sólo es una
reelaboración de conocimiento
En el entorno de los problemas de búsqueda tendremos el aprendizaje super- ya conocido.
visado cuando dispongamos de un experto que nos dé información sobre el
operador adecuado en un instante concreto.
© FUOC • PID_00200713 17 Aprendizaje
El ejemplo de los algoritmos genéticos para sistemas difusos se puede ver como
caso de aprendizaje por refuerzo porque no se proporciona la solución correcta
sino sólo una evaluación (más o menos positiva) de la solución planteada.
"Through this simple process of introducing variations into successive generations and
selectively eliminating less fit individuals, adaptations of increasing capability and diver-
sity emerge in a population. Evolution and emergence occur in populations of embodied
individuals, whose actions affect others and that, in turn, are affected by others. Thus,
selective pressures come not only from the outside environment, but also from interac-
tions between members of a population. An ecosystem has many members, each with
roles and skills appropriate to their own survival, but more importantly, whose cumula-
tive behavior shapes and is shaped by the rest of the population."
(5)
La generalización plantea dificultades porque a partir de un conjunto de ejem- En inglés, inductive bias.
plos hay muchas generalizaciones posibles (y no todas darán el resultado co-
rrecto para los casos no incluidos en el conjunto de entrenamiento). Por eso, Nota
los algoritmos incorporan heurísticas para dirigir la búsqueda y también in-
La limitación en el aprendiza-
corporan otros elementos con el fin de restringir el espacio de búsqueda (el je que provoca el sesgo está
relacionada con la traducción
espacio de generalizaciones posibles). Todo aquello que restringe el espacio de la palabra inglesa bias por
'predisposición' (tal como apa-
de búsqueda es lo que se llama sesgo inductivo5. También provoca sesgo el rece en la versión castellana
formalismo de representación elegido, puesto que hay conocimiento que no del libro Artificial intelligence de
E. Rich y K. Knight). Así, el sis-
se puede expresar correctamente (esto va ligado a las capacidades de modeli- tema tiene predisposición pa-
ra aprender ciertas cosas, y no
zación de cada formalismo –la capacidad de modelización se estudia desde el para aprender otras.
punto de vista lógico de los formalismos).
© FUOC • PID_00200713 19 Aprendizaje
Recordemos:
E(X) = ∑x ∈ X x · p(x)
E(X) = (1/N) ∑ x ∈ Xx
s2 = (1/N) ∑ (xi)2
Podemos subrayar que el sesgo inductivo definido más arriba puede provocar,
cuando reduce el espacio de búsqueda, que la esperanza del valor del modelo
para x0 se aleje de f(x0), e incremente el sesgo (M(x0)). Por ejemplo, el uso
de funciones de pertenencia triangulares y particiones difusas provoca que
el modelo de un sistema difuso sea continuo. Si la función f es discontinua,
podría ir mejor que términos contiguos tuvieran funciones de pertenencia con
intersección nula. Por lo tanto, la reducción del espacio de búsqueda en este
caso puede provocar un aumento del sesgo.
2
Varianza (M(x0)) = E([M(x0) – E(M(x0))] )
Resumen de notación
ε Error que se añade al sistema real; suponemos que el error sigue una
distribución con esperanza cero: E(ε) = 0
Mc(x) Resultado del modelo que construimos a partir del conjunto de ejem-
plos c
2 2
E(e ) = (1/K) ∑c∈C (y0 − Mc(x0))
© FUOC • PID_00200713 23 Aprendizaje
que es equivalente a:
2 2 2
= (1/K) ∑[f(x0) + ε0 + Mc(x0) + 2 f(x0) · ε0 − 2 f(x0) · Mc(x0) − 2 ε0 · Mc(x0)]
2 2
= (1/K)∑ [f(x0) + Mc(x0) − 2 f(x0) · Mc(x0)] +
2
+ (1/K)∑ [ε0 ] +
2ε · (f(x0) − M(x0))
Sin embargo, eso es cero porque el ruido ε no está correlacionado con las sa-
lidas de los modelos y, cuando las variables no están correlacionadas, la espe-
ranza del producto es el producto de las esperanzas y, por la hipótesis que he-
mos tomado antes, E(ε) = 0. Por lo tanto, la expresión E(e2) es igual a:
2 2
E((f(x0) − M(x0)) ) + E(ε )
Se puede observar que, en esta expresión, sólo el primer término tiene en cuen-
ta el modelo que construimos (es decir, M(x0)) porque el segundo término, que
corresponde a la varianza del error, sólo depende del error ε y no de M(x0). El
término E((f(x0) − M(x0))2) corresponde a la esperanza del error entre el mode-
lo ideal del sistema que modelizamos y el modelo que hemos construido. El
mínimo para este término se obtiene cuando f(x0) = M(x0).
2
El término E((f(x0) − M(x0)) ) se puede descomponer en dos nuevos términos
que corresponden al sesgo del error y a la varianza del error. Para verlo, toma-
mos la expresión E((f(x0) − M(x0))2) y vemos, sumando y restando E(M(x0)),
que es equivalente a:
2 2
E((f(x0) − M(x0)) ) = E((f(x0) − E(M(x0)) − (M(x0) − E(M(x0)))) )
© FUOC • PID_00200713 24 Aprendizaje
2
E((f(x0) − E(M(x0)) − (M(x0) − E(M(x0)))) ) =
2 2
E([f(x0) − E(M(x0))] + [M(x0) − E(M(x0))] − 2 [f(x0) − E(M(x0))] [M(x0) − E(M(x0))])
2 2
= E([f(x0) − E(M(x0))] ) + E([M(x0) − E(M(x0))] ) − E(2 [f(x0) − E(M(x0))] [M(x0)
− E(M(x0))])
Aquí se puede ver que da cero (notad que hemos dividido por 2, que no afecta
al resultado):
2
=∑c∈C (1/K) [f(x0) Mc(x0) − f(x0) E(M(x0)) − E(M(x0)) Mc(x0) + [E(M(x0))] =
2
= f(x0)∑c∈C (1/K) Mc(x0) − f(x0)E(M(x0)) − E(M(x0)) ∑c∈C (1/K) Mc(x0) + [E(M(x0))] =
2
= f(x0)E(M(x0)) − f(x0)E(M(x0)) − E(M(x0))E(M(x0)) + [E(M(x0))] = 0 + 0
2 2 2
E((f(x0) − M(x0)) ) = E([f(x0) − E(M(x0))] ) + E([M(x0) − E(M(x0))] )
2
En esta expresión, el primer término E([f(x0) − E(M(x0))] ) es igual a:
2
[f(x0) − E(M(x0))]
2 2 2
E((f(x0) − M(x0)) ) = [f(x0) − E(M(x0))] + E([M(x0) − E(M(x0))] )
© FUOC • PID_00200713 25 Aprendizaje
2 2
E((f(x0) − M(x0)) ) = Sesgo (M(x0)) + Varianza(M(x0))
2 2
E(e ) = E(ε ) + Sesgo(M(x0)) + Varianza(M(x0))
por lo tanto, el error tiene en cuenta los dos elementos descritos en el subapar-
tado anterior.
Sin embargo, la varianza crece con la complejidad del modelo, porque a medi-
da que crece el grado del polinomio, variaciones muy pequeñas en la posición
de los puntos pueden provocar variaciones del modelo muy grandes. Así, si a
partir de doce puntos en un plano aproximamos la posición de una recta, el
cambio de un punto no provocará cambios muy grandes en la posición de la
recta. Por el contrario, si la aproximación es con un polinomio de grado once,
el cambio de un punto puede provocar que la nueva curva sea completamente
distinta de la anterior.
© FUOC • PID_00200713 27 Aprendizaje
Figura 8. Ejemplos de sesgo grande y varianza pequeña (1); y sesgo pequeño y varianza grande (2)
(6)
Por lo tanto, aunque a primera vista puede parecer que si disponemos de unos En inglés, overfitting.
ejemplos tenemos que preferir un sesgo pequeño a una varianza pequeña, eso
no es así. Sesgo pequeño con varianza grande corresponde a situaciones en las
que el modelo está ajustado en exceso6 a los datos. Por lo tanto, el modelo
ha aprendido incluso los errores que pueda haber en los ejemplos y no tiene
capacidad de generalización. Éste es el caso descrito más arriba del polinomio
de grado once. La consideración de ejemplos adicionales para poner a prueba
los modelos permite ilustrar este proceso. Si consideramos unos puntos adi-
cionales a la figura superior de los cuales conocemos el resultado, podemos ver
que el modelo con menos parámetros puede aproximar mejor que el modelo
ajustado en exceso (podéis ver la figura 9).
© FUOC • PID_00200713 28 Aprendizaje
2. Extracción de características
(7)
La necesidad de realizar un proceso de extracción de características puede venir Dimensionality reduction, en in-
glés.
dada por varios factores en función de la aplicación. Lo más común es disponer
de grandes volúmenes de datos pero a la vez con un alto grado de redundan-
cia, siendo la extracción de la información importante un objetivo prioritario.
En este caso, los procesos de extracción de características están muy ligados
a los algoritmos de reducción de la dimensionalidad7. Los datos originales se
acostumbran a representar en un espacio ℜM, donde M es la dimensionalidad
del espacio, y el objetivo deviene la reducción del número de atributos o di-
mensiones en este espacio para reducir la medida de los datos a analizar. Estos
procesos no solo tienen un efecto positivo en el posterior aprendizaje de los
datos, sino que a la vez disminuyen el coste computacional de los posteriores
algoritmos y las necesidades de almacenamiento.
© FUOC • PID_00200713 30 Aprendizaje
Por otro lado, en otras aplicaciones, los datos analizados pueden tener un vo-
lumen considerable de ruido. En estos casos, los métodos de extracción de ca-
racterísticas se ocuparán de filtrar la información que puede resultar perjudi-
cial por el proceso de aprendizaje, manteniendo sólo la información realmen-
te útil a posteriori.
(8)
La extracción de características se utiliza también para reducir el efecto de la Curse of dimensionality, en inglés.
8
maldición de la dimensionalidad . Este concepto, recurrente en las áreas de
la estadística y el aprendizaje automático, fue enunciado por primera vez por
Richard Bellman. En esencia, trata la problemática del volumen de datos a
analizar cuando el espacio de características crece en dimensionalidad.
Ejemplo
Supongamos, por ejemplo, que tenemos un espacio 2D, que queremos partir en una
parrilla de 10x10 casillas. Con un mínimo de 100 muestras, ya podríamos tener cubierta
esta parrilla. Ahora bien, suponemos que nuestro espacio hubiera sido 3D, habríamos
necesitado 1.000 muestras para tener un representante en cada cubo, y 10100 si nuestro
espacio hubiera tenido dimensión 100. Este crecimiento exponencial en el número de
“casillas” en la partición del espacio respecto a su dimensionalidad puede provocar que
necesitemos también un conjunto de muestras que crezca exponencialmente si queremos
tener una caracterización adecuada del problema.
(9)
1)� Selección� de� características9. Su objetivo es, dado el conjunto X, elegir feature selection, en inglés.
qué subconjunto de características A = Aa, Ab, ... nos es más beneficioso para
resolver nuestro problema. Expresado de otro modo, nos interesará eliminar
aquellas características no útiles, preservando solo las que maximicen la fun-
ción de utilidad.
Resulta evidente que una búsqueda exhaustiva en el caso de los métodos mul-
tivariantes es imposible en general, debido al coste computacional que requie-
re el número combinatorio de posibles agrupaciones de características a eva-
luar.
© FUOC • PID_00200713 32 Aprendizaje
A pesar de que a priori pueda parecer que los algoritmos empotrados tendrían
que tener un rendimiento superior a los algoritmos de filtrado porque usan el
subconjunto óptimo de características que usará el clasificador final, existen
muchas aplicaciones donde esto no se cumple, puesto que los algoritmos em-
potrados pueden tener más tendencia a sobreaprender el conjunto de entre-
namiento, perdiendo capacidad de generalización.
(10)
• Selección�basada�en�la�información�mutua. Mide la información mutua La medida de informa-
ción mutua entre dos variables
entre las variables aleatorias que modelan cada característica y las etique-
aleatoriasX,Y evalúa qué grado de
tas de clasificación, escogiendo las características que maximizan esta in- dependencia se puede inferir sobre
la variable X aleatoria una vez co-
formación mutua10. nocemos Y: Y(X,Y) = H(X) – H(X|Y)
© FUOC • PID_00200713 33 Aprendizaje
Esta técnica requiere que se puedan definir buenas funciones de cota sobre
espacios de búsqueda en el espacio de las características, y basa su éxito en
poder descartar masivamente subárboles en estadios iniciales, de manera
que reduce de forma muy notable la búsqueda exhaustiva de la solución,
manteniendo la optimización.
• Algoritmos�genéticos aplicados a la selección de características. Como ya
hemos visto, los algoritmos genéticos permiten diseñar algoritmos ad hoc
para hacer una búsqueda heurística sobre el espacio de posibles combina-
ciones de características. Los algoritmos genéticos son rápidos y encuen-
tran soluciones muy eficientes, a pesar de que no permiten garantizar op-
timización.
(11)
Finalmente, hay que destacar que hay una gran cantidad de algoritmos de supportSVM o vector machines
es una técnica de clasificación que
selección de características empotrados en los principales clasificadores usados
veremos en detalle más adelante
en el aprendizaje automático. Son ejemplos de ello los algoritmos empotrados en esta asignatura.
11
en SVM , clasificadores bayesianos o árboles de decisión.
Ejemplo sintético
Figura 12. Esquema de la tercera coordenada respecto de la cuarta. Ninguna de las dos
características aportan información de cara a la separación entre clases
Como función de bonanza para evaluar las diferentes características utilizaremos un cri-
terio de clasificación empotrado muy sencillo: la distancia en el centro de masas, de for-
ma que a cada punto se le asignará la clase asociada al centro de masas más cercano. En la
figura 13 se muestra un ejemplo de clasificación de dos puntos en cada una de las clases,
y un caso de clasificación errónea. Usaremos el porcentaje de puntos muy clasificados
como medida de bonanza.
Selección�univariante
Característica 1 2 3 4
Selección�multivariante
En este caso se ha usado la misma función de bonanza que en el caso anterior, pero rea-
lizando una búsqueda exhaustiva sobre todas las posibles agrupaciones de características.
Para ilustrar mejor el problema, se ha codificado con una palabra de cuatro bits la per-
tenencia de cada característica al subconjunto correspondiente. Por ejemplo, el código
1010 indica que el subconjunto de características elegido es el formado por el primer
atributo y por el tercero. La tabla siguiente muestra los resultados obtenidos:
Subconjunto Función�de�bonanza
0001 49.9%
0010 50.8%
0011 50.7%
0100 76.5%
0101 76.5%
0110 76.5%
0111 76.6%
1000 84.9%
1001 84.9%
1010 85.1%
1011 85.2%
1100 88.5%
1101 88.4%
1110 88.3%
Los atributos 1 y 2 siguen siendo los más importantes a la hora de elegir los subconjuntos,
como, por otro lado, era predecible debido al diseño del experimento. El mejor subcon-
junto es el 1100, a pesar de que cualquier subconjunto que tenga en cuenta el atributo
1 podría ser un buen candidato a elegir. Se observa también que, si obviamos el primer
atributo, el segundo es claramente el que define los mejores subconjuntos; y si obviamos
los dos primeros atributos, las características devienen completamente inútiles para ha-
cer cualquier tarea de clasificación.
(12)
• Extracción�de�características�no�supervisada. Los algoritmos disponen En inglés, non-negative matrix
factorization
de un conjunto de datos de entrenamiento, y el objetivo deviene la ob-
tención de un espacio de dimensión reducida que minimice una determi- (13)
En inglés, independent compo-
nada función de coste. Ejemplos de este tipo de técnicas son el análisis de nent analisis
componentes principales (PCA), la factorización no negativa de matrices
(NMF12), o el análisis de componentes independientes (ICA13).
En esta asignatura nos centraremos en las técnicas lineales. Estudiaremos una (15)
fisher linear discriminant analy-
de las técnicas más importantes y utilizadas, el análisis de componentes prin- sis (FLDA o LDA), en inglés
Siguiendo con esta notación, y recordando que el PCA es una técnica de ex-
tracción de características lineal, podemos expresar el resultado del proceso de
extracción de características como el producto matricial:
S = PX
Algoritmo.�Análisis�de�componentes�principales Nota
3) Coged como matriz P, los D primeros vectores propios con mayor valor
propio asociado de la matriz de covarianza C.
Ejemplo
Figura 15. Muestras centradas (la media de las muestras coincide con el origen de coordenadas).
Minimización�del�error�cuadrático
Es decir, la suma de todos los errores individuales, entendiendo por error indi-
vidual la diferencia entre el punto original y su versión proyectada y antipro-
yectada al espacio original. La figura 17 muestra gráficamente este error. Hay
que observar que el error cometido en cada ejemplo equivale a la proyección
en las componentes eliminadas al hacer el PCA.
© FUOC • PID_00200713 42 Aprendizaje
Figura 17. Error cometido en la proyección del ejemplo anterior en la componente principal de uno de los puntos.
(16)
El proceso de minimización hace uso de los multiplicadores de Lagrange16 y Los multiplicadores de Lagran-
ge se ven con más detalle en la
la correspondiente derivada, resultando la función: asignatura de análisis.
(17)
Es decir, el vector p que minimiza el error cuadrático tiene que ser un vector Los vectores propios de una
17 matriz A se definieron en la asig-
propio de la matriz de covarianza S . natura de Álgebra como aque-
llos vectores v que cumplen Av =
λv (siendo λ el conjunto de valo-
Además, el algoritmo permite medir la cantidad de información que se preser- res propios asociados). Existen al-
goritmos muy eficientes para su
va tomando los primeros D vectores de proyección mediante la fórmula:
cómputo.
Además, para cada ejemplo xi tenemos asociada una etiqueta Li que nos define
la pertenencia de xi a una de las K clases que configuran el problema L∈{L1,
L2, ..., Lk}. La aparición de estas variables objetivo es lo que nos hace hablar
de aprendizaje supervisado.
Algoritmo.�Análisis�discriminando�lineal
Ejemplo
En este ejemplo, mostramos dos nubes de puntos, que pertenecen a dos clases
diferentes, y buscamos el resultado de realizar una extracción de características
no supervisada, basada en PCA y una supervisada basada en el ADL.
© FUOC • PID_00200713 46 Aprendizaje
(18)
Cabe hacer notar que este ejemplo sintético ha sido generado para mostrar la Datos que no tienen una distri-
bución gaussiana uniforme en to-
diferencia entre la extracción de características supervisada y no supervisada.
das las clases
Pueden existir casos en los cuales el análisis discriminante no solucione el
problema de modo satisfactorio. De hecho, existen muchas extensiones del (19)
Las técnicas basadas en Kernels
18 permiten tratar la no linealidad,
algoritmo ADL que permiten tratar datos heteroscedásticos y no separables como veremos en apartados poste-
19
linealmente . Su estudio, sin embargo, queda fuera del alcance de este curso. riores de clasificación
2.5. Conclusión
Como hemos visto, no hay ningún método que sea universalmente mejor que
otro, ni en selección de características, ni en una extracción. La dimensionali-
dad y complejidad de los datos de entrada y la naturaleza del problema a tratar
nos pueden aconsejar usar una técnica u otra.
© FUOC • PID_00200713 48 Aprendizaje
3. Aprendizaje no supervisado
(20)
Los algoritmos de categorización20 son uno de los métodos de aprendizaje no En inglés, clustering
tabular), estos métodos construyen un conjunto de categorías. Cada categoría A menudo también se utiliza
representa un subconjunto de los objetos iniciales que son, por una parte, el término cluster analysis para
denotar los algoritmos de cate-
bastante "semejantes" entre sí para definir una única categoría, pero, por otra gorización.
parte, bastante "diferentes" del resto para constituir una categoría propia.
Algunas poblaciones
Transformación�entre�atributos�categóricos�y�atributos�binarios
Ahora pasaremos a ver las características de los atributos ordinales difusos y los
que representan la existencia de una estructuración jerárquica de las variables:
• Atributos ordinales difusos: corresponde a tener un atributo ordinal, pero Ved también
donde cada término del dominio tiene asociado un conjunto difuso. Esto
Podéis ver el apartado "Siste-
corresponde a tener una variable difusa. En este caso, la semejanza o dife- mas difusos" del módulo "In-
rencia entre términos se puede calcular a partir de los conjuntos difusos certidumbre y razonamiento
aproximado" de la asignatura
asociados. Inteligencia artificial.
De todos modos, hay que decir que es frecuente utilizar los atributos ordinales
como si fueran numéricos y utilizar las expresiones de distancia que se utilizan
para atributos numéricos. Eso se hace para simplificar el tratamiento.
© FUOC • PID_00200713 53 Aprendizaje
La aplicación práctica de los algoritmos de aprendizaje obliga a considerar me- Coeficientes de semejanza
didas (cuantificaciones, habitualmente numéricas) de cuánto son de semejan-
Los coeficientes de semejanza
tes dos objetos. La medida de esta semejanza viene dada por los llamados coe- en inglés se llaman similarity
ficientes de semejanza. coefficient (o, no tan frecuen-
temente, ressemblance coeffi-
cient).
(21)
• Coeficientes basados en distancias: se basan en la definición de una dis- En inglés, dissimilarity.
tancia en un cierto espacio. Por ejemplo, la distancia euclidiana cuando
los atributos son numéricos. De hecho, en estos coeficientes tenemos que
la distancia nos proporciona una desemejanza21 y a partir de ésta se cons-
truye la semejanza como función complementaria.
(22)
La selección de un coeficiente se basa en sus propiedades, el tipo de escala de En inglés, joint monotonicity.
los atributos y, en gran medida, la experiencia. Para evaluar los coeficientes,
aparte de hacer estudios sobre sus propiedades, se han hecho otros comparan-
do los resultados de aplicarlos a diferentes conjuntos de datos. Un concepto
que aparece relacionado con estos estudios es el de monotonía conjunta22. Es-
ta propiedad sirve para comparar pares de coeficientes. Así, tenemos que los
coeficientes c1 y c2 satisfacen la propiedad de monotonía conjunta si al orde-
nar los valores que hemos obtenido por el coeficiente c1 para todos los pares de
individuos tenemos la misma ordenación que la que obtenemos si ordenamos
de acuerdo con el coeficiente c2.
Consideremos tres individuos { x1, x2, x3} y los coeficientes de semejanzas c1 y c2 calcula-
dos por los pares de individuos en la tabla inferior. Notad que la tabla no está completa.
Es así porque se ha considerado, como es frecuente en las medidas de semejanzas, que
los coeficientes son conmutativos (c(xj,xk) = c(xk,xj)).
© FUOC • PID_00200713 54 Aprendizaje
1. d(x,x) = 0
2. d(x,y) ≥ 0
3. d(x,y) = d(y,x)
4. d(x,z) ≤ d(x,y) + d(y,z)
A partir de una distancia, cuando ésta es definida en el intervalo [0, 1], se puede
definir un coeficiente de semejanza como s(x,y) =1 − d(x,y). En este caso, la
semejanza siempre será positiva, y es máxima e igual a 1 cuando los individuos
coinciden. La condición de ultramétrica se traduce para la semejanza en:
Esta última condición es, por lo tanto, la dual de la 4'. Interpretando la seme- Ved también
janza como una cuestión de grado, la condición 4'-dual se puede interpretar
Podéis ver el apartado de "Sis-
como que si x es semejante a y, e y es semejante a z (con una t-norma mínima temas difusos" del módulo "In-
para modelizar la conjunción), entonces x es semejante a z. Esto corresponde certidumbre y razonamiento
aproximado" de la asignatura
a decir que la semejanza es transitiva. Inteligencia artificial.
Observad que las otras condiciones exigidas más arriba de d(x,x) = 0, d(x,y) =
= d(y,x) se traducirán para s(x,y) = 1 – d(x,y), cuando d(x,y) pertenece a [0, 1],
en: s(x,x) = 1, s(x,y) ≥ 0 y s(x,y) = s(y, x).
(Ai(xj) − Ai(xk))2)1/2
M
d(xj,xk) = (∑ i=1
(Ai(xj) − Ai(xk))2)1/2
M
d(xj,xk) = ((1/M) ∑ i=1
(23)
Algunas alternativas a la distancia euclidiana son la diferencia media23 y la di- En inglés, average difference.
24
ferencia de carácter medio . Ninguno de los dos casos considera el cuadrado
(24)
En inglés, mean character diffe-
de las diferencias. En el caso de la diferencia media, como no se considera nin- rence o MCD.
M
guna transformación alternativa (la expresión correspondiente es: (1/M)∑ i=1
(Ai(xj) − Ai(xk)), tenemos que las diferencias pueden ser positivas y negativas y,
por lo tanto, no es una métrica. Además, situaciones como la de la figura 20
resultan con un coeficiente igual a cero. La diferencia de carácter medio evita
estos problemas haciendo el valor absoluto de las diferencias. En este caso la
expresión correspondiente es:
M
∑ i=1 |Ai(xj) – Ai(xk)|/M.
© FUOC • PID_00200713 56 Aprendizaje
2
Figura 20. Distancia a R entre los puntos (1, 2) y (2, 1). Diferencia media = 0. Diferencia de carácter medio = 1. Distancia
1/2
euclidiana: (1 + 1) = 1,4142. Distancia euclidiana media = 1
2) Métrica de Minkowski
Las distancias que hemos visto antes son casos particulares de una familia de
métricas denominada métrica de Minkowski. Esta familia se define en términos
de un parámetro r como se presenta a continuación:
|Ai(xj) − Ai(xk)|r)1/r
M
dr(xj,xk) = (∑ i=1
2
Figura 21. Distancia a R entre los puntos (1, 2,4142) y (1, 1). Diferencia euclidiana 1,4142. Distancia Manhattan 1,4142.
2
Distancia a R entre los puntos (1, 2) y (2, 1). Diferencia euclidiana 1,4142. Distancia Manhattan 2.
Coeficientes de asociación
(denotamos este valor por a), cuántas coinciden los 0 (denotamos este valor
por d) y cuántas tenemos valores diferentes (denotamos por b el número de
casos en los que tenemos un 0 para xj y un 1 para xk, y denotamos por c el nú-
mero de casos en los que tenemos un 1 para xj y un 0 para xk). A continuación
se muestran gráficamente estos casos.
SCS = (a + d)/(a + b + c + d)
2
1 − SCS(xj,xk) = (d(xj, xk))
Notad que d(xj,xk) será cero para los casos a y d de la descomposición anterior
y 1 para los otros dos casos.
2) Coeficiente de Jaccard
SJ = a/(a + b + c)
Coeficientes de correlación
Ejemplo
Así, dos registros con el nombre "Paco Tanaka" y "Francisco Tanaka" corresponderán con
mucha probabilidad a la misma persona, pero, en cambio, dos registros con el nombre
"Jorge García" que aparecen en los ficheros con señas de correo diferentes puede ser que
no correspondan a la misma persona (y no es suficiente evidencia, con este nombre, de
que correspondan a la misma persona).
(25)
Los valores ausentes25 corresponden a la situación en la que el valor de un En inglés, missing values.
La causa de aparición de estos valores es diversa. Puede ser por culpa de errores
en la codificación, valores eliminados con el fin de proteger la confidenciali-
dad de los datos o porque el atributo no es aplicable al objeto a causa de los
valores tomados por otros atributos (por ejemplo, el atributo "¿embarazada?"
no es aplicable si construimos una categorización a partir de datos de personas
y el objeto en cuestión es hombre).
Hay diferentes maneras de tratar los valores ausentes. Una consiste en susti-
tuirlos por el valor esperado del atributo (la media de los valores que hay) o
la moda (el valor que más aparece). Otra alternativa es ignorar el atributo a
la hora de calcular semejanzas. Por ejemplo, si ahora utilizamos la distancia
euclidiana media, tomaremos:
|Ijk| 2 1/2
d(xj,xk) = [(∑i =1 (Ai(xj) – Ai(xk)) ) / |Ijk|]
donde Ijk son los atributos, donde tanto xj como xk tienen valores distintos
del valor ausente.
Es decir,
Con esta definición sólo tenemos en cuenta los atributos que no contienen
valores desconocidos.
Otro problema que hay que considerar para calcular semejanzas y distancias
en problemas reales es que los dominios de los distintos atributos pueden ser
muy diferentes. En este caso, las distancias que se calculan estarán fuertemen-
te influenciadas por los valores del dominio. Por ejemplo, si tenemos un estu-
dio de población, y disponemos para cada individuo del número de hijos y
el salario, obtendremos que la clasificación estará condicionada, sobre todo,
por el salario, porque la diferencia entre dos personas con el mismo número
de hijos y salario distinto será normalmente mayor que el que hay entre dos
personas con el mismo salario y distinto número de hijos. Eso es así porque
la variabilidad del salario es mayor que la variabilidad en el número de hijos.
Pasa lo mismo si consideramos la clasificación de las poblaciones de la tabla
del subapartado 3.1.1. En esta tabla la población mínima es de 851 habitantes
© FUOC • PID_00200713 60 Aprendizaje
2
y la máxima de 1.496.266 y, en cambio, la superficie va de 10,8 a 134,6 km .
Por lo tanto, la diferencia entre el número de habitantes domina la diferencia
entre superficies.
donde A(X) es el conjunto de valores que toman todos los objetos de X para
el atributo A.
Sneath y Sokal sugieren que, cuando los atributos binarios son mayoría y se Lectura complementaria
utilizan con coeficientes de correlación, se tienen que codificar mediante los
P.�H.�A.�Sneath;�R.�R.�Sokal
valores 0 y 1 y no se tienen que estandarizar; si en este caso hay atributos or- (1973). Numerical Taxonomy
dinales, se recomienda codificarlos con codificación aditiva. Para situaciones (pág. 157). San Francisco: W.
H. Freeman and Company.
en las que hay atributos binarios y ordinales o nominales, se propone el ran-
ging. Cuando los atributos son mayoritariamente numéricos o categóricos, se
recomienda, en general, la estandarización.
El libro de T. Masters, Signal and Image Processing with Neuronal Networks (John
Wiley & Sons, 1994) describe otros tipos de transformaciones, algunas de las
cuales corresponden a restricciones de ciertos algoritmos. Por ejemplo, descri-
be que hay métodos como las redes neuronales con retropropagación y de
muchas capas que van más deprisa si los valores de las variables están centra-
dos en el cero (por lo tanto, en este caso la estandarización es adecuada), o si
los valores son de magnitudes semejantes (que no haya atributos con valores
muy altos cuando en los otros sólo aparecen valores bajos –eso puede provo-
car, como se ha dicho, que los valores grandes tengan más influencia). Los hay
que requieren que la suma de los cuadrados de los valores de las entradas sea
una constante (es el caso de la red de Kohonen). Esta restricción está motivada
por la suposición de que los valores de las entradas son un vector de puntos
en una esfera. Como eso no siempre es posible, una alternativa es añadir una
variable adicional para que todo cuadre. Para la salida de algunas redes neuro-
nales es adecuado que el valor esté entre 0,1 y 0,9. Utilizar el intervalo [0, 1]
requiere que las entradas de las neuronas de salida tomen valores mayores de
© FUOC • PID_00200713 62 Aprendizaje
Por ejemplo, para determinar una enfermedad es más importante el hecho de tener fie-
bre que las señas del paciente; o para concluir que una ciudad tiene metro, el atributo
población es más relevante que el atributo superficie.
Con el fin de tener en cuenta los pesos, hay funciones de semejanza y de dis-
tancia que incluyen un peso para cada atributo. Sin embargo, el uso de estas
expresiones requiere fijar los pesos antes de empezar el proceso de categoriza-
ción. Tarea que no es sencilla.
En relación con los pesos, Sneath y Sokal argumentan algunas otras cuestiones
sobre los pesos en su libro:
"There are some sound reasons for considering that the weight of a character should be
inversely proportional to its variability. For normally distributed quantitative characters
their information (in the information theory sense) is proportional to the variance, so
that if the variances are made equal, then each character contributes equal information."
Lo más habitual es que nos encontremos con alguno de los casos siguientes:
• Categorías disjuntas: un objeto puede pertenecer sólo a una categoría. Esta Ved también
situación corresponde a los algoritmos que construyen una partición del
Los árboles de decisión con
dominio. Aunque todos los algoritmos acostumbran a asegurar que todos descripciones lógicas es un ca-
los objetos que utilizamos para aprender el modelo tendrán asociada una so similar, pero con categorías
organizadas de forma jerárqui-
categoría, no es así para otros objetos no considerados a priori. En este tipo ca –podéis ver el subapartado
4.4.1.
de algoritmos, a veces se dispone de una partición de los objetos, pero no
del dominio. Éste es el caso de utilizar descripciones lógicas para describir
las categorías.
• Categorías que se superponen:los límites entre las categorías no son níti- Ved también
dos. Éste es el caso de los algoritmos que construyen una partición difusa.
Veremos el Fuzzy C-Means en
El Fuzzy C-Means es un algoritmo que construye este tipo de estructura. el subapartado 3.2.2.
• Categorías organizadas en forma de árbol jerárquico: se establece una rela- Ved también
ción entre las categorías, que se expresa mediante una estructura de árbol
Podéis ver el apartado "Siste-
(sigue el esquema que hemos visto para los atributos con estructura jerár- mas con representación estruc-
quica). La estructuración de objetos en forma de árbol se llama dendrogra- turada" del módulo "Sistemas
basados en el conocimiento"
ma. Los algoritmos de categorización jerárquica nos definen conceptos a de la asignatura Inteligencia
artificial. Los algoritmos del
distintos niveles, y nos establecen que los conceptos que comparten un subapartado 3.3 construyen
estas jerarquías.
nodo padre son más semejantes entre ellos que con los demás. Además, se
entiende que la relación entre un nodo y su nodo padre en una jerarquía
corresponde a una relación de superclase (o una relación "es-uno").
de sus propiedades. Hay diversas formas de representar las categorías de El Fuzzy C-Varieties se descri-
una manera extensional. Por ejemplo: be en:
J.�C.�Bezdek (1981). Pattern
– Representación mediante centroides: se utiliza un punto en el espacio recognition with fuzzy objecti-
de los objetos para representar toda la categoría. Como los objetos es- ve function algorithms. Nueva
York: Plenum Press.
tán descritos por M atributos, este punto, que se llama centroide, tam-
bién se encuentra en un espacio de dimensión M. El centroide se inter-
preta como el prototipo de la categoría. Hay algunos algoritmos que en
© FUOC • PID_00200713 64 Aprendizaje
• Métodos partitivos: son los métodos que consideran inicialmente una úni-
ca categoría y después, en pasos sucesivos, toman algunas de las categorías
que ya hay y las dividen para formar nuevas categorías más específicas.
Estos métodos construyen la jerarquía de arriba abajo.
La sección acaba con los algoritmos de Vector Quantization y los mapas au- Ejemplo
to-organizativos (SOM, en inglés, self organizing maps).
En esta expresión ||u|| corres-
ponde a la norma del vector.
3.2.1. El C-Means Así si u = (u1, –, ur), entonces
||u|| =
2
∑k =1,C ∑x ∈ Ck ||A(x) − pk ||
2
FO(χ,P) =∑k =1,C ∑x χk(x) ||A(x) − pk||
El problema es:
sujeto a
2) Resolver
minχ∈Mc FO(χ,P)
3) Resolver
minPFO(χ,P)
Tanto para el paso 2 como para el paso 3 es posible encontrar la mejor solución.
Las soluciones de los subproblemas son:
Así, con un conjunto de objetos X = { x1, x2, ..., xN } evaluado en términos de los
atributos A = { A1, ..., AM } los algoritmos de categorización difusa construyen
una partición difusa de los objetos X. Por lo tanto, si consideramos c categorías
(C = { C1, ..., Cc}), el problema consiste en encontrar c funciones de pertenencia
μ1, μ2, ...,μc, donde μi corresponde a la función de pertenencia de Ci, de manera
que para un objeto x la suma de las pertenencias a las categorías de C es 1.
Además, queremos que para cada categoría haya como mínimo un elemento
con pertenencia no nula. Por lo tanto, para las funciones de pertenencia se
satisfacen las dos condiciones siguientes:
© FUOC • PID_00200713 68 Aprendizaje
Objeto 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
A1 0 0 0 1 1 1 2 3 4 5 5 5 6 6 6
A2 0 2 4 1 2 3 2 2 2 1 2 3 0 2 4
Descripción de los quince objetos de acuerdo con Bezdek. Pattern Recognition with Fuzzy Objective Function Algorithms (1981, Nueva York: Plenum Press).
Un ejemplo de partición difusa considerando dos categorías C = { C1, C2 } para este con-
junto de objetos se da en la tabla siguiente. Podemos observar que para cada objeto la
suma de las funciones de pertenencia a las diferentes clases es igual a 1. Es decir, la suma
de los valores en una misma columna es igual a 1.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0,99 0,98 0,99 0,86 0,85 0,86 0,67 0,50 0,33 0,14 0,15 0,14 0,01 0,02 0,01
0,01 0,02 0,01 0,14 0,15 0,14 0,33 0,50 0,67 0,86 0,85 0,86 0,99 0,98 0,99
Una partición difusa en dos categorías para los objetos de la tabla superior
2
minimizar FO(χ,P) = ∑k =1,C ∑x χk(x)||A(x) − pk||
sujeto a
© FUOC • PID_00200713 69 Aprendizaje
de manera que ahora se incluyan las funciones de pertenencia (en lugar de las
funciones características) y que éstas definan particiones difusas. Utilizando
μk para las funciones de pertenencia en lugar de χk, tenemos que el problema
se transforma en:
2
minimizar FO(μ, P) = ∑k =1,C ∑x μk(x) ||A(x) − pk||
sujeto a
Sin embargo, las soluciones de este problema de optimización están en los ex-
tremos del intervalo unidad (son 0 o 1) y, por lo tanto, corresponden a una
partición nítida. Eso es debido a que la función objetivo es lineal en relación
con los valores de las funciones de pertenencia. Con el fin de encontrar solu-
ciones difusas interesantes, es necesario hacer la función objetivo no lineal en
relación con las funciones de pertenencia. Eso se consigue, en general, intro-
duciendo un parámetro en la función objetivo. Este parámetro, denotado ha-
bitualmente por m, tiene que ser mayor que 1. Así, el problema queda definido
como mostramos a continuación:
sujeto a
Para resolver este problema se utiliza el mismo esquema que en el caso del
C-Means. De hecho, el algoritmo que presentamos, como en el caso del C-
Means, no es óptimo. Así, consideramos un proceso iterativo en el cual se in-
tercala la determinación de las categorías (en este caso la determinación de las
funciones de pertenencia) y la determinación de los centros. Las dos determi-
© FUOC • PID_00200713 70 Aprendizaje
2) Resolver
minμ ∈ Mf FO(μ, P)
3) Resolver
minP FO(μ, P)
2
a) Si ||xi − pk|| > 0 para toda categoría Ck, entonces:
2
b) Si hay alguna categoría Ck para la cual ||xi − pk|| = 0, entonces considerad el
conjunto Z = {k | ||xi − pk||2 = 0}. Este conjunto Z corresponde a las categorías en
las que su prototipo coincide con xi. De acuerdo con este conjunto, se definen
las funciones de pertenencia para el objeto xi de la siguiente manera:
• Para todo z ∈ Z, se define μz(xi)de manera arbitraria pero para que se cum- Nota
pla
Ved que el caso b corresponde
∑z ∈ Z μz(xi) = 1 a la situación en la que el pun-
to xi está en la misma posición
y, evidentemente, μz(xi) ∈ [0, 1]. que algún centroide pk (pues-
2
to que ||xi – pk|| = 0 entonces
xi = pk). En este caso, la perte-
• Para todo k que no pertenece a Z, nencia del punto xi se reparte,
μk(xi) = 0 de manera arbitraria, entre to-
dos los centroides posibles que
coinciden con xi.
© FUOC • PID_00200713 71 Aprendizaje
Regularización
2 -1
FO – R(μ,P) = ∑k =1,C ∑x (μk(x)) ||A(x)− pk|| + λ ∑k =1,C ∑x (μk(x)) log(μk(x))
La solución de este problema sigue el esquema del Fuzzy C-Means visto más
arriba: un proceso iterativo en el que en cada paso se calculan las funciones de
pertenencia y los centroides. Ahora el cálculo de las funciones de pertenencia
asociadas a los objetos es diferente. La expresión correspondiente es:
También varía el cálculo de los centroides. Ahora, para cada categoría Ck, su
centroide se define como:
3. repetir
La modificación de los prototipos se basa en el valor η que depende de la ite-
4. seleccionar un
ración (el tiempo). Este factor se llama factor de aprendizaje26. Se puede observar ejemplo xi del con-
que un valor de η = 1 implica que el centroide se desplace de la posición en junto
la que está a la posición que ocupa el objeto. La elección de los valores para 5. l := arg min1≤k≤ c
general, se recomienda empezar con valores grandes (por ejemplo, cercanos a 6. pl := pl + η(t) [xi
0,5) y hacer decrecer el parámetro en cada iteración hasta llegar a cero. Una – pl]
(27)
• El ganador se lleva la mayor parte27: uno de los problemas que aparece en el En inglés, WTM: winner-ta-
ke-most.
Vector Quantization es que se pueden obtener prototipos que no tienen
ningún objeto asociado (este problema, de hecho, ya lo hemos comentado
para el C-Means, en el que también aparece). Eso sucede cuando la asigna-
ción inicial del prototipo (o bien a causa de una adaptación posterior) lo
hace quedar lejos de los datos, de manera que a partir de aquel momento
nunca se selecciona por los objetos como más próximo. Un esquema al-
ternativo es que todos los prototipos se modifiquen en cada iteración, y se
juntan proporcionalmente a una función que representa la contribución
del prototipo a la competición. Sin embargo, esta modificación, en la que
todos los objetos actúan sobre todos los prototipos, puede provocar que
todos estén sesgados hacia la media global de todas las categorías.
Este último esquema de aprendizaje se utiliza en el marco del Learning Vector Ved también
Quantization.
Un algoritmo de aprendizaje
supervisado que veremos en el
3.2.4. Mapas autoorganizativos subapartado 3.1.2.
(28)
Los mapas autoorganizativos28 son una extensión del algorimo Vector Quan- En inglés, self-organizing maps,
SOM.
tization. La idea es que ahora las neuronas no son entidades aisladas, sino
que están organizadas en una estructura. Por ejemplo, pueden estar organiza-
das en una estructura unidimensional o bidimensional. Entonces, igual que
en el caso del Vector Quantization, se selecciona la neurona más próxima y
el prototipo correspondiente se modifica. Pero ahora, además de modificar la
neurona más próxima, también se modifican las neuronas vecinas a la más
próxima. Aquí, el significado de las neuronas próximas está determinado por
la arquitectura de la red (su topología).
Aquí hemos presentado los SOM como un método que construye particiones
de los objetos. Sin embargo, también se pueden ver como unos métodos para
reducir la dimensionalidad de los datos y para visualizarlos en menos dimen-
siones, ya que las relaciones de semejanzas en el espacio original (un espacio
de dimensión M) se reducen en el espacio de la arquitectura (dos dimensiones,
en las arquitecturas que hemos utilizado aquí).
Hasta ahora hemos visto métodos de categorización partitivos donde las ca-
tegorías que se construyen son o bien particiones, o bien particiones difusas.
Hemos comentado que una alternativa es definir una estructura con las cate-
gorías. Normalmente, se considera una estructura en forma de árbol. En este
subapartado veremos algoritmos que construyen jerarquías de objetos y, por
lo tanto, definen estructuras jerárquicas (los dendrogramas) para las categorías
correspondientes.
4. Repetir los pasos 1-2 hasta que tenemos una única categoría
(29)
a)� vínculo simple29: entre las semejanzas entre la categoría y las categorías que En inglés, single linkage.
(30)
b)� vínculo completo30: como la anterior pero tomando el mínimo (máximo En inglés, complete linkage
si hablamos de distancias):
© FUOC • PID_00200713 79 Aprendizaje
(31)
c)� media aritmética31: se hace la media de las semejanzas: En inglés, arithmetic average.
Los dendrogramas que construimos con estos algoritmos se pueden ver como
representaciones estructuradas del conocimiento y, por lo tanto, los algorit-
mos de aprendizaje lo que hacen es extraer este conocimiento a partir de los
datos. Así, en estos dendrogramas tendremos que cada nodo tiene asociada
una categoría (que corresponde a un concepto) y los vínculos entre nodos co-
rresponden a relaciones "es un caso particular de" (el nodo hijo es una subcla-
se del nodo padre). Normalmente se cumplirá que un nodo cubre todas las
instancias que cubren sus hijos.
reflexiva s(x, x) = 1
conmutativa s(x, y) = s(y, x)
transitiva s(x, z) ≥ T(s(x, y), s(y, z))
Cuando disponemos de una relación con estas características, al tomar dis- Nota
tintos α-cortes obtenemos diferentes particiones del dominio. Dado que estas
Un α-corte de un conjunto di-
particiones están anidadas, nos definen una jerarquía. fuso corresponde a seleccionar
todos los elementos con fun-
ción de pertenencia mayores
A continuación, veremos este proceso con un ejemplo. Consideremos la se- que o iguales a α.
mejanza definida en la tabla siguiente sobre los objetos X = { x1, x2, x3, x4, x5 }.
x1 x2 x3 x4 x5
Semejanza transitiva
Así, para α = 1 tenemos que las relaciones que hay con grado 1 son las de un elemento
consigo mismo. Por lo tanto, la partición que se obtiene es:
{ { x1 }, { x2 }, { x3 }, { x4 }, { x5 } }
Después hacemos lo mismo con α = 0,9. Ahora vemos que los objetos x1y x3 están rela-
cionados con grado 0,9. Por lo tanto, en la nueva partición estos dos objetos tienen que
aparecer agrupados. La partición que obtenemos es:
{ { x1, x3 }, { x2 }, { x4 }, { x5 } }
Después, cuando tomamos el valor de 0,8 tenemos que x4y x5 también están relaciona-
dos. Por lo tanto, la correspondiente partición estará considerando x4y x5 en un mismo
conjunto y x3y x1 también reunidos en otro (también tienen una relación con grado ma-
yor que 0,8):
{ { x1, x3 }, { x2 }, { x4, x5 } }
A continuación, con α = 0,7 encontramos que todos los pares entre x1, x2 y x3 están
relacionados con un valor mayor que 0,7. Por lo tanto, la partición correspondiente será:
Finalmente, si consideramos α = 0,6, tenemos que todos los pares están relacionados
como mínimo con este valor. Por lo tanto, obtenemos un único conjunto en la partición:
Para que este algoritmo quede completamente determinado, hay que definir la 3. R: = S;
composición de dos relaciones. Así, cuando tenemos dos relaciones binarias R1
4. S: = R o R;
y R2 sobre un mismo conjunto X, su composición corresponde a la construc-
5. hasta que S = R
ción de una nueva relación binaria también sobre X que se define como sigue:
6. retorna S
agregación seleccionar los objetos más cercanos y como criterio para recalcular 3. para todo y ∈ X
las semejanzas el vínculo simple.
4. S(x,y) := 0;
5. para todo z ∈ X
Por lo tanto, en este caso, las técnicas difusas no ofrecen una generalización
de las técnicas nítidas. En cambio, tenemos una manera diferente de ver los 6. S(x,y) :=
max(S(x,y),
algoritmos de categorización aglomerativos.
min(R1(x,z),
R2(z,y)))
7. fpara
8. fpara
9. fpara
10. ffuncion
Lectura complementaria
(32)
Hay un tercer conjunto de métodos que están relacionados con estos dos mé- En inglés, minimum spanning
trees.
todos de categorización. Son los métodos para extraer componentes conecta-
dos de un grafo (conjunto de categorías derivadas de su árbol de expansión
mínima32.
© FUOC • PID_00200713 83 Aprendizaje
4. Aprendizaje supervisado
Notación
En este apartado utilizamos la misma notación que hemos utilizado en el apartado ante-
rior. Así, disponemos de un conjunto X de N objetos que denotamos por X = { x1, x2, ..., xN
} y cada objeto xi es evaluado en términos de los M atributos A = { A1, ..., AM }. Utilizamos
Ai(xj) para denotar el valor que toma el objeto xj para el atributo Ai, y A(xj) corresponderá
al vector (A1(xj), ..., AM(xj)). El dominio del atributo A lo denotamos por DOM(A). Cuando
el dominio de Ai es categórico, denotamos los términos por DOM(Ai) = { ai1, ai2, ..., aiR1 }.
Como ahora tratamos de aprendizaje supervisado, tenemos que conocer la clase de cada
objeto. Denotamos la clase a la que pertenece el objeto xi por g(xi). Más frecuentemente,
simplificamos g(xi) por gi.
(33)
Los métodos que describimos a continuación se basan en el hecho de que el En inglés, nearest neighbour.
espacio donde se representan los objetos está dividido entre diversas catego-
rías. En el caso del vecino más cercano33, el primer algoritmo que vemos, los
mismos ejemplos definen estas categorías. En los otros dos algoritmos descri-
tos (el Learning Vector Quantization y el basado en el C-Means) construimos
las categorías con algoritmos de categorización.
(34)
Una generalización de este método es el llamado de los k vecinos más próxi- En inglés, k-nearest neighbour
34
mos , donde en lugar de sólo tener en cuenta el objeto más próximo, se tie-
nen en cuenta los k objetos más próximos. Así, para determinar la clase de un
objeto x primero tenemos que seleccionar los k objetos más próximos. Des-
pués, para determinar la clase de x se aplica el criterio mayoritario. Es decir, la
clase de x se hace corresponder con la clase más frecuente entre los k objetos
seleccionados.
4. inicializar pkj;
5. fpara
6. fpara
7. t := 0;
8. repetir
13. t:= t+ 1
15. falgoritmo
Una vez hemos construido el modelo, podemos pasar a clasificar nuevos ob-
1. distMin := ∞;
jetos. La clasificación de los nuevos objetos se basa en determinar cuál es el
centroide más próximo. Una vez lo hemos encontrado, la clase del nuevo ob- 2. para j := 1, D
jeto coincidirá con la asignada al centroide más próximo. Así, tenemos que 3. para k := 1, c
j
calcular la semejanza para todo j = 1, D y k = 1, c entre los centroides pk y el
4. si d(x,pkj) < dist-
objeto que queremos clasificar x. Si pk
j
es el más próximo a x, entonces la clase Min entonces
que asignamos a x es cj. Eso es lo que se describe en el algoritmo siguiente: distMin := d(x,pkj);
sol := cj;
fsi;
5. fpara
6. fpara
7. retorna solo;
© FUOC • PID_00200713 86 Aprendizaje
5. fpara
Así, como el resultado de este algoritmo son c categorías para cada una de las
D clases del conjunto de ejemplos X, tendremos en total c × D centroides.
Denotamos, como en el apartado anterior, el k-ésimo centroide de la clase Cj
j
con la expresión: pk . De acuerdo con la asignación de las categorías que se ha
j
hecho en la línea cuatro del algoritmo de más arriba, está claro que pk tendrá
siempre asociada la clase Cj.
(35)
Ahora estudiaremos métodos de clasificación basados en la estadística. En par- En inglés, support vector machi-
35 nes, SVM.
ticular, veremos las máquinas de vectores desoporte , que son herramientas
para clasificar objetos descritos mediante datos numéricos que consideran só-
lo la existencia de dos clases.
© FUOC • PID_00200713 87 Aprendizaje
M
Así tenemos que (DOM(A1) × ... × DOM(AM))) = R porque los valores son nu-
méricos y como sólo consideramos dos clases, que denotamos −1 y 1, y la clase
a la que pertenece el objeto xi se denota por gi, tendremos gi ∈ { −1, 1 }.
T
Si suponemos que tenemos el hiperplano { x: f(x) = x β + β0 = 0 } en el que b
es un vector unidad (es decir, con ||β|| = 1), entonces la expresión siguiente es
una regla de clasificación inducida por f(x):
T
G(x)= signo[f(x)] = signo[x β + β 0]
Notad que aquí, y por lo que hemos dicho antes que f(x) corresponde a la dis-
tancia con signo, el producto corresponde a una distancia siempre
positiva. La restricción de que este producto sea mayor que C, obliga a que
© FUOC • PID_00200713 88 Aprendizaje
las distancias entre los objetos y el hiperplano siempre sean mayores que C.
Por lo tanto, la construcción hace que C corresponda a la distancia entre el
hiperplano y el objeto más próximo.
De hecho, se sabe que para todos β y β' que satisfagan esta desigualdad, cual-
quier múltiple positivo de las β y β' también la satisfacen (notad que si toma-
mos β'' = kβ' y β'' 0 = kβ' 0 entonces ||β''�|| = k||β||). Por lo tanto, podemos elegir
una ||β'|| arbitraria. Elegimos ||β|| = 1/C que nos permite redefinir el problema
como:
Intuitivamente, podríamos llegar a deducir que el mejor hiperplano separador podría ser
aquel que nos ofreciera unos mejores rendimientos de separación una vez nos lleguen
nuevos datos de ambas clases. Como no conocemos la distribución completa de todos
los ejemplos posibles que podemos encontrar de cada clase, podemos llegar a concluir
que el hiperplano que más nos interesa es aquel que nos deja más distancia entre cada
clase y el hiperplano separador. Coloquialmente, podríamos decir que queremos que la
separación esté “lo más en medio posible”.
© FUOC • PID_00200713 89 Aprendizaje
Con esta idea intuitiva, definiremos el concepto de margen como la distancia entre el
punto más cercano de cada clase y el hiperplano separador. A los objetos que están a
esta distancia del hiperplano los denominaremos puntos de apoyo. La figura 27 muestra
gráficamente el concepto de punto de apoyo y margen. Notad que los parámetros que
definen el hiperplano dependerán exclusivamente de estos puntos de apoyo, que son los
que en realidad determinan la frontera de separación.
Figura 27. Ejemplo de hiperplano separador, con los puntos de apoyo de cada clase
y el margen resultante
Esta condición se tiene que cumplir, como antes, para todo objeto i = 1, ..., N.
Además, se añaden restricciones sobre los valores de ξ: ∑i ξi ≤ Kξ. Esta última
condición acota el número de elementos que se pueden encontrar en el lado
incorrecto del hiperplano.
De acuerdo con eso, y siguiendo al modelo del caso sin solapamiento, tenemos
que, a partir de estas condiciones, el problema se puede formular como:
donde α = (α1, ..., αN ) son las variables del problema que corresponden a los
multiplicadores de Lagrange y la C es, como antes, un parámetro elegido por
el usuario.
(36)
Una vez resuelto el problema formulado en las ecuaciones 1 y 2, los multipli- En inglés, support vector.
cadores de Lagrange aportan información sobre los ejemplos y la relación con
el modelo. Así, tenemos que cuando αi > 0, el correspondiente punto xi se lla-
ma vector de soporte36. Hay dos tipos de vectores de soporte:
1) En un caso tenemos 0 <αi < C, que implica que el objeto xi satisface las
igualdades:
Una vez tenemos los valores para αi podemos construir la función de clasifi-
cación:
T
G(x) = signo[x β + β 0]
β = ∑i = 1, Nαi gi xi
De aquí, para aquellos puntos con α > 0 de los cuales conocemos ξi, podemos
calcular β 0.
Sin embargo, ahora, como el resto de las condiciones KKT nos dicen que para Ved también
los αi < C tenemos ξi = 0, basta tomar algún punto con 0 < αi < C para calcular la
Notad que como gi es 1 o –1,
β 0 mediante la expresión anterior. Así, para alguno de estos puntos y haciendo podemos sustituir 1/gi por gi
ξi = 0 obtenemos: en la expresión anterior.
De hecho, la consideración de expresiones no lineales para clasificar los ele- Ved también
mentos se puede ver de manera alternativa como la transformación del espa-
En el subapartado anterior he-
cio de los datos original (un espacio M dimensional, dado que consideramos mos visto el caso en el que la
M atributos numéricos) en un nuevo espacio diferente y mayor, y en la sepa- clasificación de los elementos
en dos clases se consigue me-
ración lineal de los elementos en este nuevo espacio. Así, de hecho, lo que diante un hiperplano (una rec-
ta en el caso de ejemplos con
pensamos es que tenemos una función Φ que a partir de unos valores en RM dimensión 2). A continuación,
consideramos la clasificación
retorna valores en un espacio H diferente. en dos clases cuando la sepa-
ración de los dos elementos no
es lineal.
Por lo tanto, lo que haremos para tratar los problemas no lineales es cons-
truir una función de clasificación G que clasifique linealmente en el espacio
H cuando hayamos traído los objetos de X.
T
G(x) = signo[Φ(x ) · β + β0]
d
K(xi, xj) = (1 + xi · xj)
T
β0 = ∑i: 0 <ai <C [gi − Φ(xi) β] / |{αi: 0 < αi <C}|
T
G(x) = signo[Φ(x ) · β + β0]
T T
G(x) = signo[Φ(x ) ∑i=1,N αigiΦ(xi)] + β0] = signo[[∑i=1,N αigiΦ(x ) · Φ(xi)] + β0]
La figura 28 muestra gráficamente el ejemplo donde tenemos dos clases. Notad que una
de ellas sigue una distribución circular. Para resolver el problema, no nos ha hecho falta
calcular (ni siquiera conocer) las coordenadas de los puntos en el espacio de dimensio-
nalidad superior. Basta con considerar su producto escalar37.
Los buenos resultados que se han conseguido con estos modelos explican por Lectura complementaria
qué actualmente son muy utilizados y, además, se estudian extensiones de
C.�J.�C.�Burges (1998). "A tu-
éstos. Por ejemplo, hay modelos que utilizan la lógica difusa. torial on support vector ma-
chines for pattern recogni-
tion". Data Mining and know-
4.3. Descripciones lógicas de conceptos ledge discovery (núm. 2, pág.
121-167).
donde CAi corresponde a un conjunto de valores del dominio del atributo Ai.
Por lo tanto, CAi ⊆ DOM(Ai). Así, de acuerdo con esta descripción, si un objeto
x tiene un valor para el atributo A1 que está en CA1, y un valor para el atributo
A2 que está en CA2, etc., tendremos que el ejemplo es un caso particular (es
una instancia) del concepto que describimos.
La idea que está detrás del algoritmo es considerar en todo momento un espa-
cio en el cual no sabemos si habrá ejemplos positivos o ejemplos negativos. A
medida que conocemos nuevos ejemplos, tanto si son positivos como negati-
vos, este espacio se va reduciendo. En este esquema, G es el límite superior del
espacio (el más general) y S es el límite inferior del espacio (el específico). La
inicialización del espacio corresponde a considerar que todo es desconocido.
Por lo tanto, tenemos que G engloba todo el espacio y S está vacío. De acuerdo
con eso, la descripción correspondiente a G será de la manera siguiente:
A1(x) ∈ ∅ ^ ... ^ AM ∈ ∅
El esquema que sigue el algoritmo es tomar los ejemplos de uno en uno. Cuan-
do es positivo, miramos si hay alguna descripción de S que no lo cubra. Si eso
pasa, eliminamos esta descripción de S e incorporamos a S una o más genera-
lizaciones que cubran el ejemplo. Este caso se muestra en la figura 31.
© FUOC • PID_00200713 98 Aprendizaje
Figura 32. Modificación de S y G de acuerdo con la llegada de un nuevo ejemplo positivo o negativo
Por lo tanto, los algoritmos construyen un árbol donde para cada nodo tene-
mos un concepto. Además, en cada hoja tenemos asociada una clase. En la
figura 33 se da un fragmento de árbol de decisión para la tabla del subaparta-
do 3.1.1 de algunas poblaciones. Entonces, cuando nos llega un objeto para
clasificar, repasamos el árbol desde el nodo raíz hasta un nodo hoja que, me-
© FUOC • PID_00200713 99 Aprendizaje
diante la clase asociada, nos dirá a qué clase pertenece el objeto. El proceso
para llegar a la hoja es recursivo y consiste, dado un nodo, en seleccionar el
nodo (la categoría) hijo al que pertenece el objeto, desestimando los otros.
Así, cuando recibamos una nueva población, por ejemplo Palma de Mallorca,
que no tiene metro y tiene una densidad alta, encontraremos que el árbol de
la figura 33 concluye (después de preguntar por el campo "metro" y por el de
"densidad") que no tiene industria = vino.
Figura 33. Árbol de decisión para determinar si una población tiene como industria el vino
© FUOC • PID_00200713 100 Aprendizaje
1. si hoja(nodo)
Ahora veremos cómo se construye la jerarquía. Como hay diversas maneras entonces retorna
de hacerlo, empezaremos presentando un algoritmo general. Después concre- clase(nodo)
3. selecciona hijo n
En las descripciones, si no se indica lo contrario, consideramos objetos descri- de nodo
tos únicamente con atributos nominales o ordinales.
4. fsi
5. retorna determi-
1. algoritmo construye-jerarquía (nodo, conjunto-de-instancias) es na-clase (n)
5. sino
9. fpara
16. fpara
17. fsi
18. falgoritmo
con todos los objetos que tienen un mismo valor. Por ejemplo, para el atributo
Ai tendremos Ri particiones: pj = { xk | Ai(xk) = aij } para j = 1, ..., Ri. Además, si
tenemos M atributos A = { A1, ..., AM } tendremos M particiones posibles.
j j
medida = (1/N)∑v ∈ DOM(Aj) C v
j
C v = |{ xi: xi ∈ X, Aj (xi) = v, gi = la clase más frecuente para los ejemplos con
valor v }|
j
La medida medida tiene como máximo 1 (el atributo es perfectamente discri-
minante) y mínimo 0 (el atributo no discrimina nada).
j
La selección tomará el atributo Aj con una medida máxima.
Ahora pasamos a considerar algunas de las alternativas que hay sobre árboles
de decisión.
Ved también
Para construir la descripción se consideran algoritmos de inducción de
conceptos, que normalmente construyen descripciones conjuntivas. Es- Hemos visto los algoritmos de
indicación en el subapartado
tos algoritmos, sin embargo, pueden provocar que una nueva instancia 4.3 de este módulo.
no pertenezca a ninguno de los hijos de un nodo dado y, por lo tanto,
no se pueda clasificar.
2) Otros tipos de particiones: en lugar de tener que cada hijo de un nodo con-
tiene un único valor, cada hijo contiene conjuntos de valores. Sin embargo,
considerar todos los conjuntos de valores para un atributo tiene un alto cos-
te computacional. Por ejemplo, para un atributo con cuatro valores, tenemos
que considerar las quince alternativas siguientes: {{a, b, c, d}}, {{a, b, c}, {d}}, {{a,
b, d}, {c}}, {{a, c, d}, {b}}, {{b, c, d}, {a}}, {{a, b},{c, d}}, {{a, c}, {b, d}}, {{a, d}, {b, c}},
{{a, b}, {c}, {d}}, {{a, c}, {b}, {d}}, {{a, d}, {b}, {c}}, {{b, c}, {a}, {d}}, {{b, d}, {a}, {c}}, {{c,
d}, {a}, {b}}, {{a}, {b}, {c}, {d}}. En el caso del atributo "densidad" de la tabla del
apartado 2.1.1, tendríamos que considerar, por ejemplo, {{MB}, {B}, {M}, {A},
{MA}}, {{MB, B}, {M}, {A}, {MA}}, {{MB}, {B}}, {{M}, {A}, {MA}}, etc. Evidentemente,
estas alternativas son considerando un único atributo.
En cada paso del algoritmo, tendremos que considerar todas las alternativas de
todos los atributos. Así, la selección es exponencial en cada paso en el número
medio de valores. Notad que en el esquema presentado inicialmente donde
cada nodo tiene tantos hijos como valores tiene el atributo, el coste es, en
cambio, constante, porque los hijos son fijos. Por lo tanto, las particiones con-
sideradas son tantas como los atributos (y en particular, tantas como atributos
quedan, ya que, como en cada paso se selecciona uno que ya no se vuelve a
considerar, el número de atributos va disminuyendo a lo largo de la ejecución
del algoritmo).
con cuatro valores, consideraríamos: {{a}, {b, c, d}}, {{b} ,{a, c, d}}, {{c}, {a, b, d}},
{{d}, {a, b, c}}. El coste computacional de esta opción será el producto entre el
número de atributos y el número medio de valores por atributo.
Valores 10,8 18,7 45,8 53,5 58,3 62,5 94,9 97,6 114,6 117,2 134,6
Puntos de cor- 14,75 32,25 49,65 55,9 60,4 78,7 96,25 106,1 115,9 125,9 *
te
2. encontrado := false
4. si xi ∈ C entonces
5. encontrado := true
6. si gi = clase(C) entonces
14. fsi
15. fsi
16. fpara
19. fsi
20. falgoritmo
a) el nodo hijo original, con el cual había divergencia con las clases, y
"A general underlying idea of Multistrategy task-adaptive learning (MTL) is that a lear-
ning system should by itself determine the learning strategy, i.e., the types of inferen-
ce to be employed and/or the representational paradigm that is most suitable for the
given learning task. As introduced in the Inferential Learning Theory, a learning task is
defined by three components: what information is provided to the learner (i.e., input
to the learning process), what the learner already knows that is relevant to the input
(i.e., background knowledge (BK)), and what the learner wants to learn (i.e., the goal or
goals of learning). Given an input, an MTL system analyzes its relationship to BK and
the learning goals and on the basis determines a learning strategy or a combination of
them. If an impasse occurs, a new learning task is assumed, and the learning strategy is
determined accordingly."
• El método utilizado por Adaboost: para cada ejecución del algoritmo es-
cogemos r ejemplos de manera aleatoria entre los del conjunto original.
La elección se hace de acuerdo con una distribución de probabilidad sobre
el conjunto de ejemplos que se modifica en cada paso. Así, los ejemplos
mal clasificados aumentan la probabilidad.
Una vez tenemos los diferentes conjuntos de entrenamiento C1, C2,.., Cs apli-
camos el método de aprendizaje a estos conjuntos y obtenemos s modelos Mc1,
Mc2,..., MCs. A partir de estos modelos, cuando tenemos una nueva entrada x
tenemos que determinar la salida. La salida del modelo MC que combina todos
los métodos será una combinación (mediante una función C) de los valores
que retorna cada uno de los modelos Mc1, Mc2,..., M Cs para el ejemplo x. Así,
podemos expresar MC(x) como:
MC(x) = ∑iMCi(x)/s
a cada muestra Li∈{L1, L2}. Por cada muestra i-ésima mantiene un peso Wi que
codifica “la importancia” de la muestra en el conjunto de entrenamiento.
El algoritmo del Adaboost se puede implementar de múltiples maneras, de- Ved también
pendiendo de la forma en que los pesos intervienen en la selección del clasi-
Con anterioridad hemos trata-
ficador, y especialmente en función del clasificador débil que se elija. En este do el problema de la clasifica-
apartado hemos visto el Adaboost básico, pero hay gran cantidad de variantes ción de máximo margen en el
apartado dedicado a las má-
publicadas, donde se usan clasificadores débiles más complejos, y reglas de quinas de vectores de sopor-
te, donde se buscaba el hiper-
actualización de los pesos que permiten maximizar otros criterios, como por plano que define un espacio
lo más ancho posible entre los
ejemplo la diversidad o el margen de clasificación. objetos de diferentes clases.
© FUOC • PID_00200713 110 Aprendizaje
Una vez visto el método genérico de combinación de clasificadores débiles (en- Bibliografía
semble), nos falta definir qué entendemos propiamente por clasificador débil.
Para ampliar conocimientos
Según Schapire (uno de los creadores del Adaboost), un clasificador se consi- sobre la teoría de ensembles
dera débil si tiene un rendimiento en términos de clasificación estrictamente podéis ver:
L.I.�Kuncheva;�C.J.�Whi-
superior al 0,5 (más de un 50% de ejemplos muy clasificados), siendo siempre taker (2003). “Measures of
inferior al 1 (un clasificador débil que acierta todos los ejemplos no requiere diversity in classifier en-
sembles”. Machine Learning
ninguna combinación). Hay muchas hipótesis planteadas sobre qué naturale- (núm. 51, pág. 181-207).
za tienen que tener los clasificadores débiles, a pesar de que actualmente parece
que hay un consenso bastante aceptado que indica que los clasificadores que
mejor rinden en la combinación final son aquellos que tienen unos porcen-
tajes de acierto más bajos por separado (cercanos al 0,5), siendo la diversidad
entre clasificadores el criterio básico, al mismo tiempo que obtener ensembles
robustos. Este continúa siendo actualmente un campo activo de búsqueda en
el aprendizaje automático.
Por otro lado, los creadores del AdaBoost han publicado un resultado teórico
que permite acotar el error de entrenamiento, que se rige por la fórmula:
Ejemplo
Por simplicidad hemos escogido un clasificador débil basado en umbral. Es decir, el cla-
sificador elige una característica de los datos de entrenamiento y selecciona el umbral
que minimiza el error en aquella característica. Se asigna clase 1 a la muestra si la carac-
terística es mayor que el umbral (y 0 cuando no lo es). Observad que este clasificador
nos dará siempre un porcentaje de clasificación superior al 50%; en caso contrario, sólo
tenemos que dar la vuelta al umbral.
Para ilustrar el funcionamiento del método, hemos añadido un círculo negro a los pun-
tos que tienen un peso alto en esta iteración (con un historial largo de clasificación in-
correcta).
© FUOC • PID_00200713 112 Aprendizaje
se usa una regla sencilla de votación por mayoría, a pesar de que, si tenemos
clasificadores parciales que generan una determinada probabilidad, podemos
establecer criterios probabilísticos más complejos. El algoritmo completo se
muestra a continuación:
Los algoritmos de bagging, a pesar de ser menos sofisticados que los de boos-
ting, son especialmente recomendables cuando el conjunto de entrenamiento
contiene muestras mal etiquetadas (outliers). Si en medio de la nube de puntos
de una clase tenemos una muestra errónea, esta afectará sólo a algunos de los
clasificadores (aquellos donde aparezca en el correspondiente sampling), sien-
do neutra para la mayor parte de clasificadores parciales.
Ejemplo
Figura 44. Muestras del conjunto de test, donde se han marcado los ejemplos mal
clasificados en la clase de los puntos
Para realizar la clasificación, usaremos el algoritmo del vecino más cercano. Por cada
muestra de test, buscaremos en el conjunto de entrenamiento cuál es la muestra más
cercana y asignaremos a la muestra de test la etiqueta de este vecino más cercano.
El objetivo es, pues, aplicar técnicas de bagging que permitan hacer una combinación de
clasificadores que aísle estos outliers y elimine su influencia. Aplicaremos un total de 100
iteraciones, que realizarán 100 muestreos aleatorios del conjunto de entrenamiento. A
continuación mostramos algunos de estos conjuntos:
© FUOC • PID_00200713 116 Aprendizaje
Observad que la presencia de outliers se ve repartida en cada iteración, siendo muy difícil
que una muestra mal etiquetada haga “equivocar” a la mayoría de los clasificadores.
Los RSM son útiles en problemas donde hay pocas muestras y estas se encuen-
tran integradas en un espacio de alta dimensionalidad, o bien en problemas
de alta dimensionalidad donde hay mucha redundancia en los atributos o ca-
racterísticas.
Cada clasificador débil genera una decisión sobre la etiqueta de cada muestra
y esta etiqueta es concatenada o apilada (stacked) a continuación de los datos,
llegando a ser un atributo más. Los detalles del algoritmo los podemos encon-
trar a continuación:
© FUOC • PID_00200713 118 Aprendizaje
Una red neuronal se representa mediante un grafo en el que los nodos son Redes no supervisadas
unidades de computación (neuronas) y los arcos representan flujos de infor-
Existen redes, como el Self Or-
mación entre las unidades (conexiones entre neuronas). Los arcos tienen aso- ganizing Maps de T. Kohonen,
ciados pesos que representan el grado de conexión/influencia entre dos neu- en las que no se dan parejas,
sino sólo un conjunto de obje-
ronas y las neuronas tienen asociadas funciones que se denominan funciones tos y la red los relaciona. Se di-
ce que estas redes son no su-
de activación que indican en qué medida se propaga una inferencia hacia la pervisadas porque no se da el
resultado.
salida. Esta estructura se utiliza para construir aproximaciones de funciones.
Esto es, para un conjunto de pares (xi, yi) se define una arquitectura de red y
© FUOC • PID_00200713 119 Aprendizaje
una asignación de pesos a las conexiones entre unidades de manera que cuan-
do se aplica la red al elemento xk, el resultado de la red (lo representaremos
por XN(xk)) es parecido a yk.
A veces, las neuronas, además de estar influenciadas por las entradas tienen un
valor que sesga el resultado. Utilizaremos θ para representar este valor. En la
figura 47 c se da una neurona con sesgo. En este caso la salida se calcula como:
Figura 47
Esto significa que si tenemos una función φ real continúa en el cubo unidad
N N
de R (φ: [0,1] → [0,1]), entonces para todo ε existe una red neuronal XN (del
tipo de retropropagación con una única capa oculta) que satisface:
sup|φ(x)–XN(x)|<ε
con una red de N entradas, una capa oculta donde las funciones de activación
son sigmoides f(x) = 1/(1 + e-x) y una única neurona de salida que tiene como
función de activación la función lineal φ(x) = x.
Aunque este teorema es sólo de existencia (y por lo tanto no dice nada sobre
la dimensión en la capa oculta) es importante porque significa que siempre
podremos encontrar una red que resulte lo suficientemente precisa.
(38)
En la actualidad, se consideran muchas estructuras diferentes para redes neu- En inglés, backpropagation.
ronales y existen distintos mecanismos para determinar los pesos de una red.
A continuación se presenta el algoritmo de retropropagación38.
Figura 48
(39)
Como se ha dicho, este proceso de dos pasos se realiza para cada uno de los En inglés, epoch.
ejemplos de los que se dispone, y efectuando tantas veces los ejemplos como
es necesario para que el error (la divergencia entre lo que esperamos y lo que
da realmente) sea suficientemente pequeño. A una iteración para el conjunto
de todos los ejemplos se le denomina época39.
conexiones sólo son permitidas entre un nivel y el siguiente. No se permiten, Una conexión de retroalimen-
así, ni conexiones de retroalimentación, ni conexiones que salten niveles. La tación se da cuando la salida
de una neurona se utiliza co-
estructura de la red que utilizaremos es la de la figura 48. mo entrada en un nivel ante-
rior. De esta manera, la red se
ve afectada por los cálculos
previos. La figura 47 a presen-
La red tiene un primer nivel con las neuronas de entrada. Como los ejemplos ta retroalimentación.
los suponemos de dimensión N(N variables o valores), este nivel contará con
N neuronas. El segundo nivel está formado por L neuronas. Al ser un nivel
intermedio en el que no se reciben variables del exterior ni tampoco se dan
resultados, le denominaremos nivel oculto. Este nivel recibirá las conexiones
con el nivel de entrada (recibirá las entradas) y propagará los resultados al
tercer nivel. Este último nivel, que es el de salida, está formado por M neuronas.
Las neuronas de este nivel recibirán como entradas las salidas del nivel oculto
y los resultados corresponden ya a la salida de la red.
Por lo que respecta al nivel oculto, tendremos que los pesos de las conexiones
h h
entre este nivel y el anterior se denotarán p ji (1 ≤ j ≤ L, 1 ≤ i ≤ N). p ji es el peso
de la conexión entre la i-ésima neurona del nivel 1 y la j-ésima neurona del
h
nivel 2. Utilizaremos θ j para referirnos al sesgo de la j-ésima neurona de nivel
h h h
2. acc j será la acumulación de todas las entradas de la neurona y f j(acc j) será la
h
salida. Aquí f j es la función de activación de la j-ésima neurona. Utilizaremos
también sj para denotar esta expresión. Por lo tanto:
0
En el nivel de salida se utiliza una notación parecida. p kj serán los pesos entre
la neurona j del nivel oculto y la k del último nivel. θ0k será el sesgo. Lo acu-
mulado de este nivel es acc0k y la salida f0k(acc0k). De manera similar a antes,
f0k es la función de activación de la neurona k-ésima. 0k se utilizará también
para denotar esta expresión. Por lo tanto,
© FUOC • PID_00200713 123 Aprendizaje
2
E = (1/2)∑k = 1, M(yk – ok)
Figura 49
Para determinar la cantidad que se debe modificar cada peso, hemos de calcu-
lar el gradiente correspondiente a cada peso. Empezamos por el gradiente de
los pesos que conectan el nivel oculto con la salida (los pesos p0kj). Derivamos:
© FUOC • PID_00200713 124 Aprendizaje
0
Así pues, definimos el incremento de p kj como:
0
Una vez determinada la modificación de los pesos p kj pasamos a la de los pesos
h h h
donde, como sj = f j(∑i = 1, Np jixi + θ j), entonces
h h
Sustituyendo ∂sj/∂p ji en ∂E/∂p ji obtenemos:
h
lo tanto, ∂E/∂p ji se puede expresar como:
h
Así, definimos el incremento del peso Δp ji como:
© FUOC • PID_00200713 125 Aprendizaje
h' h
Como f j(acc j)xi no depende de k, podemos sacar esto fuera del sumatorio:
Así, dados los pesos en la iteración t, los pesos de la iteración siguiente serán:
Se puede ver aquí que la modificación de los pesos de la capa oculta depende
de todos los términos de error en la capa de salida. Por ello se dice que los
errores se propagan hacia atrás, y el método se denomina de retropropagación.
En este esquema que hemos presentado aquí, existen algunos aspectos que se
han dejado de lado. Los consideramos a continuación:
h
c)�Las�funciones�f0k�i�f j: para el algoritmo que hemos presentado necesitare-
mos una función que sea derivable. Podemos utilizar en este caso la función
sigmoide f(x) = 1/(1 + e-x) o la función identidad f(x) = x. La primera tiene
como derivada f'(x) = e-x/(1 + e-x)2 = f(x)(1 − f(x)). La segunda tiene derivada
constante f'(x) = 1.
© FUOC • PID_00200713 126 Aprendizaje
Así, las redes aproximarán los ejemplos a partir de los cuales se ha construido.
Además, aparte de aproximarlos, también los pueden generalizar. Esto permite
aplicar las redes a situaciones que no corresponden exactamente a las aprendi-
das. Esta construcción de un modelo general a partir de ejemplos provoca que
los sistemas sean tolerantes a errores en la entrada de los datos (variaciones
pequeñas en las entradas a causa de un error no hacen variar mucho la salida).
De todos modos, el hecho de tener el conocimiento repartido por toda la red Las redes neuronales
constituye también una desventaja porque los pesos no son interpretables. difusas
Por lo que no podemos saber qué es lo que hay representado en una red. Son, Para poder interpretar mejor
lo que se dice, un modelo de caja negra. Esto dificulta la definición inicial una red y también para inicia-
lizarla utilizando conocimien-
del modelo (no permite introducir conocimiento a priori) y las modificaciones to a priori, se pueden utilizar
las redes neuronales difusas. En
posteriores una vez la red ya se ha construido (no permite incluir nuevo co- estas redes las neuronas corres-
ponden a operaciones de lógi-
nocimiento).
ca difusa, y la red en conjunto
corresponde aproximadamen-
te a un conjunto de reglas di-
Por otra parte, los teoremas de representación aseguran que las redes son apro- fusas.
ximadores universales, pero no nos dicen cómo se deben construir estos apro-
ximadores universales. Para construir el modelo, debemos elegir la arquitectu-
ra (qué neuronas hay y cómo se encuentran conectadas) y sus parámetros (en
la red que hemos presentado son el número de neuronas en la capa oculta, los
parámetros de aprendizaje η y las funciones). Estas elecciones resultan muy
© FUOC • PID_00200713 127 Aprendizaje
(40)
En los métodos de aprendizaje considerados en los apartados de aprendizaje En inglés, knowledge modelling.
supervisado y no supervisado no hemos considerado en ningún momento la
existencia de conocimiento sobre el dominio de la aplicación. Así, en todos
los métodos que hemos visto, el algoritmo parte de un conjunto de ejemplos
(por el cual se conoce la clase o no se conoce), y a partir de estos ejemplos
se construye un modelo. Además, los métodos vistos se han considerado de
manera independiente a los sistemas basados en el conocimiento. Así, lo que
hemos visto corresponde a métodos para el proceso de modelización del co-
40
nocimiento más que a técnicas para incrementar la eficiencia del sistema.
(41)
El campo de la programación lógica inductiva41 estudia métodos que pertene- En inglés, inductive logic pro-
gramming, ILP.
cen a la primera familia. Los sistemas de razonamiento basado en casos y los
macrooperadores caen en la segunda familia. También caen en este segundo
grupo las arquitecturas integradas. A continuación repasaremos brevemente
estos últimos sistemas y en el subapartado 4.1 introduciremos la programa-
ción lógica inductiva.
• Sistemas de razonamiento basado en casos (SBC): un SBC construye una Ved también
solución a partir de un conjunto de casos que están en la base de casos.
Podéis ver el apartado "Siste-
El sistema selecciona aquél o aquéllos más relevantes para el problema en mas de razonamiento basado
curso (utilizando a menudo conocimiento de dominio) y adaptándolo, si en casos" de la asignatura Inte-
ligencia artificial.
es necesario (utilizando conocimiento, por ejemplo, en forma de reglas).
Así, el aprendizaje en estos sistemas utiliza tanto el conocimiento sobre el
dominio (para determinar qué casos son relevantes para resolver un pro-
blema o cómo adaptar un caso almacenado) como los casos de la base de
casos.
(42)
Los sistemas de programación lógica inductiva42 construyen modelos a partir En inglés, inductive logic pro-
gramming, ILP.
de ejemplos, a pesar de tratar de superar algunos de los problemas que aparecen
en los métodos de aprendizaje inductivo. En particular, intentan encontrar
soluciones para los problemas siguientes:
• Representación limitada: los métodos inductivos sólo permiten construir Lectura complementaria
modelos con expresiones equivalentes al cálculo proposicional. Por lo tan-
La descripción de la progra-
to, los modelos que se construyen no permiten representar proposiciones mación lógica inductiva está
de la lógica de primer orden. basada en:
S.�Muggleton. "Inductive
Logic Programming". En:
S. Muggleton (ed.) (1992).
Inductive logic programming
• No se permite considerar conocimiento previo sobre el dominio del siste- (pág. 3-27). Academic Press.
ma (background knowledge): los sistemas no permiten iniciar el aprendizaje
teniendo en cuenta un cierto conocimiento previo. Todo el conocimien-
to que se tiene que aprender se tiene que encontrar en los ejemplos que
se suministran en el método. Las alternativas como los macrooperadores,
en cambio, no permiten incorporar conocimiento nuevo de ningún tipo,
dado que la única cosa que hacen es incorporar una reelaboración de un
conocimiento que ya es conocido por el sistema.
© FUOC • PID_00200713 130 Aprendizaje
A continuación, veamos un ejemplo con algunos resultados sencillos que pue- Lectura complementaria
den conseguir estos sistemas. El problema consiste en encontrar los predicados
El ejemplo de programación
del lenguaje lógico PROLOG que permiten definir el algoritmo de ordenación lógica inductiva se ha extraí-
quicksort. do de:
S.�Muggleton;�C.�Feng. "Ef-
ficient Induction of Logic
Para definir el problema necesitamos el conocimiento previo K y el conjunto Programs". En: S. Muggleton
(ed.) (1992). Inductive logic
de ejemplos positivos E+ y negativos E–. A continuación definimos estos ele- programming (pág. 281-298).
Academic Press.
mentos:
© FUOC • PID_00200713 131 Aprendizaje
Conocimiento�previo:
partition(X,[],[],[]).
lte(Head, X),
gt(Head, X),
append([],List,List).
lte(0,0).
lte(0,1).
...
gt(1,0).
gt(2,0).
gt(2,1).
...
append([1,6,2],[5,3,4], [1,6,2,5,3,4])
(43)
se evalúa en cierto. La definición del conocimiento a priori también incluye los En inglés, lte: less than or equal.
predicados "lte" y "gt". El primero define cuándo un valor numérico es menor
(44)
o igual43 a otro (0 igual a 0, 0 menor que 1...) y el segundo define cuándo un En inglés, gt: greater than.
Ejemplos�negativos:
qsort([1,0],[1,0]).
...
qsort(E, H),
El primer quicksort presentado corresponde a la implementación más típica.
append(H, [A|G], [C|
Así, cuando tenemos la lista formada por un elemento A y una cola B, lo que D]).
hacemos es dividir los elementos de B entre los que son más pequeños o iguales
que A y los que son mayores. En el predicado definido más arriba, la partición
la hace, evidentemente, el predicado "particiona". Una vez tenemos la lista qsort([A|B], [C|D]):-
de los valores pequeños (inferiores o iguales que A) y la de los valores grandes
qsort(B,E),
(mayores que A), los tenemos que ordenar (eso lo hace la llamada recursiva
partition(A,E,F,G),
a los "qsort"). Una vez están ordenados estos dos conjuntos, sabemos que la
lista ordenada tiene que coincidir con la concatenación de las dos listas H y G append(F[A|G],[C|
D]).
con el elemento A (el que hemos utilizado para partir).
Actividades
1. Construid una categorización de la tabla del ejercicio anterior tomando sólo los dos atri-
butos numéricos "población" y "superficie", y utilizad el algoritmo C-Means. Tomad c = 3 e
inicializad las categorías con los centroides siguientes:
Describid los pasos que se harán a continuación. Nota: Utilizad los datos de las tablas nor-
malizadas.
2. Considerad la tabla de semejanzas sobre X = { x1, x2, x3, x4, x5 } del subapartado 3.3.2 (que
volvemos a reproducir). Calculad el dendrograma que resulte con el método aglomerativo
cuando utilizamos como criterio de agregación la selección de los objetos más próximos y
como criterio para recalcular la semejanza la media aritmética.
x1 x2 x3 x4 x5
Semejanza transitiva
Ejercicios de autoevaluación
© FUOC • PID_00200713 134 Aprendizaje
1. Considerad la tabla de semejanzas sobre X = { x1, x2, x3, x4, x5 } del subapartado 3.3.2 (la
volvemos a reproducir aquí). Calculad el dendrograma que resulte con el método aglomera-
tivo cuando utilizamos como criterio de agregación la selección de los objetos más próximos
y como criterio para recalcular, la semejanza del vínculo simple.
x1 x2 x3 x4 x5
Semejanza transitiva
Valencia A sí ¬IB
Barcelona MA sí ¬IB
Inca B calzado no IB
Maón B juguetes no IB
Algunas poblaciones
© FUOC • PID_00200713 135 Aprendizaje
Solucionario
1. Para construir la solución tenemos que proceder de acuerdo con los pasos siguientes:
b) Selección de las categorías. Las categorías más próximas son x1y x3 porque su semejanza
es 0,9.
c) Tenemos que modificar la matriz de semejanzas y eliminar x1y x3, y tenemos que añadir la
nueva categoría. Llamamos a esta categoría x13. Para calcular la nueva semejanza utilizamos
el vínculo simple. Eso quiere decir que la semejanza entre las categorías xi y la nueva categoría
x13 es la mayor de las semejanzas s(xi,x1) y s(xi,x3):
x13 x2 x4 x5
d) Ahora tenemos que volver a hacer una selección de los objetos más próximos. Seleccio-
namos x4 y x5 porque tienen una semejanza de 0,8.
e) Tan pronto como tenemos el par {x4, x5} tenemos que modificar la matriz de semejanzas.
Debemos añadir la nueva categoría, que denotamos x45, y eliminar tanto x4 como x5. A con-
tinuación, calculamos s(xi,x45) de acuerdo con:
s(xi,x45) = max(s(xi,x4),s(xi,x5))
x13 x2 x45
x2 0,7 1 0,6
f) Volvemos al paso de seleccionar los objetos más próximos. Son la categoría x13 y el objeto
x2, ya que tienen una semejanza de 0,7 y es la mayor.
x123 x45
x123 1 0,6
x45 0,6 1
h) En el momento en que obtengamos una matriz con dos categorías, podemos pasar a definir
la raíz del dendrograma. Eso lo conseguimos uniendo x123 y x45. Una vez hemos unido estas
categorías, podemos dibujar el dendrograma. Es el que aparece en la figura 25. Se puede
observar que este dendrograma es el mismo que obtenemos con el método basado en la
clausura transitiva (ved figura del subapartado 3.3.2). Este resultado concuerda con lo que
habíamos comentado sobre el método basado en la clausura transitiva y su equivalencia con
el algoritmo aglomerativo cuando tomamos como criterio de agregación el de seleccionar los
objetos más próximos, y como criterio para recalcular las semejanzas el vínculo simple.
Figura 25
a) Como el conjunto de ejemplos inicial no está vacío y, además, hay elementos de las dos
clases, tenemos que pasar a generar las particiones del conjunto de instancias. Así, en el caso
del atributo "densidad" tenemos la partición siguiente: {{l'Alcora, Castalla, Talteüll}, {Inca, Ibi,
Sant Sadurní, Maón}, {Elda, Almussafes}, {Valencia}, {Barcelona}}. Para el atributo "industria",
la partición que obtenemos es: {{l'Alcora}, {Inca, Elda}, {Almussafes}, {Castalla, Ibi}, {Sant Sa-
durní d'Anoia, Talteüll}, {Maón}}. En el caso del atribut "metro" obtenemos {{Valencia, Barce-
lona}, {l'Alcora, Inca, Elda, Almussafes, Castalla, Ibi, Sant Sadurní d'Anoia, Talteüll, Maón}}.
b) A continuación, tenemos que seleccionar la mejor partición. Por lo tanto, tenemos que
calcular la medida para cada atributo. Los resultados que obtenemos son:
De acuerdo con las medidas y con la elección del atributo con una medida mayor, seleccio-
namos el atributo "industria".
c) Ahora tenemos que hacer una llamada recursiva para cada valor del atributo "industria".
Eso corresponde a hacer seis llamadas recursivas. Pasamos los objetos con valores descono-
cidos a cada nodo hijo. Así, hacemos una llamada con {l'Alcora, Valencia, Barcelona}, otra
llamada con {Inca, Elda, Valencia, Barcelona}. También hacemos llamadas con {Almussafes,
Valencia, Barcelona}, {Castalla, Ibi, Valencia, Barcelona}, {Sant Sadurní d'Anoia, Talteüll, Va-
lencia, Barcelona} y con {Maón, Valencia, Barcelona}. Cuando hacemos las llamadas, para
la mayoría de los casos la recursión acaba por comprobar que todos los objetos están en la
misma categoría ¬IB y, por lo tanto, asignar esta categoría en el nodo. Sólo para las llama-
das {Inca, Elda, Valencia, Barcelona} y {Maón, Valencia, Barcelona} la recursión entra en la
rama para generar las particiones. Ahora hemos de considerar las particiones de los atributos
"densidad" y "metro". En el primer caso el atributo que seleccionaremos será "densidad". En
el segundo caso, como los dos atributos "metro" y "densidad" nos discriminan perfectamente
la clase IB, cualquiera de los dos es adecuado para construir el árbol.
© FUOC • PID_00200713 137 Aprendizaje
Glosario
aprendizaje deductivo m Problema de aprendizaje que consiste en mejorar el conoci-
miento de manera que sea más fácil o más eficiente de utilizar. No hay incorporación de
nuevo conocimiento, sino sólo reelaboración de conocimiento ya incluido en el sistema.
Bibliografía
Bibliografía básica
Hastie, T.; Tibshirani, R.; Friedman, J. (2001). The elements of statistical learning. Nueva
York: Springer.
Langley, P.
Bibliografía complementaria
Hernández Ovallo, J.; Ramírez Quintana, M. J.; Ferri Ramírez, C. (2004). Introduc-
ción a la minería de datos. Madrid: Pearson Prentice-Hall.
Miyamoto, S.; Umayahara, K. (2000). ìMethods in hard and fuzzy clusteringî. En: Z.-Liu;
S. Miyamoto (ed.). Soft computing and human-centered machines (pág. 85-129). Tokyo: Springer.