Está en la página 1de 7

Universidad Tecnológica de Panamá

Facultad de Ingeniería en Sistemas Computacionales


Licenciatura de Ingeniería en Sistemas y Computación

Tópicos Especiales II

Asignación #1
Ensambles de Clasificadores

Profesor
José Carlos Rangel

Nombre:
Katherine Lorenzo 8-881-348

Grupo 1IL151

Jueves 12 de abril de 2018


Ensambles de Clasificadores

 Bagging: Uno de los problemas más habituales a la hora de establecer un


clasificador para un conjunto de datos es el tamaño limitado del conjunto de
ejemplos de entrenamiento. Aunque este problema afecte especialmente a los
métodos paramétricos supone un reto para cualquier clasificador. Cuanto más
pequeño sea el conjunto de datos disponibles menos seguro se puede estar de que
este conjunto represente fielmente a la población total. En general los clasificadores
construidos en conjuntos pequeños pueden estar sesgados y presentarán una
elevada varianza en la probabilidad de clasificación errónea. Se dice en este caso
que el clasificador es inestable. En muchos casos no se puede disponer de más
observaciones y por tanto el conjunto de entrenamiento está limitado. Existen
diversas técnicas que intentan obtener clasificadores más estables y actualmente
este es uno de los campos de investigación abiertos en el ámbito de sistemas de
clasificación.
Una posible solución es utilizar el sistema Bagging (Bootstrapping and
aggregating). De igual forma que la estimación bootstrap de los parámetros de la
distribución de los datos es más precisa y robusta que la estimación tradicional, se
puede pensar en el uso de ésta técnica para conseguir, una vez combinado, un
clasificador con mejores propiedades.
Bagging fue propuesto por Breiman en 1996 y se basa en los métodos de
bootstrapping y de agregación. Tanto los métodos de bootstrapping como los de
agregación presentan propiedades beneficiosas. Bootstrapping consiste en obtener
muestras aleatorias con reemplazamiento de igual tamaño que el conjunto original.
Partiendo del conjunto de entrenamiento X= (X1, X2, ...., Xn), mediante la extracción
aleatoria con reemplazamiento con el mismo número de elementos que el conjunto
original de n elementos, se obtienen B muestras bootstrap Xb = (X1 b , X2 b , ....,
Xn b ) 12 (1) donde b=1, 2,.., B. En algunas de estas muestras se habrá eliminado
o al menos reducido la presencia de observaciones ruidosas, por lo que el
clasificador construido en ese conjunto presentará un mejor comportamiento que el
clasificador construido en el conjunto original. Así pues, Bagging puede ser útil para
construir un mejor clasificador cuando el conjunto de entrenamiento presente
observaciones ruidosas.
En concreto el método Bagging se aplica del siguiente modo:
1. Repetir para b=1, 2,…,B
a) Realizar una réplica bootstrap Xb del conjunto de entrenamiento X.
b) Construir un clasificador sencillo Cb(x) en Xb (con frontera de decisión igual a
Cb(x)=0)
2. Combinar los clasificadores básicos Cb(x), b=1,2,...B usando el voto mayoritario
(la clase predicha más frecuente) en la regla de decisión final.

Otra posibilidad es promediar los coeficientes de los clasificadores básicos, para lo


que se utiliza la función promedio, presenta las siguientes ventajas, en primer lugar,
no es necesario retener todos los resultados de la clasificación, sólo los coeficientes.
En segundo lugar, obtiene un único clasificador con el mismo número de parámetros
que los clasificadores básicos.
Las diferentes versiones del bagging han sido estudiadas por varios investigadores,
aunque quizás con más frecuencia en el ámbito de la regresión. En Breiman (1996)
se muestra que bagging puede reducir el error tanto de regresión como de
clasificación en los árboles de decisión. Aunque según este autor bagging es
beneficioso para clasificadores inestables únicamente. Mientras que para
procedimientos estables puede incluso llegar a perjudicar el comportamiento del
clasificador. Por ejemplo, para el método de clasificación del vecino más próximo.
Skurichina (2001) defiende que la estabilidad de los clasificadores lineales depende
del tamaño del conjunto de entrenamiento. Por lo tanto, no se podría decir que
bagging no es útil para un determinado clasificador de forma general, sino que
dependerá de la aplicación concreta a la que se enfrente.
 Voting: La votación simple y la ponderada son dos de los métodos más sencillos
