inteligencia artificial técnicas de clasificación · concepto • el objetivo de la...
TRANSCRIPT
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Inteligencia Artificial
Técnicas de clasificación
Prof. Dra. Silvia Schiaffino
ISISTAN - CONICET
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Clasificación: Agenda
• Concepto
– Clasificación
– Predicción
– Evaluación
• Árboles de Decisión
– Construcción
– Uso
– Poda
• Clasificador Bayesiano
• Ejemplos
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Supervisado vs. No Supervisado
• Aprendizaje Supervisado: Clasificación
– Conocemos las clases y el número de clases
• Aprendizaje No Supervisado: Clustering
– No conocemos las clases y podemos no conocer
el número de clases
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Concepto
• El objetivo de la clasificación de datos es organizar y
categorizar los datos en clases diferentes
– Se crea un modelo basándose en la distribución de los
datos
– El modelo es luego usado para clasificar nuevos datos
– Dado el modelo, se puede predecir la clase de un nuevo
dato
• Clasificación = predicción para valores discretos y
nominales
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Predicción
• El objetivo de la predicción es deducir el valor de un atributo basándose en los valores de otros atributos – Se crea un modelo basándose en la distribución de los
datos
– El modelo se usa para predecir valores futuros o desconocidos
Si se deduce un valor discreto Clasificación
SI se deduce un valor continuo Predicción (Regresión)
Inteligencia Artificial - 2018
Definición de clasificación
Dada una base de datos 𝐷 = {𝑡1 ,𝑡2 , … ,𝑡𝑛 } de
tuplas o registros (individuos) y un conjunto
de clases 𝐶 = {𝐶1 , 𝐶2 , … , 𝐶𝑚 }, el problema
de la clasificación es encontrar una función
𝑓:𝐷 → 𝐶 tal que cada 𝑡𝑖 es asignada una clase
𝐶𝑗 .
𝑓:𝐷 → 𝐶 podría ser una Red Neuronal, un Árbol
de Decisión, un clasificador Bayesiano...
Prof. Dra. Silvia Schiaffino
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Aplicaciones
• Aprobación de créditos
• Marketing
• Diagnóstico médico
• Identificación de partes defectuosas en manufactura
• Zonificación (crímenes)
• Clasificación de e-mail
• Clasificación de documentos
• ...
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Proceso de clasificación
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Etapas: Terminología
Data
Training
Data
Testing
Data
Derivar
Clasificador
(Modelo)
Estimar
Exactitud
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Etapas: Construcción del modelo - Aprendizaje
Cada tupla se supone que pertenece a una clase predefinida, dada
por uno de los atributos, llamada etiqueta de clase
El conjunto de todas las tuplas usadas para la construcción del
modelo se llama conjunto de entrenamiento
El modelo se representa mediante alguna de las siguientes formas:
– Reglas de clasificación (sentencias IF-THEN)
– Árbol de decisión
– Fórmulas matemáticas
– …
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Aprendizaje
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Etapas: Evaluación del modelo
• Se estima la exactitud del modelo basándose en un
conjunto de test
– Se compara la etiqueta conocida de una muestra de testeo
con el resultado de aplicar el modelo de clasificación
– Accuracy rate es el porcentaje de muestras del conjunto de
test que son correctamente clasificadas por el modelo
– El conjunto de test es independiente del conjunto de
entrenamiento (método holdout)
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Evaluación de Exactitud
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Etapas: Evaluación del modelo
• Holdout – Los datos se particionan aleatoriamente en 2 conjuntos
independientes: training set (2/3 de los datos) y test set (1/3 de los datos)
• K-fold cross validation – Datos iniciales particionados en k subconjuntos mutuamente
excluyentes de aproximadamente igual tamaño. Se hace training y testing k veces, se calcula la exactitud promediando los resultados.
• Stratisfied cross-validation – Los subconjuntos son armados de tal manera que la distribución de
clase de los ejemplos en cada uno es aproximadamente igual a la que tienen los datos iniciales
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Evaluación del modelo
• Tasa/Coeficiente de Error
• Precisión/Coeficiente de acierto
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Evaluación del modelo: Matriz de Confusión
Etiqueta
de clase
Predicciones C1 Predicciones C2 ... Predicciones Ck
Verdaderos C1
M(C1,C1) M(C1,C2) ... M(C1,Ck)
Verdaderos
C2
M(C2,C1) M(C2,C2) ... M(C2,Ck)
... ... ... ... ...
Verdaderos
Ck
M(Ck,C1) M(Ck,C2) ... M(Ck,Ck)
}:),({
)(),(iCyTyx
jji CxhCCM
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Clasificador ideal
• M(Ci, Ci) Casos correctamente clasificados
• M(Ci, Cj) i<>j Errores de clasificación
C1 C2 ... Ck
C1 M(C1,C1) 0 ... 0
C2 0 M(C2,C2) ... 0
... ... ... ... 0
Ck 0 0 ... M(Ck,Ck)
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Evaluación del Modelo (Documentos)
• Precision
– De la cantidad de veces que se predijo una
clase, cuántas fueron correctas?
• Recall
– Se encontraron todos los ejemplos que
pertenecen a la clase?
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Etapas: Uso del modelo - Clasificación
• El modelo se utiliza para clasificar nuevos objetos
– Dar una etiqueta de clase a una nueva tupla
– Predecir el valor de un atributo
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Métodos de clasificación
• Inducción de árboles de decisión
• Redes Neuronales
• Clasificador Bayesiano
• Clasificación basada en asociación
• Vecinos más cercanos
• Razonamiento Basado en Casos
• Algoritmos Genéticos
• Conjuntos difusos
• Support Vector Machines
• ...
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Evaluación y comparación de métodos de
clasificación
• Exactitud de predicción
– Habilidad del modelo de predecir correctamente la etiqueta de clase de nuevos ejemplos
• Velocidad
– Tiempo para construir el modelo
– Tiempo para usar el modelo
• Robustez
– Manejo de valores faltantes y ruido (predicciones correctas)
• Escalabilidad
– Eficiencia en grandes bases de datos
• Facilidad de interpretación
– Nivel de entendimiento provisto por el modelo
• Forma de las reglas
– Tamaño del árbol de decisión
– Qué tan compactas son las reglas de clasificación
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Clasificación
• Concepto
– Clasificación
– Predicción
– Evaluación
• Árboles de Decisión
– Construcción
– Uso
– Poda
• Clasificador Bayesiano
• Ejemplos
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Árboles de Decisión
Un árbol de decisión consta de:
- nodos internos que denotan un test (comprobación) sobre un
atributo
- Ramas que representan una salida del test
- Todas las tuplas en una rama tienen el mismo valor para el atributo
evaluado
- Nodos hojas que representan las etiquetas de clase
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Ejemplo
El paciente se siente bien
El paciente tiene dolor
Temperatura del paciente
Enfermo
Enfermo
Sano
Sano
Si
Si
No
No
<=37 >37
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Equivalente en reglas de clasificación
• Si El paciente se siente bien = Si entonces
– Clase = Sano
• Sino
– Si El paciente tiene dolor = No entonces
• Si Temperatura del paciente <= 37 entonces
– Clase = Sano
• Sino (Temperatura del paciente > 37)
– Clase = Enfermo
– Sino (El paciente tiene dolor = Si)
• Clase = Enfermo
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Equivalente en reglas de clasificación
• Si El paciente se siente bien = Si entonces
– Clase = Sano
• Si El paciente se siente bien = No and El paciente tiene dolor =
No and Temperatura del paciente <=37 entonces
– Clase = Sano
• Si El paciente se siente bien = No and El paciente tiene dolor =
No and Temperatura del paciente >37 entonces
– Clase = Enfermo
• Si El paciente se siente bien = No and El paciente tiene dolor =
Si entonces
– Clase = Enfermo
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Ejemplo: Datos de entrenamiento
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Ejemplo árbol de decisión
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Métodos de clasificación con árboles de decisión
• La generación de árbol básica de arriba hacia
abajo consiste de dos fases:
1. Construcción del árbol
• Al inicio todos los ejemplos de entrenamiento están en la raíz
• La partición de los ejemplos se realiza recursivamente
basándose en la selección de atributos
2. Podado del árbol
• Tiene por objetivo eliminar ramas del árbol que reflejen ruido
en los datos de entrenamiento y lleven a errores cuando se
clasifiquen los datos de test mejorar la exactitud de
clasificación
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
¿Cómo construir un árbol?
• Algoritmo
– Greedy
• Hacer una elección optimal en cada paso: seleccionar el
mejor atributo para cada nodo del árbol
– Divide y conquista recursivo top-down
• De la raíz a las hojas
• Partir un nodo en varias ramas
• Para cada rama, correr recursivamente el algoritmo
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Construcción del árbol de decisión
• El árbol comienza con un solo nodo que representa todos los datos de
entrenamiento
• Si los ejemplos tienen todos la misma clase, entonces el nodo se
convierte en una hoja con esa etiqueta de clase
• Si no, se selecciona un atributo que mejor separe la muestra en clases
individuales. Este atributo se convierte en el atributo de test.
• Se crea una rama por cada valor conocido del atributo de test, y se
particionan los ejemplos de acuerdo a estas ramas
• Se aplica el proceso recursivamente, para formar un árbol para los
ejemplos en cada partición
• La recursión termina cuando:
– Los ejemplos en el nodo corresponden a la misma clase
– No quedan más atributos sobre los cuales separar (hoja con clase
mayoritaria)
– No hay ejemplos con el valor del atributo (para la rama)
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Cuestiones principales en la construcción de
árboles
• Criterio de separación
– Usado para seleccionar el atributo para separar en un nodo del árbol durante la fase de generación del árbol
– Diferentes algoritmos pueden usar distintas funciones: ganancia de información, gini, etc.
• Esquema de ramificado
– Determinará la rama a la cual pertenece una muestra
– Separación binaria (gini) versus separación múltiple (ganancia de información)
• Decisiones de terminación
– Cuando detenerse y dejar de separar un nodo (medida de impureza) - Poda
• Reglas de etiquetado
– Un nodo es etiquetado como la clase a la cual pertenecen la mayoría de los ejemplos que pertenecen a él
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Elección del mejor atributo para clasificar
• Aleatoria
• Menos valores
• Más valores
• Ganancia de información (máxima)
• Índice Gini
• Razón de ganancia
• ...
Inteligencia Artificial - 2018
Algoritmo ID3 (Induction Decision Trees)
• Algoritmo matemático para construir árboles
de decisión
• Desarrollado por R. Quinlan en 1979
• Hace uso de Teoría de la Información
desarrollada por Shannon
• Construye árbol de arriba hacia abajo
• Usa ganancia de la información para
seleccionar atributo para particionar
• ID3, C4.5, J48…
Prof. Dra. Silvia Schiaffino
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Ganancia de Información
• El atributo que tiene mayor ganancia de información se utiliza
para particionar
• Minimizar la información que se necesita para clasificar
ejemplos en las particiones resultantes
• Mide qué tan bien separa los ejemplos de entrenamiento de un
conjunto dado de acuerdo a su clasificación objetivo
(impurezas)
• Minimiza el número esperado de tests que se necesitan para
clasificar un objeto y garantiza la construcción de un árbol
simple.
Inteligencia Artificial - 2018
Entropía
Prof. Dra. Silvia Schiaffino
• Medida del grado de incertidumbre asociado a una distribución de
probabilidad.
• En una distribución uniforme, todos los valores son igualmente
probables Pi = 1/N y por tanto la entropía es máxima, lo cual indica
máxima incertidumbre.
•Por el contrario, en una distribución pico en la que Pi = 1 y Pj=0, para
todo j≠i la entropía es mínima lo cual indica mínima incertidumbre o
sea máxima información.
Entropía: mínimo teórico de bits promedio necesarios para trasmitir un
conjunto de mensajes sobre {x1,x2,…,xn} con distribución de
probabilidades P(X=xi)=pi
Entropy(P) = -(p1*log(p1) + p2*log(p2) + .. + pn*log(pn))
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Entropía
• Supongamos que hay 2 clases, P y N
– Sea el conjunto de ejemplos S que contiene x
elementos de la clase P e y elementos de la clase
N
– La cantidad de información que se necesita para
decidir si un ejemplo arbitrario en S pertenece a P
o N se define como
En gral.
Inteligencia Artificial - 2018
Ejemplo
Prof. Dra. Silvia Schiaffino
Inteligencia Artificial - 2018
Ganancia de información
Prof. Dra. Silvia Schiaffino
• Criterio para elegir un split: seleccionar el split con la mayor
ganancia de información (Gain)
• Equivalente a seleccionar el split con la menor entropía ponderada
• Medida de cuanto ayuda el conocer el valor de una variable
aleatoria X para conocer el verdadero valor de otra Y.
• En nuestro caso, X es un atributo de un ejemplo dado mientras
que Y es la clase a la que pertenece el ejemplo.
• Una alta ganancia implica que el atributo X permite reducir la
incertidumbre de la clasificación del ejemplo de entrada.
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Ganancia de Información: Ejemplo
• El atributo A es seleccionado tal que la ganancia de información
Gain(A)=I(SP, SN) – E(A)
sea maximal, es decir, E(A) es minimal dado que I(SP, SN) es la
misma para todos los atributos del nodo (reducción esperada en
la entropía causada por conocer el valor del atributo A)
• En el ejemplo dado, el atributo outlook es elegido para separar
la raíz:
Gain(outlook) = 0.247
Gain (temperature) = 0.029
Gain (humidity) = 0.151
Gain(windy) = 0.048
Inteligencia Artificial - 2018
Ejemplo
Prof. Dra. Silvia Schiaffino
E(PlayGolf, Outlook )
=p(sunny)*E(3,2)+p(overcast)*E(4,0)+p(rainy)*E(3,2)=
(5/14)*0.971+(9/14)*0.971 = 0.693
G(PlayGolf, Outlook) = E(PlayGolf) - E(PlayGolf, Outllok) =
0.940 – 0.693 = 0.247
Lo mismo se hace para los
demás atributos: temperature,
humidity y windy.
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Algoritmo ID3
• Se calcula la entropía del nodo N
H(Ei)=p+log2(1/p+)+p-log2(1/p-)
• Se calcula el valor medio de la entropía del
nivel siguiente, generado por el atributo X al
que se está aplicando el test
H(X, Ei)=p(X=v1/Ei)H(Ei1)+...+
p(X=vn/Ei)H(Ein)
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Utilización del árbol
• Directamente
– Verificar el valor de un atributo de un ejemplo no conocido
con el árbol
– Se sigue el camino desde la raíz a la hoja que posea la
etiqueta
• Indirectamente
– El árbol de decisión se convierte en reglas de clasificación
– Se crea una regla por cada camino de la raíz a las hojas
– Las reglas IF-THEN son más fáciles de entender
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Clasificación de nuevos ejemplos
• Partir desde la raíz
• Avanzar por los nodos de decisión hasta alcanzar
una hoja
• La clase del nuevo ejemplo es la clase que
representa la hoja.
B
C
A
A B
Clase Asociada
Nuevo Ejemplo Atributo1=.. Atributo2=..
Clase = A
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Overfitting
Un árbol generado puede sobre-clasificar (super-
ajustar) los ejemplos de entrenamiento debido a
ruido o tamaño pequeño del conjunto de
entrenamiento. Resulta en baja exactitud de
clasificación de nuevos ejemplos.
• Existen 2 enfoques para evitar overfitting
– Parar antes (Pre-poda): detener el crecimiento del árbol
antes que se produzca, decidiendo no particionar uno o más
nodos
– Podado: se construye todo el árbol, se permite overfitting y
luego se poda el árbol. Se elige el árbol con menor tasa de
error.
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Podado del árbol
Podar el árbol: transformar un subárbol en una hoja
– Usar un conjunto de datos diferentes del conjunto
de entrenamiento (conjunto de poda)
– En un nodo del árbol, si la exactitud sin particionar
el nodo es más alta que la exactitud particionando
el nodo, reemplazar el subárbol por una hoja,
etiquetándolo con la clase mayoritaria
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Clasificación
• Concepto
– Clasificación
– Predicción
– Evaluación
• Árboles de Decisión
– Construcción
– Uso
– Poda
• Clasificador Bayesiano
• Ejemplos
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Clasificador Bayesiano
• Es un clasificador estadístico basado en el Teorema de Bayes
• Usa aprendizaje probabilístico para calcular explícitamente las probabilidades de las hipótesis
• Un clasificador bayesiano simple o naive asume independencia total entre atributos
• Funciona bien con grandes conjuntos de datos y tiene alta precisión de clasificación
• El modelo es incremental es el sentido que cada ejemplo de entrenamiento puede aumentar o disminuir la probabilidad de que una hipótesis sea correcta. Conocimiento previo puede combinarse con datos observados
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Clasificador Bayesiano
El objetivo de un clasificador es identificar a qué clase pertenece un objeto, basándose en ciertos atributos.
Consideremos un objeto X, cuyos atributos son (a1,a2...an), y queremos clasificarlo dentro de un conjunto de clases S.
Sea A una clase, uno de los elementos de S. Entonces, trataremos de encontrar un A que maximice P(A| a1,a2...an). Podemos decir entonces:
“Es muy probable que X pertenezca a la clase A porque para un objeto, dada la condición de tener los atributos (a1,a2...an), la probabilidad de que la clase sea A es máxima."
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Teorema de Bayes
Dado un objeto X (descripción del clima) con etiqueta de clase
desconocida, H es la hipótesis de que X pertenece a una clase
C (apto para jugar golf)
La probabilidad a posteriori de la hipótesis H, P(H/X), probabilidad
condicional de H dado X, sigue el teorema de Bayes
P(H/X) = P(X/H) P(H)
P(X)
P(H/X) probabilidad a posteriori
P(H), P(X) probabilidad a priori (datos)
P(X/H) probabilidad a posteriori (que el clima esté de cierta forma
dado que juego golf)
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Clasificador Naive Bayes
• Supongamos que tenemos n clases C1, C2,..., Cn.
Dado un ejemplo desconocido A, el clasificador
predecirá que A=(a1,...,am) pertenece a la clase con la
mayor probabilidad a posteriori:
A Ci si P(Ci/A) > P(Cj/A) para 1 j n, j i
Maximizar P(A/Ci) P(Ci) / P(A) Maximizar P(A/Ci) P(Ci)
P(Ci) = si/s
P(A/Ci) = P(a1,...,am /Ci)
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Suposición de Naive Bayes
Siempre que (a1,a2...an) sean condicionalmente
independientes unas de otras.
Dado que P(ai|A) se obtiene fácilmente de los datos de
entrenamiento, el clasificador tiene que encontrar
una clase A que maximice la expresión:
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Ejemplo
Tamaño Precio Peso Color Compro?
Grande Barato Pesado azul Si
Grande Caro Medio Azul No
Chico Caro Medio Verde Si
Chico Barato Liviano Azul No
Chico Caro pesado Verde No
(chico, barato, pesado, azul) compro?
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Ejemplo
P(C = Si | T = Chico, Pr = Barato, P = Pesado, C = Azul) y
P(C = No |T = Chico, Pr = Barato, P = Pesado, C = Azul)
Equivalente a:
(1): P(C = S) P(T = Chico | C = S) P(Pr = Barato|C = S) P(P =
Pesado | C = S) P(C = Azul|C = S)
(2): P(C = N) P(T = Chico | C = N) P(Pr = Barato|C = N) P(P =
Pesado | C = N) P(C = Azul|C = N)
Resultados:
(1): (2/5)(1/2)(1/2)(1/2)(1/2) = 0.025
(2): (3/5)(2/3)(1/2)(1/3)(2/3) = 0.044
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Clasificación
• Concepto
– Clasificación
– Predicción
– Evaluación
• Árboles de Decisión
– Construcción
– Uso
– Poda
• Clasificador Bayesiano
• Vecinos más cercanos
Inteligencia Artificial - 2018
Vecinos más cercanos
Para K=1 (círculo más pequeño), la clase de la nueva
instancia sería la Clase 1, ya que es la clase de su
vecino más cercano, mientras que para K=3 la clase
de la nueva instancia sería la Clase 2 pues habrían
dos vecinos de la Clase 2 y solo 1 de la Clase 1
Prof. Dra. Silvia Schiaffino
Inteligencia Artificial - 2018
Algoritmo
Prof. Dra. Silvia Schiaffino
Inteligencia Artificial - 2018
Cómo elegir K?
Prof. Dra. Silvia Schiaffino
Inteligencia Artificial - 2018
Cómo elegir K?
Escogiendo el valor de K:
• Si K es muy pequeño el modelo será
muy sensitivo a puntos que son atípicos
o que son ruido (datos corruptos,
outliers)
• Si K es muy grande, el modelo tiende a
asignar siempre a la clase más grande.
Prof. Dra. Silvia Schiaffino
Inteligencia Artificial - 2018
Cómo elegir K?
En algunos algoritmos, el modelo
escogerá el valor de K que mejor
clasificación logre en esta tabla, es
decir, prueba con K=1, K=2, ….
Esto puede ser muy caro
computacionalmente.
Prof. Dra. Silvia Schiaffino
Inteligencia Artificial - 2018
Cómo elegir la distancia?
Prof. Dra. Silvia Schiaffino
Inteligencia Artificial - 2018
Cómo elegir la distancia?
Prof. Dra. Silvia Schiaffino
Inteligencia Artificial - 2018
Cómo elegir la distancia?
Prof. Dra. Silvia Schiaffino
Inteligencia Artificial - 2018
Áreas de investigación en Arboles de Decisión
• Clases desbalanceadas
• Clasificadores multi-clase
• Aprendizaje semi-supervisado
• Combinación de clasificadores
• Selección de atributos
• …
Prof. Dra. Silvia Schiaffino
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Mejorar la exactitud: Clasificadores compuestos
• Bagging: ej. consulto varios doctores y me quedo con la opinión
mayoritaria (la que tenga más votos)
• Boosting: ej. pondero cada diagnóstico según la exactitud del
médico (del clasificador)
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Clasificación
• Concepto
– Clasificación
– Predicción
– Evaluación
• Árboles de Decisión
– Construcción
– Uso
– Poda
• Clasificador Bayesiano
• Herramientas: Weka
Inteligencia Artificial - 2018
Software: WEKA
• Machine Learning Software in Java
http://www.cs.waikato.ac.nz/~ml/weka/
• Data Mining: Practical Machine Learning Tools and Techniques - Ian H.
Witten, Eibe Frank (Third Edition) – Morgan Kaufmann - 2011
Inteligencia Artificial - 2018
WEKA
Inteligencia Artificial - 2018
WEKA: Input file @relation weather.symbolic
@attribute outlook {sunny, overcast, rainy}
@attribute temperature {hot, mild, cool}
@attribute humidity {high, normal}
@attribute windy {TRUE, FALSE}
@attribute play {yes, no}
@data
sunny,hot,high,FALSE,no
sunny,hot,high,TRUE,no
overcast,hot,high,FALSE,yes
rainy,mild,high,FALSE,yes
rainy,cool,normal,FALSE,yes
rainy,cool,normal,TRUE,no
overcast,cool,normal,TRUE,yes
sunny,mild,high,FALSE,no
sunny,cool,normal,FALSE,yes
rainy,mild,normal,FALSE,yes
sunny,mild,normal,TRUE,yes
overcast,mild,high,TRUE,yes
overcast,hot,normal,FALSE,yes
rainy,mild,high,TRUE,no
Inteligencia Artificial - 2018
Weka: Arff viewer
Inteligencia Artificial - 2018
WEKA: Pre-processing
Inteligencia Artificial - 2018
WEKA: Pre-processing
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
WEKA: Clasificadores
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
WEKA: Clasificadores
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
WEKA: Parámetros
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
WEKA: Training y Test
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
WEKA: Resultados
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
WEKA: Resultados
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
WEKA: Visualización
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
WEKA: Visualización
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Clasificador Bayesiano
Class yes: P(C) = 0.625
Attribute outlook
sunny overcast rainy
0.25
0.41666667 0.33333333
Attribute temperature
hot mild cool
0.25
0.41666667 0.33333333
Attribute humidity
high normal
0.36363636 0.63636364
Attribute windy
TRUE FALSE
0.36363636 0.63636364
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
WEKA: Evaluación
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Otras herramientas
• Knime: http://www.knime.org/
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Clasificación
• Concepto
– Clasificación
– Predicción
– Evaluación
• Árboles de Decisión
– Construcción
– Uso
– Poda
• Clasificador Bayesiano
• Ejemplo: Detección de líderes de equipo
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
Ejemplo: clasificación de mascotas
Ejemplos Estatura Pelaje Ojos Clase
e1 Baja Amarillo Negros A
e2 Alta Amarillo Castaños B
e3 Alta Cobrizo Negros A
e4 Baja Marrón Negros B
e5 Alta Marrón Negros B
e6 Alta Amarillo Negros A
e7 Alta Marrón Castaños B
e8 Baja Amarillo Castaños B
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
ID3 Ejemplo
3 ejemplos en clase A; 5 ejemplos en clase B
• H(E)=I(sA,sB) = 3/8*log2(8/3) + 5/8*log2(8/5) = 0.954
• E1 = {Ejemplos de E que tienen pelaje=marrón}
• E2 = {Ejemplos de E que tienen pelaje=cobrizo}
• E3 = {Ejemplos de E que tienen pelaje=amarillo}
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
ID3 Ejemplo
E = {e1, e2, e3, e4, e5, e6, e7, e8}
E1 = { e4: baja, marrón, negros, B e5: alta, marrón, negros, B e7: alta, marrón, castaños, B}
E2 = { e3: alta, cobrizo, negros, A}
E3 = { e1: baja, amarillo, negros, A e2: alta, amarillo, castaños, B e6: alta, amarillo, negros, A e8: baja, amarillo, castaños, B}
marrón cobrizo amarillo
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
ID3 Ejemplo
• H(pelaje, E) = p(pelaje=marrón/E)*H(E1)+
p(pelaje=cobrizo/E) *H(E2)+
p(pelaje=amarillo/E) *H(E3)
H(E1)=pAlog2(1/pA)+pBlog2(1/pB) = 0 log2(1/0)+1 log2(1/1) = 0
H(E2)=pAlog2(1/pA)+pBlog2(1/pB) = 1 log2(1/1)+0 log2(1/0) = 0
H(E3)=pAlog2(1/pA)+pBlog2(1/pB) = 2/4 log2(4/2)+2/4 log2(4/2)
= 0.5 + 0.5
= 1
H(pelaje/E) = 3/8 0 + 1/8 0 +4/8 1 = 0.5
Ganancia(pelaje) = 0.954 – 0.5 = 0.454
Inteligencia Artificial - 2018
Prof. Dra. Silvia Schiaffino
ID3 Ejemplo
• Ganancia(pelaje) = 0.454
• Ganancia(estatura)= 0.003
• Ganancia(ojos) = 0.347
Pelo
B A ojos
A B
castaños negros
marrón cobrizo amarillo