Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DECISIÓN
GUIA RESUMIDA DEL LIBRO C4.5
:PROGRAMS FOR MACHINE LEARNING
DATA SET
N° Outlook Temp(°F) Humidity(%) Windy? Class
1 sunny 75 70 TRUE play
2 sunny 80 90 TRUE dont play
3 sunny 85 85 FALSE dont play
4 sunny 72 95 FALSE dont play
5 sunny 69 70 FALSE play
6 overcast 72 90 TRUE play
7 overcast 83 78 FALSE play
8 overcast 64 65 TRUE play
9 overcast 81 75 FALSE play
10 rain 71 80 TRUE dont play
11 rain 65 70 TRUE dont play
12 rain 75 80 FALSE play
13 rain 68 80 FALSE play
14 rain 70 96 FALSE play
GAIN CRITERION
• Asumiendo un posible test(prueba) con n resultados que dividen el set T (de casos de entrenamiento) en subgrupos
• Si este test es para ser evaluado sin explorar las subsecuentes divisiones de ,la única información disponible como
guía es la distribución de clases en T y su subgrupos.
NOTACIONES:
𝑓𝑟𝑒𝑞
( 𝐶 𝑖 , 𝑆 ) : 𝑛𝑢𝑚𝑒𝑟𝑜 𝑑𝑒 𝑐𝑎𝑠𝑜𝑠 𝑒𝑛 𝑆 𝑞𝑢𝑒 𝑝𝑒𝑟𝑡𝑒𝑛𝑒𝑐𝑒𝑛 𝑎 𝑙𝑎 𝑐𝑙𝑎𝑠𝑒 𝐶 𝑖
¿ 𝑆 ∨: 𝑛𝑢𝑚𝑒𝑟𝑜 𝑑𝑒 𝑐𝑎𝑠𝑜𝑠 𝑒𝑛 𝑆
p 𝑟𝑢𝑒𝑏𝑎 : 𝑡𝑒𝑠𝑡
GAIN CRITERION
• El original ID3 uso un criterio llamado ganancia: La información
transportada en un mensaje depende de su probabilidad y puede ser
medida en bits como menos el logaritmo de base 2 de la probabilidad:
− log2 𝑝
• Imaginando que se selecciona un caso al azar de un set S de casos y
anunciando que pertenece a alguna clase .La probabilidad de este
mensaje es :
𝑓𝑟𝑒𝑞 ( 𝐶 𝑗 , 𝑆 )
¿ 𝑆 ∨¿ ¿
• Entonces la información que porta es:
𝑓𝑟𝑒𝑞 ( 𝐶 𝑗 , 𝑆 )
− log2 ( ) 𝑏𝑖𝑡𝑠
|𝑆|
GAIN CRITERION
• Para encontrar la información esperada de que tal mensaje pertenezca a
la membresía de la clase, se suma las clases en proporción a sus
frecuencias en S:
𝑘
𝑓𝑟𝑒𝑞 𝐶 𝑗 , 𝑆
( ) 𝑓𝑟𝑒𝑞 𝐶 𝑗 , 𝑆
( )
𝑖𝑛𝑓𝑜 ( 𝑆 )=− ∑ ∗ log 2( ) 𝑏𝑖𝑡𝑠
𝑗=1 |𝑆| |𝑆|
• Cuando se aplica al set de entrenamiento ,info(T) mide la cantidad de
información media necesaria para identificar la clase de un caso en T.
(Esta cantidad también es conocida como entropía del set S)
GAIN CRITERION
• Considerando ahora una medida similar después de que T ha sido
dividió de acuerdo con n resultados de una prueba X (test). La
información esperada requerida puede ser encontrada como la suma
ponderada sobre el subgrupo:
𝑛
|𝑇 𝑖|
𝑖𝑛𝑓 𝑜 𝑋 ( 𝑆 ) = − ∑ ∗ 𝑖𝑛𝑓𝑜 ( 𝑇 𝑖 ) 𝑏𝑖𝑡𝑠
𝑗=1 |𝑇 |
• La cantidad mide:
• La información que es ganada al dividir T de acuerdo con el test
X.
• El gain criterion selecciona una prueba(test) para maximizar esta
ganancia de información(cual es también llamada información mutua
entre la prueba X y la clase).
GAIN CRITERION
N° Outlook Temp(°F) Humidity(%) Windy? Class
1 sunny 75 70 TRUE play
2 sunny 80 90 TRUE dont play
3 sunny 85 85 FALSE dont play
4 sunny 72 95 FALSE dont play
5 sunny 69 70 FALSE play
6 overcast 72 90 5 TRUE play
7 overcast 83 78 FALSE play
DontPlay 9 Play
8 overcast 64 65 TRUE play
9 overcast 81 75 FALSE play
10 rain 71 80 TRUE dont play
11 rain 65 70 TRUE dont play
12 rain 75 80 FALSE play
13 rain 68 80 FALSE play
14 rain 70 96 FALSE play
• Considerando que existen 2 clases, 9 que pertenecen a Play y 5 que pertenecen a Dont Play
9 4 5 5 **Recordar que esta info representa la
𝑖𝑛𝑓𝑜 ( 𝑇 ) =−
14 ( )
∗ log 2
14
− ∗ log 2
14 14 ( )
=0.94 𝑏𝑖𝑡𝑠 información media necesaria para
identificar la clase de un caso en T
GAIN CRITERION
N° Outlook Temp(°F) Humidity(%) Windy? Class
• Luego de usar Outlook para dividir T en 1 sunny 75 70 TRUE play
3 subgrupos, el resultado es dado por: 2 sunny 80 90 TRUE dont play
3 sunny 85 85 FALSE dont play
5 2 2 3 3
𝑇 )=
14
∗ (− log 2
5 ( ) 5 ( )
− log24
5 5
6
5
) sunny
sunny
overcast
72
69
72
95
70
90
FALSE
FALSE
TRUE
dont play
play
play
4 4 2 0 0
+¿
14
∗(− log2
4 () ()
5 4
− log 2
4
) 7
8
9
overcast
overcast
overcast
83
64
81
78
65
75
FALSE
TRUE
FALSE
play
play
play
5 3 3 2 2
+¿
14
∗(−
5
log ()
2 ()
5 5
− log 2
5
) 10
11
12
rain
rain
rain
71
65
75
80
70
80
TRUE
TRUE
FALSE
dont play
dont play
play
13 rain 68 80 FALSE play
¿ 0.694 𝑏𝑖𝑡𝑠
14 rain 70 96 FALSE play
• La información ganada por este test es
por lo tanto
GAIN CRITERION
N° Outlook Temp(°F) Humidity(%) Windy? Class
• Suponiendo que en vez de dividir T en el 1 sunny 75 70 TRUE play
atributo Outlook ,se divide por atributo 2 sunny 80 90 TRUE dont play
windy: 3 sunny 85 85 FALSE dont play
4 sunny 72 95 FALSE dont play
• Esto entregaría 2 subgrupos ,uno con 3 5 sunny 69 70 FALSE play
6 overcast 72 90 TRUE play
Play y 3 DontPlay ,los otros con 6 Play y
7 overcast 83 78 FALSE play
2 DontPlay
8 overcast 64 65 TRUE play
9 overcast 81 75 FALSE play
6 3 3 3 3
(𝑇 )=
14
∗ (− log 2
6 ( ) ( )
6
− log10
6 2
11
12
6
) rain
rain
rain
71
65
75
80
70
80
TRUE
TRUE
FALSE
dont play
dont play
play
8 6 6 2 2 13
+¿
14
∗(− log 2
8 () ()
8 8
− log 2 )
8 14
rain
rain
68
70
80
96
FALSE
FALSE
play
play
¿ 0.892 𝑏𝑖𝑡𝑠
** Como es menor que la ganancia de Outlook ,el criterio de la
0.
94 −0.892=0.048 𝑏𝑖𝑡𝑠
ganancia preferirá la prueba sobre Outlook sobre windy.
GAIN CRITERION
N° Outlook Temp(°F) Humidity(%) Windy? Class
• Escogiendo otra separación de grupos 1 sunny 75 70 TRUE play
2 sunny 80 90 TRUE dont play
3 sunny 85 85 FALSE dont play
9 6 6 3 3
(𝑇 )=
14
∗ (− log 2
9 ( ) 9( ) − log42
9 5 9
)sunny
sunny
72
69
95
70
FALSE
FALSE
dont play
play
5 3 3 2 2 6 overcast 72 90 TRUE play
+¿
14
∗(− log2
5 () ()
5 5
− log 2
5
) 7
8
overcast
overcast
83
64
78
65
FALSE
TRUE
play
play
9 overcast 81 75 FALSE play
¿ 0.937 𝑏𝑖𝑡𝑠 10 rain 71 80 TRUE dont play
11 rain 65 70 TRUE dont play
0. 94 −0.937=0.003 𝑏𝑖𝑡𝑠
12 rain 75 80 FALSE play
13 rain 68 80 FALSE play
14 rain 70 96 FALSE play
GAIN RATIO CRITERION
• PROBLEMAS CON GAIN CRITERION: tiene un fuerte “bias” en favor de las pruebas con muchos
resultados
• Lo anterior se puede evidenciar al considerar una hipotética tarea de diagnosis medica en cual uno de los
atributos contiene una identificación del paciente.
• Como cada identificación se pretende que sea única, separar el grupo de casos de entrenamiento en los
valores de este atributo llevara a un gran numero de subgrupos, cada uno conteniendo un solo caso.
• Ya que todos estos únicos-casos de subgrupos necesariamente contiene casos de una sola clase, ,entonces
la ganancia de información usando este atributo para la separación del set de entrenamiento es máxima.
• Se puede rectificar el gain criterion por una clase de normalización en cual la ganancia aparente
atribuible a la prueba con muchos resultados se ajusta.
• Considerar que la información contenida en un mensaje perteneciente a un caso que indica el resultado de
la prueba , no la clase a la cual pertenece:
Entonces:
𝑔𝑎𝑖𝑛**Expresa
( 𝑋 ) la proporción de información generada por la
𝐺𝑎𝑖𝑛 𝑟𝑎𝑡𝑖𝑜 ( 𝑋 )= división(“Split”)
𝑠𝑝𝑙𝑖𝑡 𝑖𝑛𝑓𝑜 ( 𝑋 ) que es útil, es decir , que parece útil para
la clasificación.
• Si la división es trivial, el split info será pequeña y esta razón será inestable.
• Para evitar lo anterior ,el gain criterion selecciona una prueba para maximizar la razón anterior,
sujeto a restricciones de que la ganancia de información debe ser grande ,al menos tan grande
como la ganancia media sobre todas las pruebas examinadas
• Entonces si hay k clases, el numerador(ganancia de información) es a lo mas k .El denominador por otro lado es n
, con n siendo el numero de casos de entrenamiento, donde cada caso tiene un único resultado .
GAIN RATIO CRITERION
• Parece razonable presumir que el numero de casos de entrenamiento es mucho mas grande que el numero de clases,
así que el ratio tendrá un valor pequeño.
• Continuando con los ejemplo anteriores , la información de Split (división) es calculada como
5 5 4 4 5 5
𝑠𝑝𝑙𝑖𝑡 𝑖𝑛𝑓𝑜𝑟𝑚𝑎𝑡𝑖𝑜𝑛 ( 𝑇 )=−
14
log2
14 ( )
−
14
log 2
14
−
14 ( )
log 2
14 ( )
¿ 1.577 𝑏𝑖𝑡𝑠
=0.156
TEST(pruebas) en atributos
continuos
• Los casos de entrenamiento T son ordenados según los valores del atributo A considerado.
• Solo hay números finitos de valores, denotándolos como {, ,.., }
• Cualquier valor umbral entre valores y tendrá el mismo efecto que dividir los casos en aquellos valores del
atributo A que estén en {, ,.., } y aquellos cuyos valores están en {, ,.., }.
• Entonces solo hay m-1 posibles divisiones sobre A ,todas siendo examinadas.
• Es usual escoger el punto medio de cada intervalo como el intervalo representativo, el i-esimo siendo:
𝑣 𝑖 + 𝑣 𝑖+1
2
TEST(pruebas) en atributos
continuos
• Por ejemplo: En un caso que existan 15 valores distintos de un atributo dentro de 40 casos de entrenamiento ,se
asocian
14 valores umbrales ,pero el valor mas grande es excluido porque divide solo 1 caso de entrenamiento.
** Se observa que el mejor
umbral de valor 2.5
,convirtiéndose en la raíz del
árbol de decisión
En otras palabras es la ganancia aparente al mirar los casos con valores conocidos de un atributo relevante,
**
multiplicado por la fracción de esos casos en el grupo de entrenamiento
Similarmente la definición de puede ser alterada con respecto a los casos con valores desconocidos como la
**
consideración de un grupo adicional(grupo de valores desconocidos).Si un grupo tiene n resultados, la
información de Split es calculada como si la prueba(test) se divide en n+1 grupos.
VALORES DESCONOCIDOS DE
ATRIBUTOS
• Dividiendo el grupo de entrenamiento
• Cuando un caso de T con resultado conocido es asignado a un subgrupo , esto indica que la probabilidad de
que el caso pertenezca al subgrupo es y en los otros subgrupos es .
• Cuando el resultado no se conoce, solo se puede establecer una débil afirmación probabilística.
• Entonces asociamos con cada caso en cada subgrupo un peso representando la probabilidad de que el caso
pertenezca a cada subgrupo.
• Si el caso tiene un resultado conocido, el peso es Si el caso tiene un resultado desconocido ,el peso es solo la
probabilidad del resultado en este punto.
• Cada subgrupo es ahora una colección de posibles casos fraccionales así que debería ser reinterpretado como
la suma de presos fraccionales de los casos en el grupo.
• Por supuesto los casos de entrenamiento en T pueden tener pesos no unitarios desde el comienzo, ya que T
puede ser un subgrupo de una partición anterior.
• Así que en general ,un caso de T con peso w cuyo resultado no se conozca es asignado a cada subgrupo con
peso :
3 3
7
8
9
overcast
overcast
overcast
83
64
81
78
65
75
FALSE
TRUE
FALSE
play
play
play
+¿
−
14
log 2 ( 14 ) (para overcast)
10 rain 71 80 TRUE dont play
5 5
11
12
13
rain
rain
rain
65
75
68
70
80
80
TRUE dont play
FALSE
FALSE
play
play
+¿
−
14
log 2 ( 14 ) (para rain)
14 rain 70 96 FALSE play 1 1
+¿
−
14
log 2 ( 14 ) (para “?”)
Outlook
sunny
Play
2
DontPlay
3
total
5 ¿ 1.809 𝑏𝑖𝑡𝑠
overcast 3 0 3
rain 3 2 5 =0.110
total 8 5 13
VALORES DESCONOCIDOS DE
ATRIBUTOS
• Si el subgrupo se divide en el atributo
humidity la distribución de clases en el
outlook Temp (°F) Humidity(%) Windy? Decision Weight subgrupo es:
sunny 75 70 TRUE Play 1
sunny 80 90 TRUE DontPlay 1 humidity 75
sunny 85 85 FALSE DontPlay 1
sunny 72 95 FALSE DontPlay 1 2 clases Play
sunny 69 70 FALSE Play 1 0 clases DontPlay
? 72 90 TRUE Play 5/13
humidity 75
5/13 clases Play
3 clases DontPlay
**El primero consiste de casos de una sola clase Play. El segundo contiene casos de ambas clases pero el programa no
puede encontrar pruebas que sensiblemente mejore la situación. Similarmente el subgrupo correspondiente a
Outlook=rain no puede ser dividió en subgrupos de una sola clase. El árbol de decisión tiene la siguiente estructura:
VALORES DESCONOCIDOS DE
ATRIBUTOS
• N es la suma de los casos fraccionales que
alcanzan la hoja ; E es el numero de casos que
pertenecen a las clases distintas a la clase
nombrada.
• DontPlay(3.4/0.4) : 3.4 (fraccional) casos de
entrenamiento alcanza esta hoja, de los cuales
0.4 no pertenecen a la clase DontPlay. Entonces 3
si pertenecen a la clase DontPlay.
• Ahora viendo que ocurre cuando el árbol es usado para clasificar un caso donde Outlook es sunny ,temperatura
70° , humidity desconocida, y windy =False. El valor Outlook asegura que es caso se mueva al primer subárbol,
pero no es posible determinar si humidity 75 .Sin embargo podemos ver que :
• Si la humidity fuese menor o igual que 75% ,el caso seria clasificado como Play y ,
• Si la humidity fuese mayor a 75% el caso seria clasificado como DontPlay con probabilidad 3/3.4(88%) y
Play con probabilidad 0.4/3.4 (12%).
VALORES DESCONOCIDOS DE
ATRIBUTOS
• Al momento de que el árbol fue construido ,las divisiones para estos resultados contenían 2.0 y 3.4 casos. Las
conclusiones condicionales son combinadas con el mismo relativo peso, 2.0/5.4 y 3.4/5.4 así que la final
distribución de clases para este caso es:
tiene una tarea de dos clases en cual un clase de un caso es inherentemente determinada con proporción de
Se
los casos pertenecen a la clase mayoritaria(clase “NO”).Si el clasificador asigna todos los casos a esta clase mayoritaria, la
tasa de error esperado es claramente 1 – p . Por otro lado si el clasificador asigna un caso a la clase mayoritaria con
probabilidad p y a las otras clases con probabilidad 1-p ,la tasa de error esperado es la suma de :
• La probabilidad que un caso pertenezca a la clase mayoritaria es asignada a otras clases, p*(1-p) , y
• La probabilidad que un caso pertenezca a las otras clases es asignada a una clase mayoritaria , (1- p) * p
que se convierte en 2 * p * (1-p) .Ya que p es al menos 0.5 ,esto es generalmente mayor a 1-p ,así que el segundo
clasificador tiene un mayor tasa de error.
• Ahora ,un árbol de decisión complejo lleva una cercanía con este segundo tipo de clasificador.
PODADO DE ARBOLES DE DECISIÓN
• Las pruebas no están relacionadas a la clase ,así que ,como un maquina de pachinko simbólica, el árbol manda
cada caso aleatoriamente a una de las hojas. Esperaríamos que las hojas estaría distribuidas proporcionalmente a
las frecuencias de clases en el grupo de entrenamiento. Por lo tanto, la tasa de error esperado para el árbol para
datos aleatorios es 2*0.25*0.75 o 37.5% ,cercano al valor observado.
• Puede parece que esta discusión de clasificadores aleatorios y clases indeterminadas es muy distinto de una tarea
de inducción en el mundo real. Esto no es Así: Las tareas son comúnmente al menos parcialmente
indeterminadas porque el atributo no captura toda la información relevante para la clasificación.
• La idea de la simplificar un árbol es remover partes del árbol que no contribuyan a la precisión de la
clasificación de casos nunca vistos ,produciendo algunos menos complejos y así mas comprehensibles.
• Podar un árbol causara invariablemente un mayor error en clasificación de los casos de entrenamiento. Por lo
tanto ,las hojas del árbol podado no necesariamente contiene casos de entrenamiento de una sola clase, habrá
sino una especifica distribución de clases, por cada clase, la probabilidad que un caso de entrenamiento en la
hoja pertenezca a esa clase. Esta modificación puede ligeramente alterar la determinación de la clase mas
probable para un caso nunca visto.
PODADO DE ARBOLES DE DECISIÓN
• Error básico de podado
• Usualmente los arboles son simplificados al descartar uno o mas subárboles y reemplazándolos con hojas;
cuando un árbol se construye ,la clase asociada con una hoja se encuentra al examinar los casos de
entrenamiento cubiertos por la hoja y escogiendo la clase mas frecuente.
Es reemplazado por la hoja demócrata .
6*0.206+9*0.142756+1*0.75=3.273
16*0.159=2.544
Ya que la existente árbol tiene un mayor numero de errores de
predicción ,este es podado hacia una hoja.
El árbol inmediatamente luce así:
El numero de errores de predicción para este subárbol es:
Si este subárbol fuese reemplazado por la hoja demócrata ,el error de
Predicción seria de 168* = 168* 0.015947 =2.6791.
El error de predicción para esta hoja nuevamente es menor que el
Subárbol ,así que es podado hacia hoja.
Tasa de error estimado para arboles
El numero (N/E) en las hojas de un árbol podado se explica a continuación: