clase sistema experto probabilistico

34
SISTEMAS EXPERTOS Razonamiento bajo incertidumbre Sistemas Expertos Basados en Probabilidad Mg. Ing. Rolando M. Chávez Guillén

Upload: luigi-guerreros

Post on 14-Jul-2015

705 views

Category:

Documents


2 download

TRANSCRIPT

SISTEMAS EXPERTOS

Razonamiento bajo

incertidumbre

Sistemas Expertos Basados

en Probabilidad

Mg. Ing. Rolando M. Chávez Guillén

INCERTIDUMBRE

• Todos los seres humanos tienen experiencia, en

manejar la incertidumbre. Es muy común tomar

decisiones en condiciones de incertidumbre, acerca

del trafico, el clima, el trabajo, la escuela , etc., de tal

manera que ella, es parte de nuestra vida diaria.

• Un ejemplo tan cotidiano como el ir tarde al trabajo

y preguntarse si se va a tomar un bus o un taxi.

INCERTIDUMBRE

• La persona decide con incertidumbre, por que no

sabe si el bus se demore o no, o si estará lleno, por

otro lado el taxi le costará mas, pero debe tomar

una decisión que lo lleve a su trabajo.

• Este tipo de decisiones se presenta a menudo tanto

en la vida cotidiana, como en el ámbito científico o

en el empresarial.

INCERTIDUMBRE

• Aunque la incertidumbre este presente en todos esos

campos, el ser humano ha desarrollado técnicas y teorías,

como la probabilidad , para enfrentar este tipo de

decisiones.

• Aun cuando es posible construir muchas aplicaciones de

los sistemas expertos utilizando el razonamiento exacto,

muchas otras requieren un razonamiento inexacto con

hechos o reglas inciertas, es decir un razonamiento con

incertidumbre.

TIPOS DE ERRORES• Muchos tipos de errores, pueden aportar

incertidumbre. Las diferentes teorías de

incertidumbre, tratan de resolver parte o todo esto,

para proporcionar, la inferencia mas confiable.

• Entre los tipos de errores se puede mencionar la

ambigüedad, en el que algo puede interpretarse de

más de una manera. Ejemplo: Apagar la válvula(¿Cuál

válvula?).

TIPOS DE ERRORES

• Otro tipo es la falta de información completa.

• Un tercero es la incorrección, donde la información

es incorrecta. Las posibles causas de la incorrección

son el error humano, la falla accidental en la lectura

de los datos, el mal funcionamiento del equipo, etc.

ENFOQUE PROBABILISTICO

Probabilidad Condicional: Si A y B son 2 eventos en un espacio muestral.

La probabilidad de que ocurra A dado que B ha ocurrido se define :

P(A/B)= P(A ∩B) /P(B) = card(A,B)/card(B)

P(Ā/B)=1-P(A/B)

Ejercicios1.- En lima, Perú la probabilidad que llueva el día primero de julio es de

0.50 y la probabilidad que llueva los 2 primeros días de julio es

0.40.Dado que llovió el día primero. ¿cual es la probabilidad que llueva

el día siguiente.

2.- Un hombre tiene dos carros viejos , a y b; ellos tienen problemas

para arrancar en las mañanas frías. La probabilidad que ambos arrancan

es 0.1; la probabilidad que arranca b y no a es 0.2; la probabilidad que

ninguno de ellos arranca es 0.4. Hallar la probabilidad que: i) el carro a

arranca; ii) arranca a dado que arrancó b ; iii) arranca b, dado que

arrancó a.

Ejercicios3.-En un sistema de alarma, la probabilidad que se produzca un peligro

es 0.10. Si este se produce, la probabilidad que la alarma funcione es de

0.95. La probabilidad que funcione la alarma sin haber habido peligro es

0.03.Determinar la probabilidad que haya un peligro y la alarma no

funcione.

4.-Dos establos A y B tienen 1000 cabezas de vacuno cada uno. Existe

