Vous êtes sur la page 1sur 52

Introduccin al Aprendizaje Automtico

Prof. Dr. Carlos Morell

Algoritmos: Los mtodos bsicos


Deduccin de reglas rudimentarias Modelacin estadstica Construccin de rboles de decisin Construccin de reglas Aprendizaje de reglas de la asociacin Modelos lineales Aprendizaje basado en casos Agrupamiento

La simplicidad primero

Los algoritmos simples trabajan a menudo muy bien! Hay muchas clases de estructura simple: Una caracterstica hace todo el trabajo Todas las cualidades contribuyen igualmente e independientemente Una combinacin lineal pesada puede servir. Basado en casos: utilizar pocos prototipos El uso de reglas lgicas simples El xito del mtodo depende del dominio

Deduccin de reglas rudimentarias

1R: aprende un rbol de decisin de 1 nivel reglas donde todas prueban por un atributo en particular Versin bsica Un rama para cada valor Cada rama asigna la clase ms frecuente Tasa de error: proporcin de los casos que no pertenecen a la clase de la mayora de su rama correspondiente Elija el atributo con la tasa de error ms baja (asume atributos nominales)

Pseudo-cdigo de 1R
Para cada atributo,
Para cada valor del atributo, haga una regla como sigue: cuente cuantas veces aparece cada clase encuentre la clase ms frecuente haga que la regla asigne esa clase a este atributo-valor Calcule el ndice de error de las reglas Elija las reglas con la tasa de error ms pequea

Evaluacin de los atributos de weather.nominal.arff

Lidiando con atributos numricos


Discretizar los atributos numricos Divida el rango de cada atributo en intervalos


Ordene las instancias segn el valor del atributo Ponga los lmites de ruptura donde la clase cambia (clase mayoritaria) Esto minimiza el error total error

Ejemplo: temperatura de los datos del tiempo 64 65 68 69 70 71 72 72 75 75 80 81 83 85

Yes | No | Yes Yes Yes | No No Yes | Yes Yes | No | Yes Yes | No

El problema de overfitting
Este procedimiento es muy sensible al ruido
Un caso con una etiqueta incorrecta de la clase producir probablemente un intervalo separado

Una solucin simple:

Forzar un nmero minimo de instancia en la clase mayoritaria para cada intervalo

Ejemplo (con min = 3): 64 65 68 69 70 71 72 72 75 75 80 81 83 85


Yes | No |Yes Yes Yes | No No Yes | Yes Yes | No | Yes Yes | No

Evitando el overfitting

Sistema de reglas que resulta:

Discusin de 1R
1R fue descrito en un artculo de Holte (1993) )
Contiene una evaluacin experimental en 16 datasets (que usan la validacin cruzada de modo que los resultados fueran el representativos del funcionamiento en los datos futuros) El nmero mnimo de casos fue fijado a 6 despus de cierta experimentacin Las reglas simples de 1R se comportaron no mucho peor que los mucho ms complejos rboles de decisin

La simplicidad primero funciona!

La modelacin estadstica

Opuesto a 1R: usa todos los atributos Dos asunciones: Los atributos son
igualmente importante estadsticamente independiente (dado el valor de la clase) es decir, sabiendo el valor de un atributo no dice nada sobre el valor de otro (si se sabe la clase)

La asuncin de independencia nunca es correcta! Pero este esquema trabaja bien en la prctica

Probabilidades para los datos del tiempo

Probabilidades para los datos del tiempo

La regla de Bayes

Probabilidad del acontecimiento H dada la evidencia E:

Probabilidad Apriori de H: P[H]


La probabilidad del acontecimiento antes de que se considere la evidencia.

Probabilidad Aposteriori de H: P[H|E]


La probabilidad del acontecimiento despus que la evidencia se considera

Clasificacin mediante Nave Bayes


El aprender de la clasificacin: cual es la probabilidad de la clase dada un caso?
Evidencia E = instancia Evento H = valor de la clase para una instancia

Asuncin de Nave: la evidencia se parte en piezas


(es decir atributos) que son independientes

Ejemplo de los datos del tiempo

Ejemplo de los datos del tiempo

Qu si un valor de un atributo no ocurre con cada valor de la clase? (por ejemplo. Humidity = high para la clase yes)
La probabilidad ser cero! la probabilidad Aposteriori tambin ser cero!

