IG(Y|X) = H(Y) - H(Y|X) >= 0
, ya H(Y) >= H(Y|X)
peor de los casos es que X e Y son independientes, por lo tanto H(Y|X)=H(Y)
Otra forma de pensar en ello es que mediante la observación de la variable aleatoria X toma un cierto valor, que o bien no adquieren ninguna o alguna información acerca Y (no pierdes ninguno).
EDITAR
Aclaro ganancia de información en el contexto de los árboles de decisión (que en realidad tenía en cuenta, en primer lugar, ya que provenía de un ambiente de aprendizaje automático).
asumir un problema de clasificación en el que dando Dado un conjunto de instancias y las etiquetas (clases discretas).
La idea de elegir qué atributo dividir por en cada nodo del árbol, es seleccionar la característica que divide el atributo de clase en los dos grupos más puros de instancias (es decir, la entropía más baja).
Esto a su vez es equivalente a elegir la función con la ganancia de información más alto desde
InfoGain = entropyBeforeSplit - entropyAfterSplit
donde la entropía después de la división es la suma de las entropías de cada rama ponderado por el número de casos abajo esa rama.
Ahora existe ningún posible división de los valores de la clase que generarán un caso con una pureza aún peor (mayor entropía) que antes de separarse.
Tome este sencillo ejemplo de un problema de clasificación binaria. En un nodo determinado, tenemos 5 instancias positivas y 4 negativas (un total de 9). Por lo tanto, la entropía (antes de la división) es:
H([4,5]) = -4/9*lg(4/9) -5/9*lg(5/9) = 0.99107606
Consideremos ahora algunos casos de divisiones.El mejor de los casos es que el atributo actual divide los casos perfectamente (es decir, una rama es todos positivos, el otro todos negativos):
[4+,5-]
/ \ H([4,0],[0,5]) = 4/9*(-4/4*lg(4/4)) + 5/9*(-5/5*lg(5/5))
/ \ = 0 // zero entropy, perfect split
[4+,0-] [0+,5-]
entonces
IG = H([4,5]) - H([4,0],[0,5]) = H([4,5]) // highest possible in this case
imaginar que el segundo atributo es el peor caso posible, donde una de las ramas creadas no tiene instancias sino todas las instancias pasan a la otra (podría suceder si, por ejemplo, el atributo es constante entre instancias, por lo tanto inútil):
[4+,5-]
/ \ H([4,5],[0,0]) = 9/9 * H([4,5]) + 0
/ \ = H([4,5]) // the entropy as before split
[4+,5-] [0+,0-]
y
IG = H([4,5]) - H([4,5],[0,0]) = 0 // lowest possible in this case
Ahora, en algún lugar entre estos dos casos, verá cualquier número de casos como:
[4+,5-]
/ \ H([3,2],[1,3]) = 5/9 * (-3/5*lg(3/5) -2/5*lg(2/5))
/ \ + 4/9 * (-1/4*lg(1/1) -3/4*lg(3/4))
[3+,2-] [1+,3-]
y
IG = H([4,5]) - H([3,2],[1,3]) = [...] = 0.31331323
así que no importa cómo dividir los 9 instancias, siempre obtiene una ganancia positiva en la información. Me doy cuenta de que esto no es una prueba matemática (¡vaya a MathOverflow para eso!), Solo pensé que un ejemplo real podría ayudar.
(Nota: Todos los cálculos según Google)
BTW necesita insertar un enlace correcto al papel en cuestión – Amro