para combinar no solo modelos heterogéneos, sino también homogéneos. En la
votación cada modelo predice una clase (o un rango de clases, o una probabilidad
de distribución) y la clase que más votos obtenga (o el mayor rango promedio, o
probabilidad promedio) es la propuesta por el conjunto. En la votación ponderada,
las clasificaciones de los modelos no son tratados de la misma forma. En este caso,
cada modelo es asociado con un coeficiente (peso), usualmente proporcional a la
precisión de su clasificación. Existen muchos tipos de votación ponderada cuya
principal diferencia consiste en la forma en que son obtenidos los pesos.
Majority Voting: Cada modelo hace una predicción (votos) para cada instancia de
prueba y la predicción de salida final es la que recibe más de la mitad de los votos.
Si ninguna de las predicciones obtiene más de la mitad de los votos, podemos decir
que el método de conjunto no pudo hacer una predicción estable para esta instancia.
Aunque esta es una técnica ampliamente utilizada, puede intentar la predicción más
votada (incluso si es menos de la mitad de los votos) como predicción final. En
algunos artículos, puede ver que este método se denomina "votación por pluralidad".
Weighted voting: A diferencia de la votación mayoritaria, donde cada modelo tiene
los mismos derechos, podemos aumentar la importancia de uno o más modelos. En
la votación ponderada, cuenta la predicción de los mejores modelos varias veces.
Encontrar un conjunto razonable de pesos depende de usted.
Un sistema de votación ponderado es uno en el cual los participantes tienen
diferentes números de votos. Uno de los ejemplos más comunes de un sistema de
votación ponderado es el Colegio Electoral de EE. UU. Bajo el sistema del Colegio
Electoral, el número de votos para cada estado se basa en la población de ese
estado. California, uno de los estados más populosos, puede emitir 54 votos
electorales, mientras que Alaska solo puede emitir 3 votos.
El "poder" de un participante en un sistema de votación ponderado se puede definir
como la capacidad de ese participante para influir en una decisión.
Este tipo de sistema electoral se utiliza en las juntas de accionistas, donde los votos
se ponderan por el número de acciones que posee cada accionista. Otro ejemplo es
el consejo europeo, donde el número de votos de cada estado miembro es
proporcional al tamaño de la población de ese estado.

 AdaBoost: es un meta-algoritmo de aprendizaje automático basado en la idea de


que contar con un grupo de expertos para tomar decisiones es mejor que tener uno
solo. Al grupo de expertos se le conoce como ensamble y éste representa un
clasificador fuerte, es decir, un clasificador con una precisión muy buena. Por su
parte, a los expertos que conforman el ensamble se les denomina clasificadores
débiles, es decir, clasificadores con una precisión menor.
El nombre de este meta-algoritmo proviene de la abreviación de adaptive boosting
y hace referencia a una estrategia de ponderar de manera diferente a cada uno de
los ejemplos, durante el entrenamiento. Aquellos ejemplos que fueron clasificados
incorrectamente en una iteración, reciben una ponderación más alta en la siguiente
iteración. Por el contrario, los ejemplos que fueron clasificados correctamente en
esa iteración, recibirán menos importancia en la siguiente. Esta estrategia permite
que AdaBoost se enfoque, iteración tras iteración, en aquellos ejemplos que aún no
han sido clasificados correctamente por el ensamble de clasificadores débiles.
Para explicar un poco el funcionamiento de AdaBoost consideremos el siguiente
problema de clasificación binaria con 10 ejemplos de entrenamiento, 5 positivos y 5
negativos.