Remedio: agregue 1 a la cuenta para cada combinacin valor-clase (el estimador de Laplace) Resultado: las probabilidades nunca sern cero! (tambin: estabiliza estimaciones de la probabilidad)

Valores ausentes

Entrenamiento: el caso no se incluye en la cuenta de la frecuencia para la combinacin clase-valor del atributo Clasificacin: el atributo ser omitido del clculo
Ejemplo:

Likelihood of yes = 3/ 9 3/ 9 3/ 9 9/ 14 = 0.0238 Likelihood of no = 1/ 5 4/ 5 3/ 5 5/ 14 = 0.0343 P(yes) = 0.0238 / (0.0238 + 0.0343) = 41% P(no) = 0.0343 / (0.0238 + 0.0343) = 59%

Atributos Numricos

Asuncin general: los atributos tienen una distribucin de probabilidad normal o Gaussiana (dada la clase) La funcin de la densidad de la probabilidad para la distribucin normal es definida por dos parmetros:

Estadstica para los datos del tiempo

Valor de densidad del ejemplo:

Clasificar un nuevo da

Un nuevo da:
Likelihood of yes = 2/9 0.0340 0.0221 3/9 9/14 = 0.000036 Likelihood of no = 3/5 0.0221 0.0381 3/5 5/14 = 0.000108 P(yes) = 0.000036 / (0.000036 + 0. 000108) = 25% P(no) = 0.000108 / (0.000036 + 0. 000108) = 75%

Los valores ausentes durante el entrenamiento no se incluyen en el clculo de la media ni la desviacin estndar

Densidades de la probabilidad

Relacin entre la probabilidad y la densidad:

Pero: esto no cambia el clculo de la probabilidades a posteriori porque los se cancelan

Nave Bayes: discusin


Nave Bayes trabaja asombrosamente bien (aunque la asuncin de la independencia se viola claramente) Por qu? Porque la clasificacin no requiere estimaciones exactas de la probabilidad mientras sea mximo probabilidad se asigna a la clase correcta No obstante, la adicin de demasiados atributos redundantes causar problemas (por ejemplo atributos idnticos) Note tambin que muchos atributos numricos no se distribuyen normalmente ( estimadores de densidad basados en kernel)

Construccin de rboles de decisin


Estrategia: top down A la manera de divida y conquiste repetido


Primero: seleccione el atributo para el nodo raz Cree una rama para cada valor posible del atributo Entonces: particionar los casos en subconjuntos Uno para cada rama que extiende del nodo Finalmente: repita recurrentemente para cada rama, usando solamente los casos que alcanzan la rama

Pare si todos los casos tienen la misma clase

Qu cualidad a seleccionar?

Qu cualidad a seleccionar?

Criterio para la seleccin del atributo


Cul es la mejor cualidad?
Se desea conseguir el rbol ms pequeo Heuristica: elija la cualidad que produce los nodos ms puros

Criterio popular de la impureza: aumento de la informacin (Information gain)


Information gain aumento con la pureza media de los subconjuntos

Estrategia: elija el atributo que da el aumento ms grande de la informacin

Clculo de la Informacin
La informacin se mide en bits
Dado una distribucin de la probabilidad, la informacion
requerida para predecir un acontecimiento es la entropa de la distribucin

La entropa da la informacin requerida en bits (puede implicar


fracciones de bits!)

Frmula para computar la entropa:

Ejemplo: el atributo Outlook


Outlook = Sunny: info([2,3])=entropy(2/5,3/5)=2/5log(2/5)3/5log(3/5)=0.971bits Outlook = Overcast: info([4,0])=entropy (1,0)=1log(1)0log(0)=0bits esto es normalmente indefinido. Outlook = Rainy : info([2,3])=entropy(3/5,2/5)=3/5log(3/5)2/5log(2/5)=0.971bits Informacin esperada para el atributo: info([3,2],[4,0],[3,2])=(5/14)0.971+(4/14) 0+(5/14)0.971=0.693bits

Clculo de la ganancia de la informacin


Information gain: informacin antes de particionar informacin despues de particionar
gain(Outlook ) = info([9,5]) info([2,3],[4,0],[3,2]) = 0.940 0.693 = 0.247 bits

Information gain para los atributo de weather.arff:


gain(Outlook ) = 0.247 bits gain(Temperature ) = 0.029 bits gain(Humidity ) = 0.152 bits gain(Windy ) = 0.048 bits

Continuacin de la particin

gain(Temperature )=0.571 bits gain(Humidity )=0.971 bits gain(Windy )=0.020 bits

rbol de decisin final

Atributos altamente ramificados


Problemtica: atributos con una gran cantidad de valores (caso extremo: ID code) Los subconjuntos son ms probables a ser puros si hay una gran cantidad de valores

Information gain est predispuesta hacia atributos con una gran cantidad de valores Esto puede dar lugar a overfitting (seleccin de un atributo que produce una prediccin no ptima)

rbol para el atributo ID Code

Entropa del corte: Aumento de la informacin es mxima para el atributo ID code (0.940 bits)

Info(ID code)=info([0,1])+info([0,1])+...+info([0,1])=0bits

Gain ratio

Gain ratio: una modificacin del aumento de la informacin que reduce la influencia de atributos con mltiples valores. Gain ratio toma en cuenta el numero y tamao de las ramas en consideracin al elegir un atributo
Corrige el aumento de la informacin tomando la informacin intrnseca de la particin bajo consideracin

Discusin
Induccin Top-down de rboles de decisin: ID3, algoritmo desarrollado por Ross Quinlan
Radio de la ganancia es apenas una modificacin de este algoritmo bsico C4.5: trata con atributos numricos, valores ausentes, datos ruidosos

Acercamiento similar: CART Hay muchos otros criterios de seleccin del atributo! (Solamente poca diferencia en la exactitud del resultado)

Modelos lineares: regresin lineal


Trabajan ms naturalmente con atributos numricos Tcnica estndar para la prediccin numrica
El resultado es combinacin linear de atributos x=w0+w1a1+w2a2+...+wkak

Los pesos se calculan de los datos de entrenamiento Valor predicho para el primer caso del entrenamiento a(1)
w0a0(1)+w1a1(1)+w2a2(1)+...+wkak(1)=wjaj(1) (si se asume que cada caso se ampla con un atributo constante con valor 1)

Minimizar el error cuadrado

Elija k +1 coeficientes para reducir al mnimo el


error cuadrado en los datos de entrenamiento Error cuadrado:
(x(i) wjaji)2

Derive los coeficientes usando operaciones estndares con matrices Se puede hacer si hay ms casos que atributos (en lnea general) La reduccin al mnimo del error absoluto es ms difcil

Clasificacin

Cualquier tcnica de regresin se puede utilizar para la clasificacin


Entrenamiento: realice una regresin para cada clase, fijando la salida a 1 para los casos del entrenamiento que pertenecen a la clase, y 0 para los que no lo hagan Prediccin: prediga la clase que corresponde al modelo con el valor ms grande de la salida (membership value)

Para la regresin linear esto se conoce como regresin lineal multi-respuesta Problema: valores de la salida no estn en el intervalo [0.1], por lo que no son estimaciones apropiadas de probabilidad

Modelos lineales: regresin logstica


Construye un modelo linear para una variable objetivo transformada Asuma que tenemos dos clases La regresin logstica substituye el objetivo:

por este otro:

Transformacin Logit
Modelo que resulta:

Los parmetros se encuentran a partir de los datos de entrenamiento usando afinidad mxima

Afinidad Mxima

Puede utilizar logaritmos de probabilidades y maximizar el log de la afinidad del modelo:


(1x(i))log(1Pr[1|a1(i), a2(i),..., ak(i)]+ x(i)log Pr[1|a1(i) , a2(i) ,..., ak(i)] donde x(i) es cualquiera 0 o 1

Los pesos wi se eligen de forma que se maximize el log de la afinidad

Mltiples clases

Puede realizar la regresin logstica independientemente para cada clase (como la regresin linear multi-respuesta) Problema: las estimaciones de la probabilidad para diversas clases no sumarn 1 Mejor: entrene a los modelos juntados maximizando la afinidad sobre todas las clases Una alternativa que trabaja a menudo bien en la prctica: clasificacin en parejas

Clasificacin en parejas

Idea: construir el modelo para cada par de clases, usando solamente datos de entrenamiento de esas clases Problema? Se tienen que solucionar k(k-1)/2 problemas de la clasificacin para el problema de la clase de k Resulta no ser un problema en muchos casos porque los conjuntos de entrenamiento llegan a ser pequeos:
Asume datos distribuidos uniformemente, es decir 2n/k para cada problema de aprendizaje de n instancias en total Si se supone que el algoritmo de aprendizaje es linear en n entonces el tiempo de clasificacion en parejas es proporcional a (k(k-1)/2) (2n/k) = (k-1) n

Los modelos lineales son hiperplanos


El lmite de la decisin para la regresin logstica de probelmas de dos clases es donde la probabilidad se hace 0.5:
Pr[1|a1,a2, ...,ak ]=1/(1+exp(w0w1a1...wkak)=0.5

Lo que ocurre cuando w0w1a1...wkak =0

As la regresin logstica puede separar solamente los datos que se pueden separar por un hiperplano

Clasificadores basados en instancias


La funcin de distancia define qu se aprende. La mayora de los esquemas basados en instancias utilizan la distancia euclidiana:

a(1) y a(2): dos casos con k atributos

Tomar la raz cuadrada no se requiere al comparar distancias Otra medida popular: medida de bloques de la ciudad
Agrega diferencias sin elevarlas al cuadrado

Paradigma de aprendizaje perezoso

Se encuadran en el paradigma perezoso de aprendizaje, frente al voraz al que pertenecen los paradigmas anteriores
Perezoso: El trabajo se retrasa todo lo posible .No se construye ningn modelo, el modelo es el propio conjunto de entrenamiento. Se trabaja cuando llega un nuevo caso a clasificar: Se buscan los casos ms parecidos y la clasificacin se construye en funcin de la clase a la que dichos casos pertenecen Los algoritmos ms conocidos estn basados en la regla del vecino ms prximo

Normalizacin y otros asuntos


Diversas cualidades se miden en diversas escalas
necesidad de ser normalizado:

vi: el valor real del atributo i

Atributos nominales: distancia de 0 o 1 Poltica comn para los valores ausentes: se asume
distancia mxima (dado atributos normalizados)

Clasificacin

La extensin a la regla del vecino ms prximo, es considerar los k vecinos ms prximos. Funcionamiento: Dado e el ejemplo a clasificar
1.

2.

Seleccionar los k ejemplos con K = {e1,, ek} tal que, no existe ningn ejemplo e fuera de K con d(e,e)<d(e,ei), i=1,,k Devolver la clase que ms se repite en el conjunto {clase(e1), , clase (ek)} (la clase mayoritaria)

Ejemplo

Por ejemplo, si k=7 el siguiente caso (?) se clasificara como

Se podra tratar de forma diferente a los k-vecinos, p.e., dependiendo de la distancia al objeto a clasificar. De esta forma tendramos: Clasificacin

Voto por la mayora Voto con pesos en funcin de la distancia

Caractersticas

El algoritmo k-NN es robusto frente al ruido cuando se utilizan valores de k moderados (k>1) Es bastante eficaz, puesto que utiliza varias funciones lineales locales para aproximar la funcin objetivo Es vlido para clasificacin y para prediccin numrica (devolviendo la media o la media ponderada por la distancia) La distancia entre vecinos podra estar dominada por variables irrelevantes
Seleccin previa de caractersticas

El algoritmo k-NN est disponible en WEKA bajo el nombre de ibk. Permite voto por mayora o voto ponderado por la distancia (1/d y 1-d). No permite ponderar la variables

Encontrando a los vecinos ms cercanos eficientemente.


La manera ms simple de encontrar al vecino ms cercano: exploracin linear de los datos
La clasificacin toma el tiempo proporcional al producto del nmero de casos del entrenamiento y de la prueba

Su complejidad temporal (para evaluar un ejemplo) es O(dn2) siendo O(d) la complejidad de la distancia utilizada
Una forma de reducir esta complejidad es mediante el uso de prototipos Otra forma es hacer la busqueda ms eficiente mediante las estructuras de datos apropiadas: Arbole kD (kD-Tree)

Vous aimerez peut-être aussi