Вы находитесь на странице: 1из 60

Aprendizaje de Mquina

Qu es aprendizaje?
Memorizacin de algo
Aprendizaje de hechos por medio de la observacin y la exploracin Desarrollo de habilidades cognitivas y motoras por medio de la prctica Organizar un nuevo conocimiento con el ya existente por medio de representaciones eficaces.

I.A. UNI

Aprendizaje 2008

Qu es aprendizaje?
Aprender denota cambios en un sistema adaptativo de forma que le permita hacer la misma tarea en las mismas circunstancias mas eficaz y efectivamente la prxima vez
....Herb Simon

I.A. UNI

Aprendizaje 2008

Clases de aprendizaje
Aprendizaje supervisado: dado un conjunto de ejemplos de pares con entrada/salida, encuentre una regla que realice un buen trabajo de predecir la salida asociada con una nueva entrada. Agrupamiento: dado un conjunto de ejemplos, sin etiquetar, agrupe los ejemplos en grupos naturales. Aprendizaje por Refuerzo (reinforcement): Un agente interacta con el mundo haciendo observaciones, realizando acciones y es premiado o castigado; debe aprender a seleccionar las acciones de forma que obtenga muchos premios.(nadie le dice explcitamente la forma correcta de hacerlo)

I.A. UNI

Aprendizaje 2008

Aspectos de la funcin de aprendizaje


Memorizar
Promediar Generalizar

I.A. UNI

Aprendizaje 2008

Memorizando

Tempera 80 19 65 19

precipita Ninguna Nieve Ninguna Nieve

DIA compra sbado no lunes mircoles lunes si no si

ropa casual casual casual casual

Camina Maneja camina

I.A. UNI

Aprendizaje 2008

Promediando
Manejando datos con ruido

Temp
80 80

precip DIA
Ninguna Ninguna sbado sbado

compra
no no

ropa
casual casual camina camina

80
80 80 80

Ninguna
Ninguna Ninguna Ninguna

sbado
sbado sbado sbado

no
no no no

casual
casual casual casual

maneja
maneja camina camina

80
80

Ninguna
Ninguna

sbado
sbado

no
no

casual
casual

camina

I.A. UNI

Aprendizaje 2008

Los azules y los negros

I.A. UNI

Aprendizaje 2008

Ahora, cual es la hiptesis correcta?

I.A. UNI

Aprendizaje 2008

Que tal esto?

I.A. UNI

Aprendizaje 2008

10

Que tal esto? Respuesta 2

I.A. UNI

Aprendizaje 2008

11

El vecino ms cercano
Recuerda todos sus datos Cuando alguien pregunta,
Encuentra el punto de datos mas cercano Regresa la respuesta asociada

?
I.A. UNI Aprendizaje 2008 12

rboles de decisin
Use todos los datos para construir un rbol de preguntas con las respuestas en las hojas.

precipitacin
ninguno llueve camina compra maneja no
Temp>90

nieva maneja

ropa
formal casual

si
Fin de semana

si maneja
I.A. UNI

no camina
Aprendizaje 2008

si camina

no maneja
13

xitos en aprendizaje de mquina


Asesorando el riesgo de un prstamo crediticio
Detectando fraudes con tarjetas de crdito Catalogando imgenes astronmica Detectando y diagnosticando fallas de fabricacin Ayudando al entrenador de la NBA a analizar el desempeo. Personalizando noticias y bsquedas en la web Conduciendo un carro autnomamente a travs de los E.U.

I.A. UNI

Aprendizaje 2008

14

Conjunciones y aprendizaje
Caractersticas booleanas y salidas H=conjunciones de caractersticas
f1 f2 f3 f4 y

h= f1 ^ f2

0 1 1 0 1 0

1 0 1 0 0 1

1 1 1 1 0 1

0 1 0 1 1 1

0 1 0 1 0 1
Para que alfa sea la mas pequea, se buscara la h menor

E(h,D) = 3

C(h)=2

[numero de caractersticas]

Inteligencia Artificial 2008

15

Pseudo cdigo
N = ejemplos negativos en D h = verdad Ciclo hasta que N este vaco Para cada atributo j que NO tiene valor 0 en los ejemplos positivos
Recorrer ejemplos en N y contar la cantidad en nj := para los cuales fj=0 j* := j de nj que tiene mayor valor h := h ^ fj N := N ejemplos en N para los cuales fj = 0
f1 f2 f3 f4 y