una epidemia que afecta a los cascos y la boca del ganado. La proporción

de ganados afectados es 1/5 y ¼ respectivamente(por establo). Se

escoge un ganado al azar. i) ¿Cuál es la probabilidad que el ganado

escogido viene del rancho A y tiene afección a los cascos y a la boca?.

Ejercicios

ii) Si el 70 % de los ganados afectados tienen edad menor que un año.

¿Cuál es la probabilidad que el ganado escogido venga del rancho B,

tiene afección y es mayor que un año de edad?.

ENFOQUE PROBABILISTICO

Teorema de Bayes :

P(Ai/B)=P(Ai) P(B/Ai) / P(B)

A1 A2 A3

P(B)=Σ P(Ai) P(B/Ai)

B

P(B)= P(Ai) P(B/Ai) + P(Āi) P(B/Āi)

Probabilidad Total

Teorema de Bayes

• “El Teorema de Bayes nos permite comparar la

probabilidad previa ( o a priori) P(Ai), con la

probabilidad posterior ( o aposteriori) P(Ai/B), esto

es, con la probabilidad de Ai después que ha ocurrido

el evento B”.

• Observar que la regla de Bayes da el porcentaje de

P(Ai ∩ B) con respecto a P(B).

1. Un centro médico tiene una base de datos de historias clínicas de N= 1000 pacientes.

APLICACION

Dolor

25

25

220

220

1276

95954

31

50 10 10

113

9

5

Vómitos

G

Perdida peso

2. Hay 700 pacientes (región sombreada) que tienen laenfermedad adenocarcinoma gástrico (G), y 300 no latienen.• Tres síntomas: Dolor (D), pérdida de peso (P) y vómitos

(V) están ligados a la enfermedad.• Cuando un paciente nuevo llega a la consulta, hay una

probabilidad 700/1000 = 70% de que el pacientetenga G.

Dolor

25

25

220

220

12 76

9595431

50 10 10

113

9

5

Vómitos

G

Perdida peso

=> Pueden hacerse las siguientes afirmaciones:• Probabilidad a priori: 440 de 1000 pacientes vomitan

=> p(v) = 0.44• Verosimilitud: El 50% de los pacientes que tienen la

enfermedad, vomitan. p(v|g) = card(v,g) / card(g) card(v,g) = 25+220+95+10=350

= 350/700 = 0.5

Dolor

25

25

220

220

12 76

9595431

50 10 10

113

9

5

Vómitos

G

Perdida peso

A1 A2

A3

Mientras que sólo el 30% de los pacientes que no tienen la enfermedad vomitanp(v| ¬ g)=card(v, ¬ g)/card(¬ g)= 90/300=0.3

Dolor

25

25

220

220

1276

95954

31

50 10 10

113

9

5

Vómitos

G

Perdida peso

• Probabilidad a priori: 220+95+4+31+4= 350 de 1000 pacientes vomitan y pierden peso.

=> p(v,p) = 0.35• Verosimilitud: El 45% de los pacientes que tienen la

enfermedad vomitan y pierden peso.card(v, p,g) = 220+95 = 315p(v, p | g) = card(v, p,g) / card(g)

= 315/700 = 0.45• Mientras que sólo el 12% de los que no tienen la

enfermedad vomitan y pierden pesop(v,p| ¬ g) = card(v,p, ¬ g)/card(¬ g)

= 35/300 = 0.11666667= 0.12

Puesto que la probabilidad inicial de que el pacientetenga adenocarcinoma gástrico, p(g)=0.7, no essuficientemente alta para hacer un diagnóstico (tomaruna decisión ahora, implica una probabilidad 0.3 deequivocarse),

Entonces el doctor decide examinar al paciente paraobtener más información:

Supóngase que los resultados muestran que el pacientetiene los síntomas vómitos (v) y pérdida de peso (p).¿Cuál es ahora la probabilidad de que el paciente tenga laenfermedad?

Tras observar que tiene v la probabilidad a posteriori es

p(g|v)p(g) p(v|g)

