Clasificación

Anuncio
Clasificación
Marta Millan
[email protected]
www.eisc.univalle.edu.co/materias
Clasificación vs. Predicción
Clasificación
Predicción de etiquetas categóricas
Clasificar los datos (construir un modelo)
basándose en un conjunto de datos de
entrenamiento y los valores de un atributo de
clasificación, y luego utilizar el modelo para
clasificar nuevos datos
Clasificación vs. Predicción
Predicción
Modelos (funciones) para variables con valores
continuos, i.e., predicción de valores
desconocidos
Aplicaciones típicas
Concesión de créditos
Campañas de marketing
Diagnósticos médicos
Clasificación
Muy similar a la experiencia de aprendizaje
humana
Utilización de la observación para formar un
modelo
Analizar un conjunto de datos para
determinar las características de los
mismos (creación de un modelo)
Clasificación
Aprendizaje supervisado
El modelo se forma a partir de datos clasificados
correctamente de antemano
Los modelos se desarrollan en dos fases
Entrenamiento
Prueba
Clasificación
Objetivo
Obtener modelos que discrimine las
instancias de entrada en diferentes clases de
equivalencia por medio de los valores de
diferentes atributos.
Y
X
Clasificación
Requisitos
Suministrar el atributo decisión o clase (label)
El conjunto de valores de este atributo debe ser finito y no
excesivamente grande
Suministrar los atributos condición
Podría requerir datos que no sean numéricos pero existen
variedades que tratan con datos numéricos
Número máximo de precondiciones
Soporte mínimo de las reglas
Clasificación
Entrada de los algoritmos
Atributos condición: Atributos usados para
describir por medio del proceso de
inducción las clases.
Atributos decisión o label: Atributos usados
para construir las clase en los métodos
supervisados (una clase por cada valor o
combinación de valores de dichos
atributos).
Clasificación
Construcción del modelo
Describir un conjunto de datos con base en una
característica
• Cada tupla pertenece a una clase predefinida
determinada por el atributo de decisión
• Se utiliza el conjunto de datos de
entrenamiento
• El modelo se representa a través de reglas de
clasificación, árboles de decisión o mediante
formulas matemáticas
Clasificación
Uso: Para clasificar objetos nuevos de los que se
desconoce su clase
Determinación de la precisión del modelo
Utiliza le modelo para clasificar el conjunto de datos de
entrenamiento y se compara el resultado con la etiqueta
original
La exactitud es el porcentaje de conjunto de datos de
prueba que son clasificados correctamente
El conjunto de datos entrenamiento y el conjunto de datos
de prueba deben de ser disjuntos, para evitar el overfitting
Clasificación
Representación del error
Matriz de Confusión
Representación en forma de tabla del número de instancias
clasificadas correctamente
Predicción
B
56
1355
A
B
Datos reales
A
1034
107
Clasificación
Construcción del modelo
Algoritmos de
clasificación
Datos de
entrenamiento
Nombre
Alberto
Maria
Nacho
Alvaro
David
Sonia
Tipo
Asociado
Asociado
Titular
Asociado
Asociado
Asociado
Años
3
7
2
7
6
3
Fijo
no
si
si
si
no
no
Clasificador
(Modelo)
IF tipo = ‘Titular’
OR años > 6
THEN fijo = ‘si’
Clasificación
Técnicas
Árboles de inducción
C4.5 y sus variantes, ID3
Muy eficientes en tiempo de proceso
Resultados intuitivos
Inducción neuronal
El resultado es una arquitectura de nodos con
pesos
Muy robustas
Clasificación
Técnicas
Técnicas simbólicas: árboles de inducción
Muy eficientes en tiempo de proceso
Resultados intuitivos
Particiones lineales
Algunos presentan problemas con variables
continuas
Clasificación
Técnicas
Redes neuronales
Sólo entrada numérica
Mas robusto
Difícil de entender la salida
Clasificación
Árboles de decisión
Árboles de decisión
La representación es en forma de árbol
Los nodos representan la verificación de una
condición sobre un atributo
Las ramas representan el valor de la condición
comprobada en el nodo del cual derivan
Los nodos hoja representan las etiquetas de
clase
Clasificación
Árboles de decisión
La construcción de los árboles de decisión en dos
fases
Construcción del árbol
• Al principio, todos las tuplas del conjunto de
entrenamiento está en la raíz
• Se dividen recursivamente con base en el atributo
seleccionado
Poda del árbol
• Identificar y eliminar las ramas que presentan ruido o
outliers
Clasificación
Árboles de decisión
Utilización de los árboles de decisión: clasificar una
muestra desconocida
Comprobar los valores de los atributos de la nueva
muestra con las condiciones del árbol y descubrir su
etiqueta de clase
Ejemplo
Datos de entrenamiento
Edad
alta
alta
alta
media
baja
baja
baja
media
baja
media
media
media
alta
media
Estudia Ratio de crédito
no
aceptable
no
excelente
no
aceptable
no
aceptable
si
aceptable
si
excelente
si
excelente
no
aceptable
si
aceptable
si
aceptable
si
excelente
no
excelente
si
aceptable
no
excelente
Compra
no
no
si
si
si
no
si
no
si
si
si
si
si
no
Ejemplo
Árbol de decisión
Edad?
overcast
30..40
<=30
Estudia?
si
no
si
no
si
>40
Ratio de crédito?
excelente
no
aceptable
si
Árbol de decisión: algoritmo
Algoritmo básico (voraz)
El árbol se construye de forma top-down recursiva utilizando
divide y vencerás
Al principio, todas las tuplas se encuentran en la raíz
Los atributos deben ser categóricos, si son valores
continuos hay que discretizarlos previamente
Las tuplas se van dividiendo recursivamente en base al
atributo seleccionado
Los atributos de condición se seleccionan en base a
heurísticas o mediante medidas estadísticas, por ejemplo,
ganancia de información
Árbol de decisión: algoritmo
Condiciones de terminación de división
Todas las muestras en un nodo pertenecen a la misma
clase
No hay más atributos para futuras particiones. Se puede
utilizar votación para clasificar el nodo hoja
No quedan más ejemplos
Ganancia de información (ID3/C4.5/C5.0)
Seleccionar el atributo con mayor ganancia de información
Si hay dos clases, P y N
Sea el conjunto de ejemplo S que contiene p elementos de
la clase P y n elementos de las clase N
La cantidad de información, que se necesita para decidir si
una muestra cualquiera de S pertenece a P o a N se define
como
I ( p, n ) = −
p
p
n
n
log 2
−
log 2
p+n
p+n p+n
p+n
Ganancia de información en árboles de
decisión
Si se utiliza un atributo A, un conjunto S se dividirá
en conjuntos {S1, S2 , …, Sv}
Si Si contiene pi ejemplos de P y ni ejemplos de N, la
entropía, o la información necesaria para clasificar objetos
en todos los subárboles Si es
pi + ni
E ( A) = ∑
I ( pi , ni )
i =1 p + n
ν
La ganancia de información de la rama A es
Gain( A) = I ( p, n) − E ( A)
Selección de atributos usando ganancia de
información
Clase P: compra = “si”
Clase N: compra = “no”
I(p, n) = I(9, 5) =0.940
Calcular la entropía para
edad:
edad
<=30
30…40
>40
pi
2
4
3
ni I(pi, ni)
3 0,971
0 0
2 0,971
E ( edad
5
4
I ( 2 ,3 ) +
I ( 4 ,0 )
14
14
5
+
I ( 3 , 2 ) = 0 . 971
14
) =
Gain(edad ) = I ( p, n) − E (edad )
Gain(ingresos ) = 0.029
Gain(estudia ) = 0.151
Gain(ratio de crédito) = 0.048
Extracción de reglas de árboles de decisión
Si condición Entonces decisión
Se crea una regla por cada camino de la raiz a las
hojas
Cada par atributo-valor a lo largo del camino
representa una conjunción
El nodo hoja representa la clase
SI edad = “<=30” Y estudiante = “no” ENTONCES
compra_pc = “no”
SI edad = “<=30” Y estudiante = “si” ENTONCES
compra_pc = “SI”
Evitar el “overfitting”
El árbol generado es posible que sea muy exacto
para el conjunto de entrenamiento
Demasiadas ramas puede significar que algunas son
debidas al ruido o a los outliers
Poca exactitud en los ejemplos no vistos
Dos enfoques para evitarlo
Prepruning
Postpruning
Enfoques para determinar el tamaño final
del árbol
Separa los datos en los conjuntos de
entrenamiento (2/3) y prueba (1/3)
Utilizar la validación cruzada e.g., la
validación 10-fold
Utilizar todos los datos para entrenamiento
Pero aplicar un test estadístico (e.g., chi-square)
para estimar si expandir o podar un nodo
Mejoras en los árboles
Permitir atributos con valores continuos
Tratamiento de valores nulos
Se definen dinámicamente los valores discretos que dividen
los valores del atributo en un conjunto discreto de intervalos
Se asigna el valor mas frecuente
Se asigna una probabilidad a cada uno de los posibles
valores
Creación de nuevos atributos que reduzcan la
repetición y la replicación
Clasificación bayesiana ¿por qué?
Aprendizaje probabilístico: Calcula hipótesis
probabilísticas explícitas y destaca entre los
enfoques mas comunes para ciertos tipos de
problemas
Incremental:Cada ejemplo puede
incrementar/decrementar la probabilidad de que
una hipótesis sea correcta.
La predicción probabilística predice múltiple
hipótesis ponderadas
Teorema de Bayes
Dado un conjunto de datos, la probabilidad
a posteriori de una hipótesis h es:
P
(
D
|
h
)
P
(
h
)
P(h | D) =
P(D)
Dificultad: requiere conocimiento inicial de
las probabilidades
Clasificador Naïve Bayes Classifier (I)
Suposición simplificada: los atributos son
condicionalmente independientes :
n
P(Cj|V) ∞ P(Cj)∏P(vi|Cj)
i=1
Reduce enormemente el costo
computacional pues solo tiene en cuenta la
distribución de la clase.
Clasificador Naive Bayes (II)
Dado un conjunto de entrenamiento se puede
calcular las probabilidades
Tiempo
soleado
cubierto
lluvia
Temperatura
calor
suave
fresco
P
2/9
4/9
3/9
2/9
4/9
3/9
N
3/5
0
2/5
2/5
2/5
1/5
Humedad P N
alta
3/9 4/5
normal
6/9 1/5
Viento
si
no
3/9 3/5
6/9 2/5
Redes Neuronales
Ventajas
La exactitud es generalmente alta
Robusto, trabaja bien incluso cuando los datos contienen
errores
La salida puede ser discreta, valor real, un vector de valores
reales
Evaluación rápida de la función aprendida
Crítica
Largo tiempo de entrenamiento
Dificultas de entender la función aprendida
Predicción de valores
similar a la clasificación
Primero construye un modelo
El modelo predice el valor desconocido
El principal método es la regresión
Regresión lineal y múltiple
Regresión no lineal
Predicción de valores
En lo que difiere de la clasificación
La clasificación predice clases de valores
categóricos
Los modelos de predicción son funciones
continuas
Algoritmos de
Predicción de Valores
Para un conjunto de atributos
condición: c1, c2, c3, ... , cn
Se pretende aproximar el atributo X
como:
X=w1 c1 + w2 c2 + w3 c3 + ... + wn cn
En otras palabras, calcular el vector de
pesos (w1, w2, w3, ... wn)
Algoritmos de Predicción de Valores
(Regresión)
X
c
Análisis de regresión
Regresión lineal: Y = α + β X
Los parámetros α y β especifican la línea y se estiman
utilizando los datos.
Regresión múltiple: Y = b0 + b1 X1 + b2 X2.
Modelos Log-linear:
La tabla de probabilidades conjunta se aproxima por el
producto de tablas de ordenes inferiores.
Probabilidad: p(a, b, c, d) = αab βacχad δbcd
Exactitud de la clasificación: estimación de
los errores
División: Entrenamiento y prueba
Validación cruzada (Cross-validation)
Conjuntos independientes (2/3), (1/3)
Se utiliza cuando se tienen muchos datos
Dividir el conjunto en K muestras
Utilizar k-1 muestras como entrenamiento y la restante como
prueba (k-fold cross-validation)
Datos con tamaño moderado
Bootstrapping (dejar uno fuera)
Datos de tamaño pequeño
Boosting y Bagging
El Boosting incrementa la exactitud de la
clasificación
Aplicable a los árboles de decisión o a los Clasificadores
Bayesianos
Se entrenan distintos clasificadores y cada uno
aprende de su predecesor
Bagging: entrenamiento donde se van eligiendo k
elementos con reemplazamiento. Se puede utilizar
en la predicción numérica
Resumen
La clasificación es posiblemente una de las
técnicas mas usada
Dependiendo del tipo de datos y del tipo de
la variable a estimar así se eligen las
técnicas
Conviene entrenar los datos con distintas
técnicas
Descargar