0 1 1 0 0 1 0 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 0 0 1 1 1 1

Si no se han encontrado los atributos, falla


n: es un arreglo j*: es un apuntador a n
Inteligencia Artificial 2008 16

Simulacin
f1 f2 f3 f4 y

N = {x1, x3, x5 }, h= Verdadero n3=1, n4=2 N={x5}, h= f4 n3 = 1, n4 = 0 N ={}, h=f4 ^ f3 [se descarta el ultimo eje neg

0 1 1 0 0
1 0 1 1 1 1 1 1 0 0 0 0 1 1 1

1 0 0 1 0
0 1 1 1 1

Inteligencia Artificial 2008

17

Forma Normal Disyuntiva


Es como lo opuesto a forma normal conjuntiva (pero, por ahora, sin tomos negados) (A^B^C) v (D^A) v E Piense en cada disyuncin como una limitacin en un subconjunto de ejemplos positivos
f1 f2 f3 f4 y

0 1

1 0

1 1

0 1

0 1 (f3 ^f4) v (f1 ^f2)

1
0 1 0
Inteligencia Artificial 2008

1
0 0 1

1
1 0 1

0
1 1 1

1
1 0 1
18

f1

f2

f3

f4

Algoritmo

0
1

1
0

1
1

0
1 0 1 1 1

0
1 1 1 0 1

1 1 1 P = conjunto de todos los ejemplos positivos h= falso 0 0 1 Ciclo hasta p = vaco r = verdadero 1 0 0 N = conjunto de todos los ejemplos negativos 0 1 1 Ciclo hasta N = vaco Si todas los atributos estn en r, falla de lo contrario seleccione un atributo fj para agregarlo a r r = r ^ fj [como se selecciona?]
N = N ejemplos en N para los cuales fj = 0 h := h v r Cubiertos = ejemplos en P cubiertos por r si Cubiertos est vaco, falla de lo contrario P:= P Cubiertos Fin

Heurstica: vj = n+j / max (nj , 0.001)

n+j = # de ejemplos positivos cubiertos por r ^ fj de los aun no cubiertos


nj = # de ejemplos negativos cubiertos por r ^ 19 fj de los que aun no han sido descartados.

Seleccionando un atributo
Heurstica: vj = n+j / max (nj , 0.001)
n+j = # de ejemplos positivos cubiertos por r ^ fj de los aun no cubiertos nj = # de ejemplos negativos cubiertos por r ^ fj de los que aun no han sido descartados.

Escoja el atributo con el mayor valor de Vj

Inteligencia Artificial 2008

20

Simulacin
h = falso, P = {x2, x3, x4, x6}
f1 f2 f3 f4 y

0 1 1

1 0 1

1 1 1

0 1 0

0 1 1

0
1 0

0
0 1

1
0 1

1
1 1

1
0 1

21

f1

f2

f3

f4

0 1

1 1 0 0 0 1 1 1

Simulacin
h = falso, P = {x2, x3, x4, x6} r= Verdadero, N={x1, x5 } v1=2/1

1
0 1 0

1 1 0 1
0 1 1 1 0 0 1 0 1 1 1 1

r ^ f1

r
vj = n+j / max (nj , 0.001)

f1 0 1

y 0 1

1 1

Cuantos ejemplos positivos estn cubiertos por r y f1?

positivos cubiertos por r ^ fj de los aun no cubiertos

n +j = # de ejemplos

1 1
1 1

1 0
1 0

1 1
0 1
Y cuantos ejemplos negativos estn cubiertos por r y f1? 1
22

n j = # de ejemplos

negativos cubiertos por r ^fj de los que aun no han sido descartados.
Inteligencia Artificial 2008

f
1

f
2

f
3

f
4

Simulacin
h = falso, P = {x2, x3, x4, x6} r= Verdadero, N={x1, x5 } v1=2/1, v2=

0 1 1 0 0 1 0 1 1 1

1 1 1 0 1
0 0 1 1 1 1 0 0 1 0 0 1 1 1 1
vj = n+j / max (nj , 0.001)

r ^ f2

r 1 1 1 1 1 1

f2 1 0 1 0 0 1

y 0 1 1 1 0 1

Cuantos ejemplos positivos estn cubiertos por r y f2?

positivos cubiertos por r ^ fj de los aun no cubiertos

n +j = # de ejemplos

n j = # de ejemplos

negativos cubiertos por r ^fj de los que aun no han sido descartados.
Inteligencia Artificial 2008

23

f
1

f
2

f
3

f
4

Simulacin
h = falso, P = {x2, x3, x4, x6} r= Verdadero, N={x1, x5 } v1=2/1, v2=2/

0 1 1 0 0 1 0 1 1 1

1 1 1 0 1
0 0 1 1 1 1 0 0 1 0 0 1 1 1 1
vj = n+j / max (nj , 0.001)

r ^ f2

r 1 1 1 1 1 1

f2 1 0 1 0 0 1

y 0 1 1 1 0 1

Cuantos ejemplos positivos estn cubiertos por r y f2?

positivos cubiertos por r ^ fj de los aun no cubiertos

n +j = # de ejemplos

2
Cuantos ejemplos negativos estn cubiertos por r y f2?

n j = # de ejemplos

negativos cubiertos por r ^fj de los que aun no han sido descartados.
Inteligencia Artificial 2008

24

f
1

f
2

f
3

f
4

Simulacin
h = falso, P = {x2, x3, x4, x6} r= Verdadero, N={x1, x5 } v1=2/1, v2=2/

0 1 1 0 0 1 0 1 1 1

1 1 1 0 1
0 0 1 1 1 1 0 0 1 0 0 1 1 1 1
vj = n+j / max (nj , 0.001)

r ^ f2

r 1 1 1 1 1 1

f2 1 0 1 0 0 1

y 0 1 1 1 0 1

Cuantos ejemplos positivos estn cubiertos por r y f2?

positivos cubiertos por r ^ fj de los aun no cubiertos

n +j = # de ejemplos

2
Cuantos ejemplos negativos estn cubiertos por r y f2?

n j = # de ejemplos

negativos cubiertos por r ^fj de los que aun no han sido descartados.
Inteligencia Artificial 2008

25

f1

f2

f3

f4

0 1 1 0 1 0

1 1 0 0 0 1 1 1 1 1 0 1 0 1 1 1 0 0 1 0 1 1 1 1

Simulacin
h = falso, P = {x2, x3, x4, x6} r= Verdadero, N={x1, x5 } v1=2/1, v2=2/1 r ^ f2

r
vj = n+j / max (nj , 0.001)

f2 1 0 1 0 0 1

y 0 1 1 1 0 1

1 1 1 1 1 1

Cuantos ejemplos positivos estn cubiertos por r y f2?

positivos cubiertos por r ^ fj de los aun no cubiertos

n +j = # de ejemplos

2
Cuantos ejemplos negativos estn cubiertos por r y f2? 1

n j = # de ejemplos

negativos cubiertos por r ^fj de los que aun no han sido descartados.
Inteligencia Artificial 2008

26

Simulacin

f1 f2 f3 f4 y

h = falso, P = {x2, x3, x4, x6}


r= Verdadero, N={x1, x5 } v1=2/1, v2=2/1, v3=4/1, v4= 3/1 Cual se escoge? r = , N = { }

0 1 1

1 0 1

1 1 1

0 1 0

0 1 1

0
1 0

0
0 1

1
0 1

1
1 1

1
0 1

de lo contrario escoja el atributo con el mayor valor de Vjj para agregarlo a r r = r ^ fj N = N ejemplos en N para los cuales fj = 0

Inteligencia Artificial 2008

27

Simulacin

f1 f2 f3 f4 y

h = falso, P = {x2, x3, x4, x6}


r= Verdadero, N={x1, x5 } v1=2/1, v2=2/1, v3=4/1, v4= 3/1 Cual se escoge? r = f3 , N = {x1 }

0 1 1

1 0 1

1 1 1

0 1 0

0 1 1

f3
1 1 1

f1
0 1 1

y
0 1 1
Cuantos ejemplos positivos estn cubiertos
por f3 y f1? (calculando el numerador)

0
1 0

0
0 1

1
0 1

1
1 1

1
0 1

1
0 1

0
1 0

1
0 1

Inteligencia Artificial 2008

28

Simulacin

f1 f2 f3 f4 y

h = falso, P = {x2, x3, x4, x6}


r= Verdadero, N={x1, x5 } v1=2/1, v2=2/1, v3=4/1, v4= 3/1 r = f3 , N = {x1 } v1=2/

0 1 1

1 0 1

1 1 1

0 1 0

0 1 1

f3 1 1 1 1 0 1

f1 0 1 1 0 1 0

y 0 1 1 1 0 1
Cuantos ejemplos positivos estn cubiertos
por f3 y f1? (calculando el numerador) 2 Cuantos ejemplos negativos estn cubiertos por f3 y f1?

0
1 0

0
0 1

1
0 1

1
1 1

1
0 1

Inteligencia Artificial 2008 Inteligencia Artificial 2008

29

Simulacin

f1 f2 f3 f4 y

h = falso, P = {x2, x3, x4, x6}


r= Verdadero, N={x1, x5 } v1=2/1, v2=2/1, v3=4/1, v4= 3/1 r = f3 , N = {x1 } v1=2/0

0 1 1

1 0 1

1 1 1

0 1 0

0 1 1

f3 1 1 1 1 0 1

f1 0 1 1 0 1 0

y 0 1 1 1 0 1
Cuantos ejemplos positivos estn cubiertos
por f3 y f1? (calculando el numerador) 2 Cuantos ejemplos negativos estn cubiertos por f3 y f1? 0

0
1 0

0
0 1

1
0 1

1
1 1

1
0 1

Inteligencia Artificial 2008 Inteligencia Artificial 2008

30

Simulacin

f1 f2 f3 f4 y

h = falso, P = {x2, x3, x4, x6}


r= Verdadero, N={x1, x5 } v1=2/1, v2=2/1, v3=4/1, v4= 3/1 r = f3 , N = {x1 } v1=2/0 v2=

0 1 1

1 0 1

1 1 1

0 1 0

0 1 1

f3 1 1 1 1 0 1

f2 1 0 1 0 0 1

y 0 1 1 1 0 1
Cuantos ejemplos positivos estn cubiertos
por f3 y f2? (calculando el numerador)

0
1 0

0
0 1

1
0 1

1
1 1

1
0 1

Inteligencia Artificial 2008 Inteligencia Artificial 2008

31

Simulacin

f1 f2 f3 f4 y

h = falso, P = {x2, x3, x4, x6}


r= Verdadero, N={x1, x5 } v1=2/1, v2=2/1, v3=4/1, v4= 3/1 r = f3 , N = {x1 } v1=2/0 v2=2

0 1 1

1 0 1

1 1 1

0 1 0

0 1 1

f3 1 1 1 1 0 1

f2 1 0 1 0 0 1

y 0 1 1 1 0 1
Cuantos ejemplos positivos estn cubiertos
por f3 y f2? (calculando el numerador) 2

0
1 0

0
0 1

1
0 1

1
1 1

1
0 1

Inteligencia Artificial 2008 Inteligencia Artificial 2008

32

Simulacin

f1 f2 f3 f4 y

h = falso, P = {x2, x3, x4, x6}


r= Verdadero, N={x1, x5 } v1=2/1, v2=2/1, v3=4/1, v4= 3/1 r = f3 , N = {x1 } v1=2/0 v2=2/

0 1 1

1 0 1

1 1 1

0 1 0

0 1 1

f3 1 1 1 1 0 1

f2 1 0 1 0 0 1

y 0 1 1 1 0 1
Cuantos ejemplos positivos estn cubiertos
por f3 y f2? (calculando el numerador) 2 Cuantos ejemplos negativos estn cubiertos por f3 y f2?

0
1 0

0
0 1

1
0 1

1
1 1

1
0 1

Inteligencia Artificial 2008 Inteligencia Artificial 2008

33

Simulacin

f1 f2 f3 f4 y

h = falso, P = {x2, x3, x4, x6}


r= Verdadero, N={x1, x5 } v1=2/1, v2=2/1, v3=4/1, v4= 3/1 r = f3 , N = {x1 } v1=2/0 v2=2/1

0 1 1

1 0 1

1 1 1

0 1 0

0 1 1

f3 1 1 1 1 0 1

f2 1 0 1 0 0 1

Y 0 1 1 1 0 1
Cuantos ejemplos positivos estn cubiertos
por f3 y f2? (calculando el numerador) 2 Cuantos ejemplos negativos estn cubiertos por f3 y f2? 1

0
1 0

0
0 1

1
0 1

1
1 1

1
0 1

Inteligencia Artificial 2008 Inteligencia Artificial 2008

34

Simulacin
h = falso, P = {x2, x3, x4, x6}
r= Verdadero, N={x1, x5 } v1=2/1, v2=2/1, v3=4/1, v4= 3/1 r = f3 , N = {x1 } v1=2/0, v2=2/1, v4= 3/0 r = f3 ^ f4 , N = {}

f1
X1 X2 X3 X4 X5 X6

f2

f3

f4

0 1 1

1 0 1

1 1 1

0 1 0

0 1 1

h = f3 ^ f4 , P={x3 }

0
1 0

0
0 1

1
0 1

1
1 1

1
0 1

Cuando entramos por segunda ocasin a ciclo externo no se toman en cuenta los ejemplos Cubiertos por r, que fueron eliminados en P, es decir se reducen los casos a tomar en cuenta para la siguiente corrida.
f1
X1 X3 X5

f2

f3

f4

0 1 1

1 1 0

1 1 0

0 0 1

0 1 0
35

Inteligencia Artificial 2008 Inteligencia Artificial 2008

f1

f2

f3

f4

Simulacin
h = falso, P = {x2, x3, x4, x6} r= Verdadero, N={x1, x5 } v1=2/1, v2=2/1, v3=4/1, v4= 3/1 r = f3 , N = {x1 } v1=2/0, v2=2/1, v4= 3/0 r = f3 ^ f4 , N = {} h = f3 ^ f4 , P={x3 } r = Verdadero, N={x1, x5 } v1=1/1, v2=1/1, v3=1/1, v4= 0/1 r=f1 , N= {x1} v2=1/2, v3=1/2, v4=0/1 r=f1 ^f2, N= {} h=(f3 ^ f4) v(f1^f2), P={}

0 1 1 0 1 0
f1
X1 X3 X5

1 0 1 0 0 1

1 1 1 1 0 1
f2

0 1 0 1 1 1
f3

0 1 1 1 0 1

f4 y

0 1 1

1 1 0

1 1 0

0 0 1

0 1 0

Hecho!!
Inteligencia Artificial 2008 Inteligencia Artificial 2008 36

Ejemplo
f1 f2 f3 f4 y

0 0

1 0

1 1

0 1

1 1

R1 (1,1)=1/5: fraccin de todos los ejemplos

positivos que tengan el atributo 1 en


R1 (0,1)= 4/5: fraccin de todos los ejemplos positivos que tienen el atributo 1 en off R1 (1,0)=5/5: fraccin de todos los ejemplos negativos que tengan atributo 1 en on R1 (0,0)=0/5: fraccin de todos los ejemplos negativos que tienen el atributo 1 en off

1
0 0 1 1 1 1 1

0
0 0 0 1 0 1 0

1
1 0 0 0 0 0 1

0
1 0 1 1 0 1 1

1
1 1 0 0 0 0 0

Ejemplo
f1 f2 f3 f4 y

0 0

1 0

1 1

0 1

1 1

R1 (1,1)=1/5 R1 (0,1)=4/5 R1 (1,0)=5/5 R1 (0,0)= 0/5 R2 (1,1)= 1/5 R2 (0,1)=4/5 R2 (1,1)= 2/5 R2 (0,1)=3/5

1
0 0 1 1 1 1 1

0
0 0 0 1 0 1 0

1
1 0 0 0 0 0 1

0
1 0 1 1 0 1 1

1
1 1 0 0 0 0 0

R3 (1,1)= 4/5 R3 (1,1)= 1/5


R4 (1,1)= 2/5 R4 (1,0)= 4/5

R3 (0,1)=1/5 R3 (0,1)=4/5
R4 (0,1)=3/5 R4 (0,0)=1/5

Prediccin
R1 (1,1)=1/5 R1 (0,1)=4/5 R1 (1,0)=5/5 R1 (0,0)= 0/5 R2 (1,1)= 1/5 R2 (0,1)=4/5 R2 (1,0)= 2/5 R2 (0,0)=3/5 R3 (1,1)= 4/5 R3 (0,1)=1/5 R3 (1,0)= 1/5 R3 (0,0)=4/5 R4 (1,1)= 2/5 R4 (0,1)=3/5 R4 (1,0)= 4/5 R4 (0,0)=1/5

hiptesis

Nuevo x = <0,0,1,1> S(1) = R1 (0,1) * R2 (0,1)* R3 (1,1)* R4 (1,1)= 0.205 S(0) = R1 (0,0) * R2 (0,0)* R3 (1,0)* R4 (1,0)= 0 S(1) > S(0) , por tanto predecimos clase 1

Algoritmo de aprendizaje
El estimado de los datos para todo j:
Rj(1,1)=#(xji =1 ^ yi = 1) / #(yi = 1) Rj(0,1)= 1 - Rj( 1,1)

Rj(1,0)= #(xji =1 ^ yi = 0) / #(yi = 0) Rj(0,0)=1 - Rj( 1,0)

Algoritmo de prediccin
Dado un nuevo x,
S(1) =
j

Rj(1,1) Rj(0,1)

si xj = 1
de lo contrario

Rj(1,0) S(0) = Rj(0,0)

si xj = 1 de lo contrario

Salida 1 si S(1) > S(0)

Algoritmo de prediccin
Dado un nuevo x,
log Rj(1,1) log S(1) =
j

si xj = 1
de lo contrario

log Rj(0,1)

log S(0) =

log Rj(1,0)

si xj = 1

log Rj(0,0) de lo contrario

Salida 1 si log S(1) > log S(0)


Mejor sumar logaritmos que multiplicar pequeas probabilidades

Correccin de Laplace
Evita obtener 0 o 1 como respuesta
Rj(1,1)=#(xji =1 ^ yi = 1) + 1/ #(yi = 1) +2 Rj(0,1)= 1 - Rj( 1,1)

Rj(1,0)= #(xji =1 ^ yi = 0)+1 / #(yi = 0)+2


Rj(0,0)=1 - Rj( 1,0)

Ejemplo con correccin


f1 f2 f3 f4 y

0 0

1 0

1 1

0 1

1 1

1
0 0 1 1 1 1 1

0
0 0 0 1 0 1 0

1
1 0 0 0 0 0 1

0
1 0 1 1 0 1 1

1
1 1 0 0 0 0 0

R1 (1,1)=2/7 R1 (0,1)=5/7 R1 (1,0)=6/7 R1 (0,0)= 1/7 R2 (1,1)= 2/7 R2 (0,1)=5/7 R2 (1,0)= 3/7 R2 (0,0)=4/7 R3 (1,1)= 5/7 R3 (0,1)=2/7 R3 (1,0)= 2/7 R3 (0,0)=5/7 R4 (1,1)= 3/7 R4 (0,1)=4/7 R4 (1,0)= 5/7 R4 (0,0)=2/7

Prediccin con correccin


R1 (1,1)=2/7 R1 (0,1)=5/7 R1 (1,0)=6/7 R1 (0,0)= 1/7 R2 (1,1)= 2/7 R2 (0,1)=5/7 R2 (1,0)= 3/7 R2 (0,0)=4/7 R3 (1,1)= 5/7 R3 (0,1)=2/7 R3 (1,0)= 2/7 R3 (0,0)=5/7 R4 (1,1)= 3/7 R4 (0,1)=4/7 R4 (1,0)= 5/7 R4 (0,0)=2/7
Nuevo x = <0,0,1,1> S(1) = R1 (0,1) * R2 (0,1)* R3 (1,1)* R4 (1,1)= 0.156 S(0) = R1 (0,0) * R2 (0,0)* R3 (1,0)* R4 (1,0)= 0.017 S(1) > S(0) , por tanto predecimos clase 1

Algoritmo
Desarrollado en paralelo en IA por Quinlan y en estadstica por Breiman, Fiedman, Olsen y Stone.
ConstruyaArbol (Datos) Si todos los elementos de Datos tiene el mismo valor y, entonces Hacer-nodo-hoja(y )

De lo contrario
Atributo := tomeMejorAtributo(Datos) HagaNodoInterno( atributo,
ConstruyaArbol (SeleccionFalso (Datos, atributo)) , ConstruyaArbol (SeleccionVerdad(Datos, atributo)))

VHP - 2009

Vamos a separar
D: 9 positivos 10 negativos

f3 0
5 positivos 4 negativos

f7 1
4 positivos 6 negativos

0
6 positivos 0 negativos

1
3 positivos 10 negativos

VHP - 2009

Entropa
p: proporcin de los ejemplos positivos en un conjunto de datos
H= -p log2 p (1 p) log2 (1-p)

.. .. ..
.. .. .. ..
p

..
VHP - 2009

0 log2 0 = 0

Vamos a separar
D: 9 positivos 10 negativos H= -p log2 p (1 p) log2 (1-p)

f3 0
5 positivos 4 negativos

f7 1
4 positivos 6 negativos
3

0
6 positivos 0 negativos

1
3 positivos + 10 negativos
7

D-3

D-7

H= -(5/9)log2 (5/9) (1 (5/9)) log2 (1-(5/9)) H=.99

VHP - 2009

Vamos a separar
D: 9 positivos 10 negativos

f3 0 D35 positivos 4 negativos

f7 1 0
--

1 D7+
3 positivos 10 negativos

D3

4 positivos 6 negativos
D7

6 positivos 0 negativos

H=.99

H=.97
AE(j) = pjH(Dj+) + (1 pj)H(Dj- )

H=.00

H=.78
AE: promedio de entropa

% de D con fj =1

VHP - 2009

Subconjunto de D con fj =1

Vamos a separar
D: 9 positivos 10 negativos

f3 0 D3
5 positivos 4 negativos

f7 1 0
6 positivos 0 negativos

1 D7
3 positivos 10 negativos

D3

4 positivos 6 negativos

H=.99

D7

H=.97

H=.00

H=.78

AE = (9/19)*. 99 + (10/19)*. 97 = . 98

AE = (6/19)* 0 + (13/19)*. 78 = . 53
AE: promedio de entropa
VHP - 2009

Algoritmo
Desarrollado en paralelo en IA por Quinlan y en estadstica por Breiman, Fiedman, Olsen y Stone.
ConstruyaArbol (Datos) Si todos los elementos de Datos tiene el mismo valor y, entonces
Hacer-nodo-hoja(y)

De lo contrario
Atributo := tomeMejorAtributo(Datos) HagaNodoInterno( atributo,
ConstruyaArbol (SeleccionFalso (Datos, atributo)) , ConstruyaArbol (SeleccionVerdad(Datos, atributo)))

El mejor atributo minimiza la entropa promedio de los datos.


VHP - 2009

Detenindose
Detener la recursin si los datos contienen solo instancias mltiples de la misma x con diferentes valores y. Construya un nodo hoja con la salida igual al valor y que ocurra mayoritariamente en los datos. Considere detenerlo para evitar saturar cuando: La entropa de los datos es mas bajo que el umbral El numero de elementos en el conjunto de datos esta bajo el umbral.

VHP - 2009

Simulacin
f1 f2 f3 f4 y

0 1 1 0 0
1 0 1 1 1

H(D) = . 92 AE1= . 92, AE2 = . 92, AE3 =. 81, AE4 = 1

1 1 1 0 1
0 0 1 1 1

1 0 0 1 0
0 1 1 1 0

VHP - 2009

Simulacin
f3

0
f1 f2 f3 f4 y

1
f1 f2 f3 f4 y

1 0 0 1 0

0 1 1 0 0 1 0 1 1 1 1 1 1 0 1 0 0 1 1 1

0 1 1 1 0
VHP - 2009

Simulacin
f3

0 0

1
f1 f2 f3 f4 y

AE1 = . 55, AE2 = .55, AE4 = . 95

0 1 1 0 0 1 0 1 1 1 1 1 1 0 1 0 0 1 1 1

0 1 1 1 0
VHP - 2009

Simulacin
f3

0 0 0
f1 f2 f3 f4

1
f1

1
y

0 1 1 0 0 0 0 1 1 1 0 1 1 1 0

f1

f2

f3

f4

1 0 1 1 1 1 1 1 0 1

VHP - 2009

Simulacin
f3

0 0 0
f1 f2 f3 f4

1
f1

1
y

0 1 1 0 0 0 0 1 1 1 0 1 1 1 0
VHP - 2009

Simulacin
f3

0 0 0 f2 0
f1 f2 f3 f4 y

1
f1

1 1 1
f1 f2 f3 f4 y

0 0 1 1 1

0 1 1 0 0 0 1 1 1 0
VHP - 2009

Simulacin
f3

0 0 0
f2

1
f1

1 1 1 0 Hecho!

VHP - 2009

Вам также может понравиться