p(g) p(v| g)+ p(¬ g) p(v| ¬ g)

=

0.7 x 0.5

(0.7 x 0.5) + (0.3 x 0.3)

= = 0.795

p(g|v)p(g) p(v|g)

p(v)

=

0.7 x 0.5

0.44

= = 0.795

Tras observar que tiene v y p la probabilidad a posteriori es

p(g|v,p)p(g) p(v, p |g)

p(g) p(v, p | g)+ p(¬ g) p(v,p| ¬ g)

=0.7 x 0.45

(0.7 x 0.45) + (0.3 x 0.12)

= 0.9=

p(g) p(v,p|g)

P(v,p)

=0.7 x 0.45

0.35= = 0.9p(g|v,p)

Nótese que cuando se aplica el teorema de Bayessucesivamente, la probabilidad “a posteriori” calculadaen una etapa dada es la misma que la probabilidad “apriori” en la siguiente.

Por ejemplo, la probabilidad “a posteriori” que se hacalculado en el primer paso anterior, puede ser utilizadacomo probabilidad “a priori” en la siguiente:

p(g|v,p)

p(g|v) p(p|g,v)

p(g|v) p(p|g,v)+ p(¬ g|v) p(p| ¬ g,v)

0.795 x 0.9

(0.795 x 0.9) + (0.205 x 0.389)= 0.9

=

=

=

I) Identificar los posibles conjuntos que intervienen en el problema

B

BC

A1A2

A3

A3C

A2CA3

A3C

A1CA2

A2C

A3

A3C

A3

A3C

A1

A2A3

A3C

A2CA3

A3C

A1C A2

A2C

A3A3C

A3A3C

II) Cargar la base de conocimiento

III) Calcular las probabilidades conocidas

/* P(A1/B)*/

real PA1B=0;

PA1B=(personas_por_conjunto[0]+personas_por_conjunto[1]+

personas_por_conjunto[2]+personas_por_conjunto[3])/(personas_por

_conjunto[0]+personas_por_conjunto[1]+

personas_por_conjunto[2]+personas_por_conjunto[3]+personas_por_

conjunto[4]+personas_por_conjunto[5]+

personas_por_conjunto[6]+personas_por_conjunto[7])

Escribir("La probabilidad de P(A1/B) es : “, PA1B)

III) Calcular las probabilidades conocidas

/* P(A1/BC)*/Real PA1BC=0;

PA1BC=(personas_por_conjunto[8]+personas_por_conjunto[9]+

personas_por_conjunto[10]+personas_por_conjunto[11])/(personas_p

or_conjunto[8]+personas_por_conjunto[9]+

personas_por_conjunto[10]+personas_por_conjunto[11]+personas_po

r_conjunto[12]+personas_por_conjunto[13]+

personas_por_conjunto[14]+personas_por_conjunto[15])

Escribir("La probabilidad de P(A1/BC) es : “, PA1BC)

III) Calcular las probabilidades conocidas

/* P(A2/B)*/

real PA2B=0;

PA2B=(personas_por_conjunto[0]+personas_por_conjunto[1]+

personas_por_conjunto[4]+personas_por_conjunto[5])/(personas_por

_conjunto[0]+personas_por_conjunto[1]+

personas_por_conjunto[2]+personas_por_conjunto[3]+personas_por_

conjunto[4]+personas_por_conjunto[5]+

personas_por_conjunto[6]+personas_por_conjunto[7])

Escribir("La probabilidad de P(A2/B) es : “, PA2B)

III) Calcular las probabilidades conocidas

/* P(A2/BC)*/Real PA2BC=0;

PA2BC=(personas_por_conjunto[8]+personas_por_conjunto[9]+

personas_por_conjunto[12]+personas_por_conjunto[13])/(personas_p

or_conjunto[8]+personas_por_conjunto[9]+

personas_por_conjunto[10]+personas_por_conjunto[11]+personas_po

r_conjunto[12]+personas_por_conjunto[13]+

personas_por_conjunto[14]+personas_por_conjunto[15])