En la figura 1 podemos observar que los ejemplos de entrenamiento pertenecen a


un problema en dimensión dos, es decir, ejemplos que podemos colocar en un
plano. Sin embargo, AdaBoost es suficientemente general como para funcionar en
dimensiones mayores.

En el cuadro de la izquierda de la Fig. 2 podemos ver el primer clasificador débil,


que en este caso es una recta vertical. A la derecha de la recta (zona rosada),
consideramos que todos los ejemplos son negativos, mientras que a la izquierda
(zona azul), consideramos que todos los ejemplos son positivos. Como se puede
observar, esta recta clasifica incorrectamente como negativos a tres ejemplos que
son en realidad positivos, éstos aparecen encerrados en círculos. En el cuadro de
la derecha podemos apreciar como los tres ejemplos que fueron mal clasificados
aparecen ahora de un mayor tamaño que el resto de los ejemplos. Esto simboliza
que estos ejemplos tendrán una mayor importancia al momento de seleccionar el
clasificador débil de la segunda iteración.

En el cuadro del centro de la Fig. 3 podemos apreciar el segundo clasificador débil,


que en este caso es otra recta vertical colocada más hacia la derecha. Este segundo
clasificador se equivoca también en tres ejemplos, ya que clasifica incorrectamente
tres ejemplos negativos como si fueran positivos. De nueva cuenta estos ejemplos
aparecen encerrados en círculos. En el cuadro de la derecha, en la misma Fig. 3
vemos que para la tercera iteración los ejemplos negativos mal clasificados tienen
ahora el mayor tamaño, es decir, tendrán mayor importancia en la siguiente
iteración.

En la tercera iteración el clasificador débil resultante es una recta horizontal, como


se puede observar en el cuadro de la derecha de la Fig. 4. Este clasificador se
equivoca en la clasificación de un ejemplo negativo y dos positivos, que de igual
forma aparecen encerrados en un círculo.
Finalmente, en la Fig. 5 se ilustra el clasificador fuerte que resulta de crear un
ensamble con tres clasificadores débiles. La forma en que utilizamos estos tres
clasificadores débiles es mediante una decisión por mayoría, como se explica a
continuación. Cuando deseamos clasificar un nuevo ejemplo, le preguntamos a
cada uno de nuestros tres clasificadores débiles su opinión. Si la mayoría opina que
el nuevo ejemplo es positivo, pues entonces la decisión del clasificador fuerte será
que es un ejemplo positivo. Si, por el contrario, la mayoría opina que el ejemplo en
cuestión es negativo, la opinión del clasificador fuerte será entonces que es un
ejemplo negativo. Es importante mencionar que cada clasificador débil tendrá un
error asignado durante el entrenamiento. Este error dependerá del número de
ejemplos de entrenamiento que clasificó incorrectamente. Asimismo, dependiendo
de su error asignado, cada clasificador tendrá un nivel de confianza respectivo. A
menor error, mayor será la confianza que tendremos en su opinión, y viceversa. Esto
quiere decir que, durante el cálculo de la decisión final del clasificador fuerte,
algunos clasificadores débiles tendrán mayor influencia que otros, pues su opinión
valdrá más que la opinión de los demás.
El ejemplo gráfico que aquí se usa para ilustrar el funcionamiento de AdaBoost nos
deja ver lo intuitivo de este meta-algoritmo. En general, para problemas no triviales
se requieren cientos de clasificadores débiles para lograr un desempeño mínimo
aceptable. Dependiendo del número de ejemplos de entrenamiento, el tipo de
clasificador débil y el número de ellos, el entrenamiento puede ser muy costoso
computacionalmente hablando. Es por esto que las mejores implementaciones de
AdaBoost utilizan procesamiento a través de GPUs.

También podría gustarte