Teorema de Bayes

39
M. V ale n z ue la - R e n d ´o n , 2 0 0 6 Notaci´ on de probabilidad Se usar´ an may´ usculas para indicar variables estoc´ asticas y min´ usculas para indicar los valores que pueden tomar. P (A = verdadero)= P (A = a)= P (a) P (A = falso)= P (A = ¬a)= P (¬a) P (a b c) P (a,b,c) P (abc) P (¬a) P (a ) P ( a) 1

description

Teorema de Bayes en Matlab

Transcript of Teorema de Bayes

  • M.Valen

    zuela-Rendon, 2006

    Notacion de probabilidad

    Se usaran mayusculas para indicar variables estocasticas y minusculaspara indicar los valores que pueden tomar.

    P (A = verdadero) = P (A = a) = P (a)

    P (A = falso) = P (A = a) = P (a)

    P (a b c) P (a,b,c) P (a b c)

    P (a) P (a) P (a)

    1

  • M.Valen

    zuela-Rendon, 2006

    Notacion vectorial

    Usaremos la notacion vectorial de la siguiente manera.

    P(A) = P (a), P (a)

    Por ejemplo, P(X,Y ) = P(X |Y )P (Y ) es equivalente a

    P (x,y) = P (x|y)P (y)P (x, y) = P (x|y)P (y)P (x,y) = P (x|y)P (y)P (x, y) = P (x|y)P (y)

    2

  • M.Valen

    zuela-Rendon, 2006

    Normalizacion

    Para obtener P(X |y) se puede hacer lo siguiente:

    P (x|y) = P (x, y)P (y)

    P (x|y) = P (x, y)P (y)

    Otra forma es la siguiente

    P (x|y) = P (x, y)P (x|y) = P (x, y)

    donde representa la constante de normalizacion que sea necesaria paralograr que P (x|y) + P (x|y) = 1.

    3

  • M.Valen

    zuela-Rendon, 2006

    Probablidad condicional

    Probabilidad condicional, o probabilidad posterior, es la probabilidad dea dado que se sabe b. Se define como

    P (a|b) P (a b)P (b)

    De lo anterior se puede obtener lo siguiente:

    P (a b) = P (a|b)P (b) = P (b|a)P (a)

    4

  • M.Valen

    zuela-Rendon, 2006

    Los axiomas de probabilidad

    1. 0 P (a) 1

    2. P (verdadero) = 1 y P (falso) = 0

    3. P (a b) = P (a) + P (b) P (a b)

    5

  • M.Valen

    zuela-Rendon, 2006

    Probabilidad conjunta y probabilidad marginal

    La distribucion de probabilidad conjunta es una tabulacion de la proba-bilidad de todos los valores que pueden tomar las variables aleatorias y laprobabilidad para cada combinacion.

    La distribucion de probabilidad marginal para un subconjunto de variablesse obtiene sumando sobre las demas variables.

    6

  • M.Valen

    zuela-Rendon, 2006

    Ejemplo

    Distribucion de probabilidad conjunta:

    toothache toothachecatch catch catch catch

    cavity 0.108 0.012 0.072 0.008cavity 0.016 0.064 0.144 0.576

    P (toothache) = 0.108 + 0.012 + 0.016 + 0.064

    P (toothache) = 0.072 + 0.008 + 0.144 + 0.576

    P (catch cavity) = 0.016 + 0.144

    7

  • M.Valen

    zuela-Rendon, 2006

    Teorema de Bayes

    P (b|a) = P (a|b)P (b)P (a)

    Recuerdese que

    P (b|a) = P (a b)P (a)

    8

  • M.Valen

    zuela-Rendon, 2006

    Ejemplo

    Supongamos que se sabe que lo siguiente:

    Meningitis causa dolor de cuello en 50% de los casos, es decir,P (s|m) = 0.5

    La probabilidad de tener meningitis es P (m) = 1/50,000

    La probabilidad de tener dolor de cuello es P (s) = 1/20

    P (m|s) = P (s|m)P (m)P (s)

    = 0.0002

    9

  • M.Valen

    zuela-Rendon, 2006

    Independencia

    a y b son independientes, si y solo si se cumplen las siguientes condicionesequivalentes

    P (a|b) = P (a)

    P (b|a) = P (b)

    P (a b) = P (a)P (b)

    10

  • M.Valen

    zuela-Rendon, 2006

    Definiciones de Pearl

    Prior odds

    O(h) =P (h)P (h) =

    P (h)1 P (h)

    Likelihood ratio

    L(e|h) = P (e|h)P (e|h)

    Posterior odds

    O(h|e) = P (h|e)P (h|e) = L(e|h) o(h)

    donde h es una hipotesis y e es una evidencia.

    11

  • M.Valen

    zuela-Rendon, 2006

    Redes bayesianas

    Una red bayesiana es una representacion grafica que representa lasdependencias entre variables y da una especificacion consisa de cualquierdistribucion de probabilidad conjunta completa.

    Las relaciones de causa/efecto (o hipotesis/evidencia) se representancon arcos dirigidos de la causa al efecto.

    12

  • M.Valen

    zuela-Rendon, 2006

    Ejemplo

    cavity

    toothache catch

    weather

    En este ejemplo, cavity es evidencia de toothache y de catch.Ademas, weather es independiente de las demas variables.

    13

  • M.Valen

    zuela-Rendon, 2006

    Inferencia en redes Bayesianas

    La tarea basica de un sistema de inferencia probabilstica es calcularlas distribuciones de probabilidad posteriores para un conjunto de variablesdado un evento observado, es decir, dada una asignacion de valores a unconjunto de variables de evidencia.

    14

  • M.Valen

    zuela-Rendon, 2006

    Inferencia exacta por enumeracion

    La probabilidad de la hipotesis H dada la evidencia e:

    P (H|e) = P (H, e)P (e)

    En caso de varias evidencias e1, e2, . . . , en:

    P (H|e1, e2, . . . , en) =P (e1|H)P (e2|H) P (en|H)

    P (e1)P (e2) P (en)P (H)

    15

  • M.Valen

    zuela-Rendon, 2006

    O-ruidoso (Noisy-OR)

    El O-ruidoso permite que haya incertidumbre acerca de la capacidad decada padre para hacer que el hijo sea verdaderola relacion causal entrepadre e hijo puede ser inhibida, de manera que un paciente puede tenergripe, pero no tener fiebre.

    Dos suposiciones:

    1. Todas las causas posibles han sido listada.

    2. La inhibicion de cada padre es independiente de las inhibiciones de losdemas padres.

    16

  • M.Valen

    zuela-Rendon, 2006

    Ejemplo de O-ruidoso

    Se tienen las siguientes probabilidades:

    P (fiebre|gripe,influenza,malaria) = 0.6P (fiebre|gripe, influenza,malaria) = 0.2P (fiebre|gripe,influenza,malaria) = 0.1

    17

  • M.Valen

    zuela-Rendon, 2006

    Ejemplo de O-ruidoso

    Se tienen las siguientes probabilidades:

    P (fiebre|gripe,influenza,malaria) = 0.6P (fiebre|gripe, influenza,malaria) = 0.2P (fiebre|gripe,influenza,malaria) = 0.1

    gripe influenza malaria P (fiebre) P (fiebre)F F F 0.0 1.0F F T 0.9 0.1F T F 0.8 0.2F T T 0.98 0.02 = 0.2 0.1T F F 0.4 0.6T F T 0.9 0.06 = 0.6 0.1T T F 0.8 0.12 = 0.6 0.2T T T 0.98 0.012 = 0.6 0.2 0.1

    17

  • M.Valen

    zuela-Rendon, 2006

    Ejemplo mnimo

    B

    AP (a) P (a)0.5 0.5

    A P (b) P (b)F 1 0T 0.1 0.9

    18

  • M.Valen

    zuela-Rendon, 2006

    Funcion de distribucion de probabilidad conjunta

    P (a,b) = P (b|a)P (a) = 1 0.5 = 0.5P (a, b) = P (b|a)P (a) = 0 0.5 = 0P (a,b) = P (b|a)P (a) = 0.1 0.5 = 0.05P (a, b) = P (b|a)P (a) = 0.9 0.5 = 0.45

    P (b) P (b)P (a) 0.5 0P (a) 0.05 0.45

    19

  • M.Valen

    zuela-Rendon, 2006

    Probabilidades anteriores

    P (a) = P (a,b) + P (a, b) = 0.5P (a) = P (a,b) + P (a, b) = 0.5

    P (b) = P (a,b) + P (a,b) = 0.55P (b) = P (a, b) + P (a, b) = 0.45

    P (b) P (b)P (a) 0.5 0 0.5P (a) 0.05 0.45 0.5

    0.55 0.45

    20

  • M.Valen

    zuela-Rendon, 2006

    Probabilidades posteriores

    P (a|b) = P (a,b)P (b) =

    0.50.55

    =P (b|a)P (a)

    P (b) =1 0.50.55

    = 0.9091

    P (a|b) = P (a,b)P (b) =

    0.050.55

    =P (b|a)P (a)

    P (b) =0.1 0.50.55

    = 0.0909

    P (a|b) = P (a, b)P (b)

    =0

    0.45=

    P (b|a)P (a)P (b) =

    0 0.50.55

    = 0

    P (a|b) = P (a,b)P (b)

    =0.450.45

    =P (b|a)P (a)

    P (b)=

    0.9 0.50.45

    = 1

    21

  • M.Valen

    zuela-Rendon, 2006

    Bayesian Networks Toolbox

    El BNT (Bayesian Networks Toolbox) permite implementar redes ba-yesianas en MATLAB. Los siguientes comandos implmentan el ejemplomnimo anterior.

    Primero, definimos la topologa de la red, y se cargan las distribucionesde probabilidad condicionales:

    N=2;dag=zeros(N,N);dag(1,2)=1;node_sizes=2*ones(1,N);bnet=mk_bnet(dag,node_sizes);bnet.CPD{1}=tabular_CPD(bnet,1,[0.5 0.5]);bnet.CPD{2}=tabular_CPD(bnet,2,[1 0.1 0 0.9]);

    Los nodos deben numerarse a partir de 1, y de nodos padres a nodos hijos.

    22

  • M.Valen

    zuela-Rendon, 2006

    Inferencias en BNT

    Para realizar inferencias en BNT es necesario escoger una maquina deinferencias. La evidencia se carga en una lista (en este caso estan vacos loselementos).

    engine = jtree_inf_engine(bnet);evidence = cell(1,N);[engine, loglik] = enter_evidence(engine, evidence);

    Las probabilidades marginales se obtienen con el comandomarginal nodes. En este caso obtenemos la probabilidad conjunta:

    marg = marginal_nodes(engine, [1 2]);marg.T

    23

  • M.Valen

    zuela-Rendon, 2006

    Probabilidades anteriores y posteriores

    marg = marginal_nodes(engine, 1);marg.T

    marg = marginal_nodes(engine, 2);marg.T

    evidence=cell(1,N);evidence{2}=1;[engine, loglik] = enter_evidence(engine, evidence);marg = marginal_nodes(engine,1);marg.T

    evidence{2}=2;[engine, loglik] = enter_evidence(engine, evidence);marg = marginal_nodes(engine,1);marg.T

    24

  • M.Valen

    zuela-Rendon, 2006

    Otro ejemplo de red bayesiana

    C

    A BP (a) P (a)0.5 0.5

    P (b) P (b)0.2 0.8

    B A P (c) P (c)F F 0.4 0.6F T 0.1 0.9T F 0.2 0.8T T 0.05 0.95

    25

  • M.Valen

    zuela-Rendon, 2006

    Funcion de distribucion de probabilidad conjunta

    P (b) P (b)P (a) 0.1 0.4P (a) 0.1 0.4

    P (a,b,c) = P (c|a,b)P (a,b) = 0.4 0.1 = 0.04P (a,b, c) = P (c|a,b)P (a,b) = 0.6 0.1 = 0.06P (a,b,c) = P (c|a,b)P (a,b) = 0.1 0.1 = 0.01P (a,b, c) = P (c|a,b)P (a,b) = 0.9 0.1 = 0.09

    P (a, b,c) = P (c|a, b)P (a, b) = 0.2 0.4 = 0.08P (a, b, c) = P (c|a, b)P (a, b) = 0.8 0.4 = 0.32P (a, b,c) = P (c|a, b)P (a, b) = 0.05 0.4 = 0.02P (a, b, c) = P (c|a, b)P (a, b) = 0.95 0.4 = 0.38

    26

  • M.Valen

    zuela-Rendon, 2006

    Probabilidades anteriores

    P (a) = P (a,b,c) + P (a,b, c) + P (a, b,c) + P (a, b, c)= 0.01 + 0.09 + 0.02 + 0.38 = 0.5

    P (b) = P (a, b,c) + P (a, b, c) + P (a, b,c) + P (a, b, c)= 0.08 + 0.32 + 0.02 + 0.38 = 0.8

    P (c) = P (a,b, c) + P (a, b, c) + P (a,b, c) + P (a, b, c)= 0.06 + 0.09 + 0.32 + 0.38 = 0.85

    P (a, b) = P (a, b,c) + P (a, b, c)= 0.02 + 0.38 = 0.4

    P (a, c) = P (a,b, c) + P (a, b, c)= 0.09 + 0.38 = 0.47

    P (b, c) = P (a, b, c) + P (a, b, c)= 0.32 + 0.38 = 0.7

    27

  • M.Valen

    zuela-Rendon, 2006

    Probabilidades posteriores

    P (a, b|c) = P (a, b, c)P (c)

    =0.380.85

    = 0.4471

    =P (c|a, b)P (a, b)

    P (c)=

    0.95 0.40.85

    = 0.4471

    P (a|b, c) = P (a, b, c)P (b, c)

    =0.380.7

    = 0.5429

    28

  • M.Valen

    zuela-Rendon, 2006

    Un ejemplo mas

    A

    B C

    P (a) P (a)0.3 0.7

    A P (b) P (b)F 0.4 0.6T 0.6 0.4

    A P (c) P (c)F 0.8 0.2T 0.1 0.9

    Probabilidad posterior

    P (a|c) = P (c|a)P (a)P (c)

    =0.9 0.70.69

    = 0.9130

    29

  • M.Valen

    zuela-Rendon, 2006

    Ejemplo de Pearl

    Como aparece en el texto:

    JohnCalls MaryCalls

    Alarm

    Burglary Earthquake

    B E P (a)

    t t 0.95t f 0.94f t 0.29f f 0.001

    P (b)

    0.001

    P (e)

    0.002

    A P (j)

    t 0.90f 0.05

    A P (m)

    t 0.70f 0.01

    30

  • M.Valen

    zuela-Rendon, 2006

    Ejemplo de Pearl

    Como se debe cargar en BNT:

    JohnCalls MaryCalls

    Alarm

    Burglary Earthquake

    E B P (a) P (a)F F 0.999 0.001F T 0.06 0.94T F 0.71 0.29T T 0.05 0.95

    P (b) P (b)0.999 0.001

    P (e) P (e)0.998 0.002

    A P (j) P (j)F 0.95 0.05T 0.10 0.90

    A P (m) P (m)F 0.99 0.01T 0.30 0.70

    31

  • M.Valen

    zuela-Rendon, 2006

    BNT (Bayesian Networks Toolbox)

    Creacion de la red

    N = 5;dag = zeros(N,N);B = 1; E = 2; A = 3; J = 4; M = 5;dag(B,A) = 1;dag(E,A) = 1;dag(A,[J M]) = 1;node_sizes = 2*ones(1,N);bnet = mk_bnet(dag, node_sizes);

    32

  • M.Valen

    zuela-Rendon, 2006

    Se cargan las distribuciones de probabilidad conjuntas:

    bnet.CPD{B} = tabular_CPD(bnet, B, [0.001]);bnet.CPD{E} = tabular_CPD(bnet, E, [0.002]);bnet.CPD{A} = tabular_CPD(bnet, A, ...

    [0.001 0.29 0.94 0.95]);bnet.CPD{J} = tabular_CPD(bnet, J, [0.05 0.90]);bnet.CPD{M} = tabular_CPD(bnet, M, [0.01 0.70]);

    Se escoge una maquina de inferencia:

    engine = jtree_inf_engine(bnet);

    33

  • M.Valen

    zuela-Rendon, 2006

    Probabilidad de robo dado que sono la alarma

    Se carga la evidencia (A = 2):

    evidence = cell(1,N);evidence{A} = 2;[engine, loglik] = enter_evidence(engine, evidence);

    Se calcula la probabilidad marginal de robo:

    m = marginal_nodes(engine, B);m.T

    que produce el resultado:

    ans =

    0.90800.0920

    es decir, P (B|A) = 0.9080.

    34

  • M.Valen

    zuela-Rendon, 2006

    Probabilidad de robo dado que John llamo

    evidence = cell(1,N);evidence{J} = 2;[engine, loglik] = enter_evidence(engine, evidence);m = marginal_nodes(engine, B);m.T

    35

  • M.Valen

    zuela-Rendon, 2006

    Problema 14.12 del texto

    A B C

    AB AC BC

    A, B, y C representan las calidades de los equipos, y pueden tomarvalores en {0, 1, 2, 3}.

    AB, AC, y BC representan los resultados de los juegos entre los equipos,y pueden tomar valores en {p, e, g} donde p representa que el primerequipo pierda, e representa empate, y g representa que el primer equipogane.

    36

  • M.Valen

    zuela-Rendon, 2006

    Probabilidades anteriores

    Asumimos que todos los equipos son iguales inicialmente, es decir,

    P (A = 0) P (A = 1) P (A = 2) P (A = 3)0.25 0.25 0.25 0.25

    Y de la misma manera para B y C.

    37

  • M.Valen

    zuela-Rendon, 2006

    Probabilidades condicionales

    Escojemos la probabilidad de un resultado de un juego en terminos lasdiferencias de calidades.

    diferencia P (p) P (e) P (g)3 0.55 0.40 0.052 0.40 0.50 0.101 0.30 0.55 0.150 0.20 0.60 0.201 0.15 0.55 0.302 0.10 0.50 0.403 0.05 0.40 0.55

    De aqu podemos obtener las probabilidades condicionales P(AB|A,B),P(AC|A,C), y P(BC|B,C).

    38