Escribir("La probabilidad de P(A2/BC) es : “, PA2BC)

III) Calcular las probabilidades conocidas

/* P(A3/B)*/

real PA3B=0;

PA3B=(personas_por_conjunto[0]+personas_por_conjunto[2]+

personas_por_conjunto[4]+personas_por_conjunto[6])/(personas_por

_conjunto[0]+personas_por_conjunto[1]+

personas_por_conjunto[2]+personas_por_conjunto[3]+personas_por_

conjunto[4]+personas_por_conjunto[5]+

personas_por_conjunto[6]+personas_por_conjunto[7])

Escribir("La probabilidad de P(A3/B) es : “, PA3B)

III) Calcular las probabilidades conocidas

/* P(A3/BC)*/Real PA3BC=0;

PA3BC=(personas_por_conjunto[8]+personas_por_conjunto[10]+

personas_por_conjunto[12]+personas_por_conjunto[14])/(personas_p

or_conjunto[8]+personas_por_conjunto[9]+

personas_por_conjunto[10]+personas_por_conjunto[11]+personas_po

r_conjunto[12]+personas_por_conjunto[13]+

personas_por_conjunto[14]+personas_por_conjunto[15])

Escribir("La probabilidad de P(A3/BC) es : “, PA3BC)

IV) Calcular las probabilidades condicionales

En este caso particular que se analiza, un paciente que va a una

consulta, tiene una probabilidad a priori de 0.7 de tener la

enfermedad , pero el medico considera que esto no es suficiente

ya que tiene una probabilidad de 0.3 de equivocarse, por tanto

decide hacer las preguntas adecuadas que el paciente debe

responder .

a) Si el enfermo tiene vómitos.

b) Si el enfermo experimenta perdida de peso.

c) Si el enfermo tiene dolor.

IV) Calcular las probabilidades condicionales

Para esto se toma P(B)=0.70 que es la primera estimación dada por el médico.

Para el caso que la probabilidad inicial de B es 0.7 , por medio de la regla de

Bayes se tiene que, la probabilidad que el paciente tenga la enfermedad, dado

que no presenta vómitos , se calcula como sigue:

P(BC/A3C)=1- P(B/A3C)= 1-0.625= 0.375

3

3

3

3

P(Ā/B)=1-P(A/B) P(A3C/B)=1-P(A3/B)

IV) Calcular las probabilidades condicionales

Las deducciones obtenidas, dan una nueva probabilidad de que el

paciente tenga la enfermedad, por lo tanto la probabilidad de

tener dicha enfermedad , teniendo el síntoma de perdida de

peso, sufre un cambio, ya que ahora P(B)=0.625 , lo mismo su

sucede con su complemento, estas nuevas probabilidades son

usadas para el siguiente cálculo:

P(BC/A2)=1- P(B/A2) = 0.2105

IV) Calcular las probabilidades condicionales

Este cálculo determina que dado que, un paciente no tiene

vómitos y presenta perdida de peso su nueva probabilidad de

tener la enfermedad es 0.7895.

Un paciente que, no presenta vómitos, pero presenta perdida de

peso , y además tiene el síntoma de dolor, su probabilidad de

tener la enfermedad es de :

P(BC/A1)=1- P(B/A1) = 0.366

11

1

IV) Actualizar la base de conocimiento

Pero el sistema no solo se queda con los datos a priori

suministrados por el medico, si no que a medida que va

conociendo nuevos casos y los resultados finales de estos a

posteriori, actualiza su propia base de conocimiento.

Ejemplo:

“Un paciente que tiene dolor ,perdida de peso y vómitos. Tiene X% de

probabilidades de tener la enfermedad. Se le realizan los análisis

correspondientes y se le diagnostica que tiene la enfermedad”.

Entonces : Pertenece al conjunto: 1 B_A1_A2_A3

personas_por_conjunto[0]++ (se incrementa en 1)