Documento de Universidad sobre Data Mining Resumenes. El Pdf, un material de Informática para Universidad, explora los conceptos clave del Data Mining y Machine Learning, distinguiendo entre aprendizaje supervisado, no supervisado y por refuerzo, con ejemplos detallados.
Ver más57 páginas


Visualiza gratis el PDF completo
Regístrate para acceder al documento completo y transformarlo con la IA.
1. INTRODUCCION MINERÍA DE DATOS, APRENDIZAJE AUTOMÁTICO: SUPERVISADO, NO SUPERVISADO Y POR REFUERZOS.
PROBLEMA DEL APRENDIZAJE SUPERVISADO - PROBLEMAS DE CLASIFICACIÓN Y REGRESIÓN.
• Medidas de desempeño o Matriz de confusión o Accuracy, precisión y recall, F1 - SCORE o Curva ROC Y AREA BAJO LA CURVA o Matriz de costos
1. MINERIA DE DATOS· Data mining > busca extraer conocimiento desde los datos, procesando grandes cantidades para descubrir PATRONES y REGLAS. o Una de las técnicas para descubrir patrones es el APRENDIZAJE AUTOMÁTICO · ETP > Un programa aprende de la experiencia (E), en base a ciertas tareas (T) y performance (P) > Se busca que la performance en tasks mejore con la experiencia. TRABAJACMO CON APRENDIZAJE AUTOMÁTICO > 3 FAMILIAS DE ALGORITMOS: Aprendizaje supervisado, no supervisado y automático
• Es un algoritmo de CLASIFICACIÓN, para variables Y categóricas. · Modela la probabilidad de que una observación J con determinadas características Xi, pertenezca a una determinada clase Ki, es decir: P(Ci | xi) Model Deduction Learning algorithmDesarrollemos la expresión: P(Ck| x|) = P( Ck, Xj) / P( x)) por probabilidad condicional P(Ck| x;) = (P(x;|Ck) *P(CR) )/P( x;) Teorema de Bayes P ( Ck | X ) = ( P ( V 1 = X| A V 2 = X12 1 ... Vq = Xiq | CK) * P ( CK ) / P ( V1 = X1 1 V2 = X12 A ... Vq = Xiq) Naïve Bayes P ( Ck | X ) = ( P ( V 1 = X 1 A V 2 = X12 A ... Vq = Xiq | Ck ) * P ( Ck ) ) / P ( V1 = X; A V2 = X12 A . Vq = Xjq) Irrelevante (C) no interviene!) P ( Ck | X| ) << ( P ( V 1 = X1 1 V 2 = X12 1 ... Vq = Xiq | CK) * P (Ck) Complejo de estimar Para solucionar este problema, el algoritmo hace un supuesto "ingenuo": las variables poseen independencia condicional (P(A, B | C) = P(A | C) * P (B | C)). P(CK | X;) & (P(V1 = Xi1 | Ck) * P( V2 = X|2 | Ck) * ... * P( Vq = Xiq | CK) ) * P( Ck) ) Likelihood Prior Al conjunto de supuestos usados para definir un modelo de aprendizaje se lo conoce como "sesgo inductivo" (Alpaydin, pp. 38). 19 . Principal objetivo de naive Bayes > generar un modelo para ver cómo aprende de los datos. . El modelo tiene el objetivo de predecir la PROBABILIDAD CONDICIONAL · Teorema de Bayes > Derivo la probabilidad condicional. Esto se interpreta cómo > cuál es la probabilidad de que alguien con Yi tenga X características en sus atributos predictivos. (Yi es una de mis categorías que toma la variable Y). · La parte dl divisor no influye para nada, no interviene > hacemos la cuenta con la parte del dividendo. · Lo que queda es aquello que todo modelo de Bayes ingenuo va a tener: una parte de likelihood y una parte de prior. · Como no puedo estimar la cantidad de datos, vamos a hacer un supuesto > que mis datos cumplen con la propiedad P(AB | C) > Supuesto e independencia condicional o Esto se cumple sólo si mi probabilidad está condicionada a una variable. o Voy a fijar la variable C, y dado que la fijo, las variables son independientes. o Si eso se cumple, P(A | C) = P(B | C) -> Probabilidad de A dado C es la misma que probabilidad de B dado C -> A y B don INDEPENDIENTES, condicionadas a C. > Este supuesto puede ser falso, lo estamos haciendo para que el algoritmo actue. Muchas veces, los algoritmos tienen una hipótesis o sesgo inductivo, que es el supuesto que yo hago en pos de que funcione mi algoritmo.
· Vamos a ver un ejemplo: Name Give Birth Can Fly Live in Water no Have Legs yes Class mammals python no no no no non-mammals non-mammals salmon no no yes no whale yes no yes no mammals frog no no sometimes yes non-mammals komodo no no no yes non-mammals mammals pigeon no yes no yes non-mammals cat yes no no yes mammals leopard shark turtle yes no yes no non-mammals no no sometimes yes non-mammals penguin no no sometimes yes non-mammals porcupine yes no no yes mammals eel no no yes no non-mammals salamander no no sometimes yes non-mammals gila monster no no no yes non-mammals platypus no no no yes mammals owl no yes no yes non-mammals dolphin yes no yes no mammals eagle no yes no yes non-mammals Give Birth yes Can Fly Live in Water Have Legs Class no lyes no ? P(A | M ) * P(M) > P(A | N ) * P(N) -> Se predice mamífero 21 En este ejemplo yo tengo las observaciones N que son mis animales. Tengo 4 variables X: give birth, can fly, live in water y have legs. Tengo dos valores (clases) que puede tomar mi variable Y: mammals y non-mammals · Tengo que calcular cada una de las probabilidades para cada variable · Mi prior busca ponderar la DISTRIBUCIÓN POBLACIONAL > Es sobre el total. . Mi likelihood es sobre observaciones con mismos valores · La tabla de abajo es proporcional a la probabilidad que yo quiero estimar. PROBLEMA EN NAIVE BAYES > ¿Qué ocurre cuando, en un valor de la variable Xi, ninguna observación toma cierta clase Yi? - > Por ejemplo, si en "Lives in water", ninguna observación que tiene "sometimes" toma la clase "mamíferos". · Decir que la probabilidad condicional de P(lives in water = sometimes | mammal) = 0 es muy extremo. Se está anulando una predicción justo porque en mi dataset no cayó que ningún mamifero viva en el agua a veces. Pero que algo no aparezca en mi dataset no necesariamente significa que no existe. · Cuando la probabilida condicional estimada es cero, hay que hacer algo
-> Se modifica la forma de estimar probabilidades, con el suavizado laplaciano o aditivo: P(vj = "ij|Ck) = nk + aK najk + a Valores comunes: · K = # valores distintos de la variable x (3 para "Live in Water"). · a = 1 (add-one smoothing, ¿Por qué?). Estoy cambiando la forma en la que calculo la probabilidad -> voy a sumar ALFA a las probabilidades condicionales que estimo. · K -> es la cantidad de valores diferentes que tiene la variable. . Este truco se llama suavizado aditivo. P(Ck) IP(xij | Ck) q j=1 bat yes yes no yes 22 P(A|M) =2×××=0.06 777 7 P(A|N)=1x10x3×4 =0.0042 13 13 13 13 P(A|M)P(M) =0.06x2 =0.021 20 P(A|N)P(N) =0.004×2=0.0027 20 human yes no· ¿ Cómo funciona alfa? - > Para el mismo alfa (por ejemplo, alfa = 1), a medida que mi dataset va creciendo afecta menos, y por ende impacta menos en mis probabilidades. El efecto del suavizante impacta más en dataset chicos, y va decreciendo con datasets grandes. · ¿ CÓMO ELIJO MI ALFA? > No lo se de antemano, tengo que tener un criterio para decidir qué alfa uso. o Puedo ver intentando con distintos valores de ALFA > Hay que ver donde mejora mi promedio > si se predice mejor, entonces usamos ese valor. COMPARACIÓN DE Y PREDICHO Y DE MI Y OBSERVADO 1 y 50 2 X 0 3835 0 × D 100 R · Tengo por un lado 3455 observaciones de las que conozco mi valor Y asociado a cada X. Por otro lado, tengo 100 observaciones para las que conozco X pero no Y. Yo quiero que a mi modelo le vaya bien abajo, donde predice datos que no conozco. · El modelo puede predecir tanto sobre datos usados para entrenar como sobre los datos separados antes de entrenar. o Nos interesa optimizar -> o La performance en el training sirve para > Medir los datos sobre el dataset de entrenamiento me sirve para hacer un diagnóstico. Cuando yo testeo mi modelo sobre el entrenamiento , podemos entender mejor por qué a nuestro modelo le va mal sobre los datos que no conozco. OJO! Aunque Naive Bayes trata con problemas de clasificación, se puede adaptar a atributos CONTINUOS (Con variables Y continuas). Esto se puede hacer: 1) Discretizando atributos categóricos (ingeniería de atributos) 2) Efectuando estimaciones de densidad (por ejemplo, asumiendo normalidad en modelos paramétricos o utilizando estimadores de tipo kernel en modelos no paramétricos, aunque esto último es muy costoso en tiempo y espacio).
❖ EN CONTRA: