decision

Upload: rlopezleal

Post on 20-Jul-2015

57 views

Category:

Documents


1 download

TRANSCRIPT

1Aprendizaje de rboles de decisin Aprendizaje de rboles de decisinJos M. SempereDepartamento de Sistemas Informticos y ComputacinUniversidad Politcnica de ValenciaAprendizaje de rboles de decisin Aprendizaje de rboles de decisin1. Introduccin. Definicin y algoritmos de aprendizaje.2. Conceptos bsicos de teora de la informacin3 El algoritmo ID3 ID3 3. El algoritmo ID3 ID34. Extensiones hacia el algoritmo C4.5 C4.55. Una versin incremental del ID3 ID3: El algoritmo ID5RBibliografa Bibliografa T. Mitchell. Machine Learning. Ed. McGraw T. Mitchell. Machine Learning. Ed. McGraw- -Hill. 1997. Hill. 1997. B Sierra Aprendizaje Automtico Ed Pearson B Sierra Aprendizaje Automtico Ed Pearson-- Prentice Hall 2006 Prentice Hall 2006 B. Sierra. Aprendizaje Automtico. Ed. Pearson B. Sierra. Aprendizaje Automtico. Ed. Pearson-- Prentice Hall. 2006. Prentice Hall. 2006. J.R. Quinlan. C 4.5: programs for machine learning.Ed. Morgan Kaufmann. 1993. J.R. Quinlan. C 4.5: programs for machine learning.Ed. Morgan Kaufmann. 1993.2Un rbol de decisin rbol de decisin es una representacin de una funcinmultievaluadaf: A 1 A 2 ... A n BA 1l(A 1 j)A 2oprel(A 1.v,v1)oprel(A 1.v,vj)B .v2 B .v1A noprel(A j.v,vk) = {A j.v = vk, A j.v s vk A j.v > vk A j.v = vk,... }oprel(A n.v,v1) oprel(A n.v,vh)Ejemplo: rbol de decisin para Ejemplo: rbol de decisin para Administrar frmaco Administrar frmaco F ? F ?Presin arterial ?BajaMediaSAltaAzcar en sangre ?Altondice de colesterol ?SAlergia a antibiticos ?S NoBajoSAlto BajoSNoOtras alergias ? SSS NoNo S3Los r bol es de deci si n son adecuados cuando ... Los r bol es de deci si n son adecuados cuando ... Las inst ancias del concept o son represent adas por paresat ribut o-valor La funcin obj et ivo t iene valores de salida discret os Las descripciones del obj et o son disyunt ivas El conj unt o de aprendizaj e t iene errores El conj unt o de aprendizaj ees incomplet o Al gunos al gor i t mos par a elapr endi zaj eAl gunos al gor i t mos par a elapr endi zaj e de r bol es de deci si n de r bol es de deci si n Hovel and y Hunt( 1950) : ConceptLear ni ng Syst ems ( CLS) Br ei man, Fr i endman, Ol shen y St one ( 1984) : Mt odo CART J.R. Qui nl an ( 1973, 1986) :Mt odo I D3 J.R. Qui nl an ( 1994) :Mt odo C4.5 G.V. Kass ( 1980) : Mt odo CHAI D Ot r as mej or as delC4.5: J4.8, C5.0 J. Schl i mmery D. Fi sher( 1986) : I D4 e I D4R P. Ut gof f( 1990) : I D5 e I D5R4 Un algoritmo genrico para el aprendizaje deUn algoritmo genrico para el aprendizaje de rboles de decisinrboles de decisin Ent rada:Un conj unt o de ej emplosde aprendizaj e(t uplas supervisadas) ESalida:Un rbol de decisin TMt odo:Crear una raiz para el rbol.si t odos los ej emplospert enecen a la clase Cjent onces ret urn (raiz,Cj)si noSeleccionar un at ribut o X con valores x1, x2, , xMPart icionar E de acuerdo con los valores del at ribut o E1, E2, , EMConst ruir rboles de decisin para cada part icin T1, T2, , TMret urn (raiz(T T T )) ret urn (raiz(T1,T2, , TM))finMt odoT1X =x2X =xMX =x1T2TMr ai zConceptos bsicos de la teora de la informacin Conceptos bsicos de la teora de la informacin (I) (I)Teor a de l a pr obabi l i dadVariables independientesp(x,y)=p(x)p(y)Probabilidad condicional y conjuntap(x,y)=p(x|y)p(y)p(x,y)=p(y|x)p(x)) () ( ) | () | (y px p x y py x p =Teorema de Bayes ( regla de Bayes )5Conceptos bsicos de la teora de la informacin Conceptos bsicos de la teora de la informacin (II) (II)== = =nii ix X p x X p X H12) ( log ) ( ) (Ent r opaH(x)= i 1 =xy x p y x p y X H ) | ( log ) | ( ) | (2 =y xy x p y x p y p Y X H ) | ( log ) | ( ) ( ) | (2Teorema (1) H(X Y) s H(X) + H(Y)p(x)0.5Teorema.(1) H(X,Y) s H(X) + H(Y)(2) H(X,Y) = H(X) + H(Y) sii X e Y son independientesTeorema.H(X,Y) = H(Y) + H(X |Y) = H(X) + H(Y | X)Corolario (1) H(X | Y) s H(X)(2) H(X | Y) = H(X) sii X e Y son independientes.El algoritmo de aprendizaje de rboles de decisin El algoritmo de aprendizaje de rboles de decisin ID3 ID3J.R Quinlan (1986) Bsqueda voraz top-down q p Basado en un criterio estadstico Seleccin de atributos mediante el Principio de ganancia de informacinS: conjunto de ejemplos clasificados en C clasesA: Atributo de los ejemplosS Ej l l t ib t Ati l l) (| || |) ( ) , () (SSvA Valores vEntropaSS Entropa A S GananciaVe Sv: Ejemplos que en el atributo A tienen el valor v6 Algoritmo ID3 Algoritmo ID3(Ejemplos, Atributo_salida, Atributos)Ejemplos: Ejemplos de aprendizaje.Atributo_salida: Atributo a predecir por el rbol.Atributos: Lista de atributos a comprobar por el rbol.(1) Crear una raiz para el rbol.(2) Si todos los ejemplos son positivos Return(raiz,+)(3) Si t d l j l ti R t ( i ) (3) Si todos los ejemplos son negativos Return(raiz,-)(4) Si Atributos=CReturn(raiz,l)( l es el mximo valor comn de Atributo_salidaen Ejemplos )Si ninguna de las anteriores condiciones se cumple Begin(1) Seleccionar el atributo A con mayor Ganancia(Ejemplos,A)(2) El atributo de decisin para raiz es A(3) Para cada posible valor vide A(3.1) Aadir una rama a raiz con el test A=vi(3.2) Ejemplos_vies el subconjunto de Ejemplos con valor vipara A(3.3) Si Ejemplos_vi=Centonces aadir un nodo (n,l) a partir de la rama creada. (l es el mximo valor comn de Atributo_salida en Ejemplos).sino aadir a la rama creada el subrbolID3(Ejemplos_vi, Atributo_salida, Atributos-{A})EndReturn(raiz)Paciente Paciente PresinPresin arterial arterialAzcar enAzcar en sangre sangrendice dendice de colesterol colesterolAlergia aAlergia a antibiticos antibiticosOtrasOtras alergias alergiasAdministrarAdministrar frmaco F frmaco F11 Alta Alto Alto No No S22 Alta Alto Alto S No S33 Baja Alto Bajo No No SUn ejemplo: Un ejemplo: Administrar frmaco F? Administrar frmaco F?33 Baja Alto Bajo No No S44 Media Alto Alto No S No55 Media Bajo Alto S S No66 Baja Bajo Alto S S S77 Alta Bajo Alto S No S88 Alta Bajo Bajo No S S99 Alta Alto Bajo S S No j10 10 Baja Bajo Alto S S S11 11 Media Bajo Bajo S S S12 12 Alta Bajo Alto S S No13 13 Baja Alto Alto S S S14 14 Baja Alto Bajo No No S7Clculo de entropas y ganancia de la informacin respecto del atributoPresin arterial Presin arterial863121 . 0144log144-1410log1410- log ) (2 2 21= = ==iciip p S Entropa2 2 4 40.91829662log62-64log64- ) (2 2= ==Alta PAS Entropa055log55- ) (2= ==Baja PAS Entropa0.91829631log31-32log32- ) (2 2= ==Media PAS Entropa0.272788 0.9182961430145918296 . 01460.863121 ) , ( = = PA S GananciaClculo de entropas y ganancia de la informacin respecto del atributoAzcar en sangre Azcar en sangre863121 . 0144log144-1410log1410- log ) (2 2 21= = ==iciip p S Entropa863121 . 072log72-75log75- ) (2 2= ==Alto ASS Entropa863121 . 072log72-75log75- ) (2 2= ==Bajo ASS Entropa0 0.863121147863121 . 01470.863121 ) , ( = = AS S Ganancia8Clculo de entropas y ganancia de la informacin respecto del atributondice de colesterol ndice de colesterol863121 . 0144log144-1410log1410- log ) (2 2 21= = ==iciip p S Entropa918296 . 093log93-96log96- ) (2 2= ==Alto ICS Entropa721928 . 051log51-54log54- ) (2 2= ==Bajo ICS Entropa0.0149564 0.721928145918296 . 01490.863121 ) , ( = = IC S GananciaClculo de entropas y ganancia de la informacin respecto del atributo Alergia a antibiticos Alergia a antibiticos863121 . 0144log144-1410log1410- log ) (2 2 21= = ==iciip p S Entropa918296 . 093log93-96log96- ) (2 2= ==SI AAS Entropa721928 . 051log51-54log54- ) (2 2= ==NO AAS Entropa0149564 . 0 0.721928145918296 . 01490.863121 ) , ( = = AA S Ganancia9Clculo de entropas y ganancia de la informacin respecto del atributo Otras alergias Otras alergias863121 . 0144log144-1410log1410- log ) (2 2 21= = ==iciip p S Entropa1 i991076 . 094log94-95log95- ) (2 2= ==SI OAS Entropa055log55- ) (2= ==NO OAS Entropa226001 . 0 0145991076 . 01490.863121 ) , ( = = OA S GananciaSeleccin del mejor atributo que explica las decisionesGanancia Ganancia((S,PA S,PA) =) = 0.272788 0.272788Ganancia(S,AS) = 0Ganancia(S,IC) = 0.0149564Ganancia(S,AA) = 0.0149564Ganancia(S,OA) = 0.22600110Presin arterial ?BajaMedia AltaPaciente Paciente PresinPresin arterial arterialAzcar enAzcar en sangre sangrendice dendice de colesterol colesterolAlergia aAlergia a antibiticos antibiticosOtrasOtras alergias alergiasAdministrarAdministrar frmaco F frmaco F11 Alta Alto Alto No No S22 Alta Alto Alto S No S33 Baja Alto Bajo No No S 33 Baja Alto Bajo No No S44 Media Alto Alto No S No55 Media Bajo Alto S S No66 Baja Bajo Alto S S S77 Alta Bajo Alto S No S88 Alta Bajo Bajo No S S99 Alta Alto Bajo S S No10 10 Baja Bajo Alto S S S11 11 Media Bajo Bajo S S S12 12 Alta Bajo Alto S S No13 13 Baja Alto Alto S S S14 14 Baja Alto Bajo No No S11Tabla de datos para calcular elsubrbolde PA=Alta PA=AltaPaciente Paciente Azcar enAzcar en sangre sangrendice dendice de colesterol colesterolAlergia aAlergia a antibiticos antibiticosOtrasOtras alergias alergiasAdministrarAdministrar frmaco F frmaco F11 Alto Alto No No S22 Alto Alto S No S77 Bajo Alto S No S88 Bajo Bajo No S S99 Alto Bajo S S No12 12 Bajo Alto S S NoCaractersticas delCaractersticas del ID3 ID3Espacio de hiptesis completoHiptesis nica en cada momento de tiempo Hiptesis nica en cada momento de tiempoNo se realiza backtracking Bsqueda no incrementalPrincipio de la navaja de Occam (MDL)Saturacin sobre los datos (overfitting)12Hacia el algoritmo de aprendizaje de rboles de decisin Hacia el algoritmo de aprendizaje de rboles de decisin C4.5 C4.5El problemade la sat uracin ( overfit t ing )Dado unespacio dehipt esis H, una hipt esis h e H diremos quesat ura un conj unt o de aprendizaj e si exist e ot ra hipt esis h t al queh t iene menor errorque h sobreel conj unt o de aprendizaj e,peroh t i h b l di t ib i t t l d i t i h t ienemenor error que h sobre la dist ribucint ot al de inst anciasde aprendizaj e.Posible solucin (C4.5)Ut ilizad un conj unt o de aprendizaj e A y un conj unt o de validacin V.1. I nferir el rbolcon el conj unt o A2. Est ablecer t odas las posibles podas del rbol (convirt iendo los caminos desde la raz en reglas de decisin y eliminando precondiciones)3 Para cada poda medir el error respect o del conj unt o V 3. Para cada poda medir el error respect o del conj unt o V4. Ordenad los mej ores result ados y aplicadlosen la fase de t est .Si ( PA= Medi a). ( I C= al t o)ent onces NO admi ni st r arFSi ( PA= Medi a)ent onces NO admi ni st r arFSi ( I C= al t o)ent onces NO admi ni st r arFHacia el algoritmo de aprendizaje de rboles de decisin Hacia el algoritmo de aprendizaje de rboles de decisin C4.5 C4.5Evaluacin de at ribut os cont inuosCmo incorporar at ribut os cont inuos en las fases de aprendizaj ey de t est :Dada una variablex de carct er cont inuo, est ableced los int ervalos adecuados,en sus valores para proporcionarvariables discret as0 10 20 30 40 50Temper at ur aTs cT>ccProblema: Cmo seleccionar el (los) valor(es) de c ?Posible solucin: Seleccionad aquellos valores que mayor ganancia de informacin proporcionen13Hacia el algoritmo de aprendizaje de rboles de decisin Hacia el algoritmo de aprendizaje de rboles de decisin C4.5 C4.5I ncorporacin de ot ras medidas para la seleccin de at ribut osProblema: La medida Ganancia favorece aquellas variablescon mayor nmerode posiblesvaloresPosible solucin| || |log| || |) , (21SSSSA S mation SplitInforicii= Dados S (un conj unt o de ej emplos de aprendizaj e)y A (un at ribut o de losej emplos que puede t omar c posibles valores) definimos Spl i t I nf or mat i on( S,A) denot a la ent ropa de S con respect o a los valores de A) , () , () , (A S mation SplitInforA S GananciaA S ancia RatiodeGan El Rat i odeGanaci a( S,A) favorece aquellos at ribut os que, en igualdad de Ganacia,separen los dat os en menos clases.Hacia el algoritmo de aprendizaje de rboles de decisin Hacia el algoritmo de aprendizaje de rboles de decisin C4.5 C4.5Manej o de ej emplosincomplet os (at ribut os no evaluados)Problema: Dado un conj unt o de ej emplos qu hacer cuando algunos at ribut osno t ienen valor ?Posibles soluciones(1) Est imar el valor desconocido como el valor mayorit arioque aparece en elel rest o de ej emplos(2) Asignar a cada posible valor una probabilidad(frecuencia) de acuerdo conel rest o de ej emplos.A cont inuacin repart ir el ej emploen cada uno de susvalores de acuerdo con la probabilidady hacer el clculo de la Ganancia p yEn el caso de la clasificacin, los casos con valores desconocidos se clasificande acuerdo con la mayor probabilidadque proporcioneel rbol.14Hacia el algoritmo de aprendizaje de rboles de decisin Hacia el algoritmo de aprendizaje de rboles de decisin C4.5 C4.5I nt roduciendo cost es en los at ribut osProblema: Todos los at ribut os son igual de valiosos al hacer una clasificacin ?Posible solucin) () , (2A CosteA S GananciaPosible solucinI ncorporar el cost e de evaluar cada at ribut o a la hora de est imar elmej or de t odos ellos.Algunas medidas pueden ser las siguient eswA S GananciaA Coste ) 1 ) ( (1 2) , (+w es una const ant e ent r e 0 y 1 que eval a l ai mpor t anci a delCost e f r ent e a l a Gananci aUna versin incremental del algoritmo ID3: Una versin incremental del algoritmo ID3: ID5R ID5R(para versiones dicotmicas en la decisin)Nueva informacin en los nodos de decisinSea A el conj unt o de at ribut os present es en los ej emplos.Sea aiel i-simo at ribut o de un ej emplo Sea aiel i simo at ribut o de un ej emploSea Viel conj unt o de valores posibles para aiSea vijel valor j -esimo del at ribut o aiDefinimos la funcin E+=iVij ijn p In pa E ) ( ) (p =nmero de ej emplosposit ivosn =nmero de ej emplosnegat ivospij= nmero de ej emplos posit ivos con valor vij =+jij ij in p In pa E1) , ( ) ( pij nmero de ej emplosposit ivos con valor vijnij=nmero de ej emplosnegat ivos con valor vij+ ++ +===caso otro enlog log0 si 00 si 0) , (y xyy xyy xxy xxyxy x I15 Algoritmo ID5R Algoritmo ID5R(T, Ejemplo)T : rbol en cursoEjemplo :Nuevo ejemplo de aprendizaje.Atributo_salida: Atributo a predecir por el rbol.Atributos: Lista de atributos a comprobar por el rbol.si T es nulo entonces definid un rbol trivial con Ejemplosino si T slo contiene una raz de la misma clase que Ejemploentonces Incorporad Ejemplo a la razsino Begin(1) si T slo contiene una raz de distinta clase que Ejemploentonces Expandir el rbol un nivel eligiendo el Atributo de Atributos de forma arbitraria(2) Actualizad los contadores de instancias (+,-)en cada valor de cada atributo(3)si la raz actual contiene un Atributo con un valor E que no es minimal entonces (3.a) Reestructurad el rbol situando en la raz un nodo con E minimal(3.b) Recursivamente situad el mejor nodo en cada subrbol excepto en el nodo ( ) j preferido en (4)(4) Recursivamente actualizad el subrbol dependiente de cada nodo de acuerdo con EjemploEndReestructurando rboles Reestructurando rboles (pull (pull- -up)up) La reestructuracin de un rbol consiste en situar en los nodos superiores aquellosatributos que mejor expliquen la clasificacin de instancias de acuerdo con el indicador E. A este proceso se le denomina pull-up y obedece al siguiente esquemaalgortmicosi el atributo a subir anuevoest en la razentonces fin del mtodo entonces fin_del_mtodosino (1) Recursivamente subid el atributo anuevoa la raz del subrbolinmediato. Convertid cualquiercualquier rbol no expandido en uno expandido eligiendo anuevocomo el atributo a testear(2) Transponer el rbol de forma que anuevose site en la raz y la antigua raz como raz de cada subrbol dependiente de anuevoEj emploAAanuevoanuevoanuevoA AA (1) expansin (2) t ransposicin16Atributo de salidaAltura Color de peloColor deojos-Bajo Rubio Marrones-Alto Moreno MarronesUn ej emplo (I )+Alto Rubio Azules-Alto Moreno Azules-Bajo Moreno Azules+Alto Rojo Azules-Alto Rubio Marrones+Bajo Rubio Azules+jUn ej emplo (I I )Inicialmente el rbol es nuloEjemplo = {-, Bajo, Rubio, Marrones}S lid Salida-(Altura=Bajo, Pelo=Rubio, Ojos=Marrones)Ejemplo = {-, Alto, Moreno, Marrones}Salida-(Altura=Bajo, Pelo=Rubio, Ojos=Marrones)(Altura=Alto, Pelo=Moreno, Ojos=Marrones)17Un ej emplo (I I I )Ejemplo = {+, Alto, Rubio, Azules}SalidaAl t ur aBaj o[ 0,1]Alt o[ 1,1]valor_de_at ribut o[ + ,-](Pelo=Rubio, Ojos=Marrones) (Pelo=Moreno, Ojos=Marrones)Al t ur aBaj o[ 0 1]Alt o[ 1,1]Oj osAzules[ 1,0]Marrones[ 0,2]Oj os t iene el menor valorE(Pelo=Rubio)Baj o[ 0,1][ , ](Pelo=Moreno)Oj os Oj osMarrones[ 0,1] Marrones[ 0,1](Pelo=Rubio) (Pelo=Moreno)Al t ur a+Baj o[ 0,1] Alt o[ 0,1](Pelo=Rubio,Altura=Alto)Un ej emplo (I V)Ejemplo = {-, Alto, Moreno, Azules}SalidaOj osMarrones[ 0 2](Pelo=Rubio)Azules[ 1,1]Marrones[ 0,2](Pelo=Moreno)Al t ur aBaj o[ 0,1] Alt o[ 0,1](Altura=Alto)Pel oRubio[ 0,1] Moreno[ 0,1]Al t ur aAlt o[ 1 0]+Alt o[ 1,0]18Un ej emplo (V)Ejemplo = {-, Bajo, Moreno, Azules}SalidaMoreno[ 0 3]Pel o(Altura=Alto)(Altura=Bajo)Oj osRubio[ 1,1]Moreno[ 0,3]Oj osAzules[ 0,2] Marrones[ 0,1] Azules[ 1,0] Marrones[ 0,1]Al t ur aAlt o[ 1 0]Al t ur aBaj o[ 0 1]Al t ur aAlt o[ 0,1] ( j )+Alt o[ 1,0] Baj o[ 0,1][ , ]Un ej emplo (VI )Ejemplo = {+, Alto, Rojo, Azules}SalidaPel o(Altura=Alto)(Altura=Bajo)Oj osRubio[ 1,1]Moreno[ 0,3]Oj osAzules[ 0,2] Marrones[ 0,1] Azules[ 1,0] Marrones[ 0,1]Al t ur aAlt o[ 1 0]Al t ur aBaj o[ 0 1]Al t ur aAlt o[ 0,1]Roj o[ 1,0]+(Altura=Alto,Ojos=Azules)( j )+Alt o[ 1,0] Baj o[ 0,1][ , ]19Un ej emplo (VI I )Ejemplo = {-, Alto, Rubio, Marrones}Ejemplo = {+, Bajo, Rubio, Azules}Salida: La estructura de los atributos del rbol no cambia. Los contadores se actualizan.Oj osRubio[ 2,2]Moreno[ 0,3]Oj osAzules[ 0,2] Marrones[ 0,1]Pel oAzules[ 2,0] Marrones[ 0,2]Roj o[ 1,0]+(Al Al(Altura=Alto)(Altura=Bajo)+Al t ur a Al t ur aBaj o[ 0,1]Al t ur aAlt o[ 0,1](Altura=Alto,Ojos=Azules)Alt o[ 0,1] Baj o[ 1,0]Alt o[ 1,0]+El rbol del ej emplo ant erior en format o I D3 I D3RubioMorenoPel oRoj oOj osAzules Marrones++