Return to Video

Ejemplo de Ingeniería del Conocimiento - SAMIAM (14:14)

  • 0:00 - 0:03
    Así que, ahora, vamos a ver un ejemplo en una red real,
  • 0:03 - 0:06
    y trataremos de ver como es el aspecto de una CPD,
  • 0:06 - 0:08
    cuál es el comportamiento que obtenemos,
  • 0:08 - 0:09
    y cómo podríamos aumentar la red
  • 0:09 - 0:11
    para incluir cosas adicionales.
  • 0:11 - 0:13
    Ahora, déjenme advertirles por adelantado
  • 0:13 - 0:15
    que se trata de una red de juguete,
  • 0:15 - 0:16
    no es una red real,
  • 0:16 - 0:20
    aunque es lo suficientemente compacta como para mirarla, pero
  • 0:20 - 0:23
    aún lo suficientemente interesante como para obtener algunos comportamientos no triviales.
  • 0:25 - 0:27
    Por lo tanto, para explorar la red,
  • 0:27 - 0:29
    vamos a utilizar un sistema llamado SAMIAM.
  • 0:29 - 0:32
    Fue producido por Adnan Darwiche y su grupo de la UCLA,
  • 0:32 - 0:33
    y es bueno
  • 0:33 - 0:36
    porque en realidad funciona en todo tipo de plataformas diferentes,
  • 0:36 - 0:39
    así que puede ser utilizado por cualquiera.
  • 0:39 - 0:42
    Así que echemos un vistazo a un problema particular:
  • 0:42 - 0:44
    Imaginemos que somos una compañía de seguros
  • 0:44 - 0:45
    y estamos tratando de decidir
  • 0:45 - 0:46
    para una persona que llega
  • 0:46 - 0:49
    si se le da seguro o no.
  • 0:49 - 0:52
    Así, el aspecto operativo para tomar esa decisión
  • 0:52 - 0:54
    es cuanto nos va a costar la póliza,
  • 0:54 - 0:56
    es decir, cuánto vamos a tener que pagar
  • 0:56 - 0:59
    en el transcurso de un año para asegurar a esta persona.
  • 0:59 - 1:02
    Por lo tanto hay una variable llamada "Cost".
  • 1:02 - 1:07
    Vamos a hacer clic sobre él para ver qué propiedades tienen esa variable.
  • 1:07 - 1:09
    Y podemos ver que en este caso,
  • 1:09 - 1:12
    hemos decidido dar sólo dos valores para la variable "Cost",
  • 1:12 - 1:14
    Bajo y Alto.
  • 1:14 - 1:17
    Esto es claramente una aproximación muy de grano grueso
  • 1:17 - 1:18
    y no una que vayamos a utilizar en la práctica.
  • 1:18 - 1:20
    En realidad, es probable que
  • 1:20 - 1:22
    ésta sea una variable continua
  • 1:22 - 1:26
    cuyo entendimiento depende de varios aspectos del modelo.
  • 1:26 - 1:28
    Sin embargo, para los propósitos de nuestro ejemplo,
  • 1:28 - 1:30
    vamos a utilizar esta distribución discreta
  • 1:30 - 1:31
    que sólo tiene valores Bajo y Alto.
  • 1:31 - 1:33
    Está bien.
  • 1:33 - 1:37
    Así que ahora, vamos a construir esta red mediante la técnica de
  • 1:37 - 1:40
    "ampliar la conversación" que mencionamos antes.
  • 1:40 - 1:44
    Así que, ¿cuál es el factor determinante más importante
  • 1:44 - 1:47
    en cuanto a costos que la compañía de seguros tiene que pagar?
  • 1:47 - 1:51
    Bueno, probablemente si la persona tiene accidentes
  • 1:51 - 1:52
    y qué tan severos son.
  • 1:52 - 1:57
    Así que aquí tenemos una red que tiene dos variables:
  • 1:57 - 2:00
    una es "Accident" y la otra es "Cost".
  • 2:00 - 2:03
    Y en este caso hemos decidido seleccionar
  • 2:03 - 2:06
    tres valores posibles para la variable "Accident",
  • 2:06 - 2:09
    Ninguno, Leve y Severo,
  • 2:09 - 2:14
    y con las probabilidades que ven en la lista.
  • 2:14 - 2:17
    Y lo que se ve abajo es la variable "Cost".
  • 2:17 - 2:19
    Y abrimos la CPD
  • 2:19 - 2:25
    de la variable "Cost" dada la variable "Accident".
  • 2:25 - 2:27
    Y podemos ver que, en este caso,
  • 2:27 - 2:29
    tenemos una tabla de probabilidad condicional
  • 2:29 - 2:33
    de "Cost" dado "Accident".
  • 2:33 - 2:35
    Noten que esto en realidad está invertido
  • 2:35 - 2:39
    respecto a la notación que hemos utilizado en la clase anterior,
  • 2:39 - 2:42
    porque acá los casos condicionados son columnas,
  • 2:42 - 2:45
    mientras que en los ejemplos que hemos dado
  • 2:45 - 2:46
    han sido filas.
  • 2:46 - 2:49
    Pero eso está bien, es la misma cosa, sólo invertida.
  • 2:50 - 2:51
    Y así vemos, por ejemplo,
  • 2:51 - 2:54
    que si la persona no tiene accidentes,
  • 2:54 - 2:57
    es muy probable que los costos sea muy bajos.
  • 2:57 - 3:02
    Accidentes leves incurre en distribuciones diferentes sobre los costos.
  • 3:02 - 3:03
    Y los accidentes graves tienen
  • 3:03 - 3:06
    una probabilidad de 0,9 de tener alto costo
  • 3:06 - 3:08
    y 0,1 de tener un bajo costo.
  • 3:09 - 3:12
    Así que ahora, vamos a seguir ampliando la conversación
  • 3:12 - 3:14
    y preguntar que depende de "Accident".
  • 3:14 - 3:17
    Y parece ser que uno de los factores obvios
  • 3:17 - 3:20
    es si la persona es un buen conductor o no.
  • 3:20 - 3:23
    Y así podríamos esperar que la calidad del conductor
  • 3:23 - 3:24
    sea un padre de "Accident".
  • 3:24 - 3:25
    Pero hay otras cosas
  • 3:25 - 3:28
    que también afectan no sólo la presencia de un accidente,
  • 3:28 - 3:30
    sino también la gravedad del accidente.
  • 3:30 - 3:34
    Así, por ejemplo, el tamaño del vehículo afectaría
  • 3:34 - 3:37
    la gravedad de un accidente porque
  • 3:37 - 3:41
    si están conduciendo una SUV de gran tamaño, entonces
  • 3:41 - 3:44
    es probable que no tengan un accidente tan grave,
  • 3:44 - 3:46
    pero a su vez quizás podría aumentar
  • 3:46 - 3:47
    la probabilidad de tener un accidente global,
  • 3:47 - 3:52
    ya que a lo mejor un coche grande es más difícil de manejar.
  • 3:53 - 3:56
    Y entonces, el año del vehículo podría afectar las posibilidades de un accidente
  • 3:56 - 4:00
    debido a la presencia o ausencia de ciertas características de seguridad
  • 4:00 - 4:02
    como los frenos antibloqueo y airbags.
  • 4:02 - 4:04
    Así que vamos a abrir la CPD de "Accident"
  • 4:04 - 4:05
    y vemos como luce
  • 4:05 - 4:07
    ahora que tenemos todos los padres para ella.
  • 4:07 - 4:10
    Y podemos ver acá que tenemos,
  • 4:10 - 4:13
    en este caso, ocho casos condicionados,
  • 4:13 - 4:18
    correspondiente a tres variables, dos valores cada uno.
  • 4:18 - 4:23
    Y acá, sólo para ver una una de las muestra
  • 4:23 - 4:26
    de la distribución, por ejemplo,
  • 4:26 - 4:31
    si se trata de un vehículo bastante nuevo (después de 2000)
  • 4:31 - 4:32
    y es una SUV,
  • 4:32 - 4:36
    la probabilidad de tener un accidente grave es muy baja,
  • 4:36 - 4:39
    y la probabilidad de tener un accidente leve es moderada,
  • 4:39 - 4:45
    y la probabilidad de no tener accidentes es de 0,85.
  • 4:45 - 4:49
    Mientras que si se compara con la entrada correspondiente
  • 4:49 - 4:52
    cuando mantenemos todo fijo, excepto que ahora es un coche compacto,
  • 4:52 - 5:01
    vemos que la probabilidad de tener un accidente leve es menor,
  • 5:01 - 5:03
    pero la probabilidad de no tener accidentes es mayor,
  • 5:03 - 5:08
    representando patrones de conducción diferentes, por ejemplo.
  • 5:09 - 5:12
    Bien, entonces con esta red
  • 5:12 - 5:14
    podemos empezar a hacer preguntas simples.
  • 5:15 - 5:17
    Así que, para dar algún ejemplo de inferencia causal,
  • 5:17 - 5:21
    vamos a instanciar, por ejemplo, "Driving_quality" en Bueno,
  • 5:22 - 5:24
    y en Malo.
  • 5:24 - 5:27
    Y podemos ver que para un mal conductor
  • 5:27 - 5:31
    la probabilidad de un costo bajo es 81%.
  • 5:31 - 5:36
    Y para un buen conductor de la probabilidad de un costo bajo es 87%.
  • 5:36 - 5:38
    Si nos fijamos en los accidentes
  • 5:38 - 5:41
    se puede ver que para un buen conductor
  • 5:41 - 5:45
    hay una probabilidad de 87,5% de no tener accidentes
  • 5:45 - 5:46
    y 10% de tener un accidente leve.
  • 5:46 - 5:51
    Y la probabilidad de no tener accidentes baja para un mal conductor,
  • 5:51 - 5:53
    y accidentes leves sube,
  • 5:53 - 5:55
    y accidentes graves también se va hacia arriba.
  • 5:55 - 5:59
    Ahora, tengan en cuenta que muchas de estas diferencias son muy sutiles.
  • 5:59 - 6:02
    Hay una diferencia de un par de puntos porcentuales de una manera u otra.
  • 6:02 - 6:04
    Y se podría pensar que,
  • 6:04 - 6:05
    si estuvieran diseñando una red,
  • 6:05 - 6:09
    les gustaría que estos cambios de probabilidad sean realmente extremos
  • 6:09 - 6:11
    cuando se instancias valores distintos.
  • 6:11 - 6:14
    Pero en muchos casos esto no es realmente cierto,
  • 6:14 - 6:15
    y estas diferencias sutiles
  • 6:15 - 6:18
    son en realidad muy importante para una compañía de seguros
  • 6:18 - 6:20
    que asegura cientos de miles de personas.
  • 6:20 - 6:22
    Un par de puntos porcentuales en la probabilidad de un accidente
  • 6:22 - 6:25
    puede hacer una gran diferencia a la propia rentabilidad.
  • 6:26 - 6:27
    Así que ahora vamos a pensar en
  • 6:27 - 6:30
    cómo podríamos expandir esta red aún más.
  • 6:30 - 6:33
    El tamaño de vehículo y año del vehículo son cosas
  • 6:33 - 6:36
    que podemos observar en el foro de seguros.
  • 6:36 - 6:39
    Pero la calidad del conductor es muy difícil de observar.
  • 6:39 - 6:42
    No se puede preguntarle a alguien: "Oh, ¿eres un buen conductor?"
  • 6:42 - 6:43
    Porque todo el mundo va a decir:
  • 6:43 - 6:45
    "Claro, soy el mejor conductor!".
  • 6:45 - 6:49
    Por lo tanto no va a ser una cuestión de gran utilidad.
  • 6:49 - 6:53
    Entonces, ¿qué evidencias podemos observar que nos
  • 6:53 - 6:57
    podrían indicar el valor de la calidad de conductor?
  • 6:57 - 7:01
    Una obvia es el registro de conducir de la persona.
  • 7:01 - 7:04
    Es decir, si ha tenido accidentes anteriores
  • 7:04 - 7:05
    o infracciones anteriores.
  • 7:06 - 7:08
    Por lo tanto, vamos a pensar en añadir una variable
  • 7:08 - 7:10
    que representa la historia de conducción.
  • 7:11 - 7:14
    Y así vamos a introducir esa variable.
  • 7:14 - 7:16
    Por lo tanto, puede hacer clic en este botón
  • 7:16 - 7:18
    que nos permite crear un nodo.
  • 7:18 - 7:20
    El nodo ahora se llama "variable1"
  • 7:20 - 7:21
    por lo que tenemos que darle un nombre.
  • 7:21 - 7:25
    Así, por ejemplo, vamos a llamarlo "DrivingHistory".
  • 7:26 - 7:28
    Y ese es su identificador,
  • 7:28 - 7:31
    y también tenemos el nombre de la variable,
  • 7:31 - 7:32
    que es generalmente el mismo.
  • 7:32 - 7:35
    Y vamos a darle dos valores,
  • 7:35 - 7:38
    digamos PreviousAccident y NoPreviousAccident.
  • 7:42 - 7:46
    Ahora, ¿dónde vamos a poner esta variable en la red?
  • 7:46 - 7:49
    Uno podría pensar inicialmente que hay que
  • 7:49 - 7:53
    colocar "DrivingHistory" como padre de "Driver_quality"
  • 7:53 - 7:57
    porque el historial de conducción puede influenciar
  • 7:57 - 7:59
    nuestras creencias sobre la calidad del conductor.
  • 7:59 - 8:01
    Ahora, es verdad que la observación del historial de conducción
  • 8:01 - 8:04
    cambia nuestra probabilidad de la calidad del conductor,
  • 8:04 - 8:07
    pero si piensan en la propia estructura causal de esta situación,
  • 8:07 - 8:12
    lo que realmente tenemos es que la calidad del conductor es un factor causal
  • 8:12 - 8:14
    tanto de un accidente anterior
  • 8:14 - 8:17
    como un accidente posterior.
  • 8:17 - 8:18
    Y lo que si queremos mantener es
  • 8:18 - 8:20
    la estructura causal intuitiva del dominio,
  • 8:20 - 8:28
    algo más adecuado es añadir "DrivingHistory" como hijo
  • 8:28 - 8:30
    en lugar de padre de "Driver_quality".
  • 8:30 - 8:32
    Pueden preguntarse por qué es importante,
  • 8:32 - 8:34
    y en este ejemplo muy sencillo
  • 8:34 - 8:37
    los dos modelos son, en cierto sentido equivalentes
  • 8:37 - 8:39
    y podríamos haberlas colocado de cualquier manera,
  • 8:39 - 8:44
    excepto que la CPD de la calidad del conductor dado el historial de conducción
  • 8:44 - 8:46
    puede ser un poco menos intuitivo.
  • 8:46 - 8:50
    Pero si tuviéramos otros indicadores de calidad del conductor,
  • 8:50 - 8:52
    por ejemplo, una infracción anterior,
  • 8:52 - 8:56
    entonces en realidad tiene mucho más sentido
  • 8:56 - 8:59
    tener todos ellos como hijos de la calidad del conductor
  • 8:59 - 9:01
    en vez de padres de la calidad del conductor.
  • 9:02 - 9:03
    Está bien.
  • 9:03 - 9:07
    Esto nos muestra cómo podemos añadir una variable a la red.
  • 9:07 - 9:10
    Y ahora vamos a abrir una red mucho más grande
  • 9:10 - 9:13
    que incluye estas variables y otras.
  • 9:13 - 9:16
    Miramos ahora en esta red más grande,
  • 9:16 - 9:17
    y podemos ver
  • 9:17 - 9:20
    que hemos añadido algunas variables diferentes a la red.
  • 9:20 - 9:23
    Hemos añadido atributos del vehículo,
  • 9:23 - 9:27
    por ejemplo, si el vehículo tenía frenos antibloqueo y airbag,
  • 9:27 - 9:29
    que nos va a permitir dar
  • 9:29 - 9:31
    probabilidades más informativas sobre el accidente.
  • 9:31 - 9:35
    También hemos introducido aspectos del conductor,
  • 9:35 - 9:38
    por ejemplo, si ha tenido una ruta de entrenamiento extra,
  • 9:38 - 9:40
    que va a aumentar la calidad de conducción,
  • 9:40 - 9:42
    si es joven o viejo,
  • 9:42 - 9:43
    donde se supone
  • 9:43 - 9:46
    que las personas más jóvenes tienden a ser conductores más imprudentes,
  • 9:46 - 9:50
    y si el conductor es enfocado o fácilmente distraído,
  • 9:50 - 9:53
    que a su vez va a afectar a la calidad de conducción.
  • 9:54 - 9:59
    Ahora bien, como el tipo de personalidad es difícil de observar,
  • 9:59 - 10:03
    añadimos otra variable que es "Good_student"
  • 10:03 - 10:06
    lo que podría indicar el tipo de personalidad.
  • 10:06 - 10:09
    Así que vamos a abrir la CPD para este,
  • 10:11 - 10:14
    y así podemos ver acá que, por ejemplo,
  • 10:14 - 10:21
    si sos una persona enfocada y joven,
  • 10:21 - 10:24
    es mucho más probable que seas un buen estudiante,
  • 10:24 - 10:28
    mucho más que si no sos una persona enfocada y joven.
  • 10:28 - 10:32
    Si sos viejo, no es muy probable que seas un estudiante,
  • 10:32 - 10:38
    por lo que esta probabilidad básicamente dice que si sos viejo,
  • 10:38 - 10:40
    no es muy probable que seas un estudiante,
  • 10:40 - 10:41
    y por lo tanto no es probable ser un buen estudiante.
  • 10:42 - 10:48
    Así que, ahora que hemos añadido todas estas variables a la red,
  • 10:48 - 10:51
    vamos a seguir adelante y ejecutar algunas consultas para ver qué pasa.
  • 10:51 - 10:57
    Y vamos a empezar por mirar la probabilidad a priori de "Accident"
  • 10:57 - 11:00
    antes de observar nada.
  • 11:00 - 11:04
    Podemos ver que la probabilidad de ningún accidente es cercana al 79,5%.
  • 11:04 - 11:07
    La probabilidad de accidente grave es de aproximadamente 3%.
  • 11:07 - 11:10
    Ahora vamos a seguir adelante y decirle al sistema
  • 11:10 - 11:12
    que tenemos un buen estudiante en cuestión.
  • 11:12 - 11:14
    Así que vamos a observar
  • 11:14 - 11:16
    que el estudiante es un buen estudiante,
  • 11:16 - 11:18
    y vamos a ver qué pasa.
  • 11:18 - 11:20
    Podemos ver, sorprendentemente,
  • 11:20 - 11:21
    que a pesar de que se observa
  • 11:21 - 11:22
    que alguien es un buen estudiante,
  • 11:22 - 11:24
    la probabilidad de ningún accidente
  • 11:24 - 11:28
    se redujo de 79,5% a 78%,
  • 11:28 - 11:30
    y la probabilidad de accidentes graves
  • 11:30 - 11:33
    subió de 3,5% a 3,67%.
  • 11:33 - 11:34
    Ustedes pueden decir:
  • 11:34 - 11:36
    "Bueno, pero me dijo que es un buen estudiante,
  • 11:36 - 11:38
    ¿No debería bajar la probabilidad de accidentes?"
  • 11:38 - 11:42
    Así que echemos un vistazo a algunos caminos activos en este grafo.
  • 11:42 - 11:46
    Un camino activo pasa desde "Good_student" a "Focused",
  • 11:46 - 11:49
    a "Driver_quality",
  • 11:49 - 11:50
    a "Accident".
  • 11:50 - 11:54
    Y es bastante seguro que, si tenemos en cuenta ese camino de forma aislada,
  • 11:54 - 11:58
    probablemente va a hacer que la probabilidad de ningún accidente sea mayor.
  • 11:58 - 12:00
    Sin embargo, tenemos otro camino activo.
  • 12:00 - 12:04
    Tenemos el camino activo que va de "Good_student" hasta "Age",
  • 12:04 - 12:07
    y luego hacia abajo, a través de "Driver_quality".
  • 12:07 - 12:10
    Por lo tanto, para ver esto, vamos a desmarcar en buen estudiante
  • 12:10 - 12:11
    y ver qué pasa.
  • 12:11 - 12:16
    Noten que inicialmente la probabilidad de que el conductor sea joven era del 25%,
  • 12:16 - 12:18
    pero cuando observé un buen estudiante,
  • 12:18 - 12:21
    subió a cerca de 95%.
  • 12:21 - 12:23
    Y eso fue suficiente para contrarrestar la influencia
  • 12:23 - 12:27
    a lo largo de este camino activo más evidente.
  • 12:28 - 12:32
    Así que, para demostrar que esto es precisamente lo que está pasando,
  • 12:32 - 12:36
    hagamos click para
  • 12:36 - 12:38
    instanciar el hecho de que el estudiante es joven,
  • 12:38 - 12:43
    y podemos ver que la probabilidad de accidente grave subió hasta el 3,7%
  • 12:43 - 12:48
    y ningún accidente bajó un poco por debajo del 77%.
  • 12:48 - 12:52
    Y ahora vamos a observar buen estudiante y ver qué pasa.
  • 12:52 - 12:53
    Así que ahora observamos buen estudiante,
  • 12:53 - 13:02
    y la probabilidad de ningún accidentes se fue a 78%,
  • 13:02 - 13:07
    a diferencia del anterior, cuando era 77%.
  • 13:07 - 13:11
    Y la razón de esto
  • 13:11 - 13:13
    es que ahora hemos bloqueado este camino
  • 13:13 - 13:16
    que va de buen estudiante, a través de la edad, a la calidad del conductor
  • 13:16 - 13:18
    mediante la observación de esta variable que bloquea el camino.
  • 13:18 - 13:21
    Así podemos ver que los patrones de razonamiento
  • 13:21 - 13:25
    en una red bayesiana a veces son sutiles.
  • 13:25 - 13:29
    Y hay diferentes caminos que pueden afectar a las cosas
  • 13:29 - 13:32
    y interactúan entre sí de diferentes maneras.
  • 13:32 - 13:35
    Y de esta manera, es útil tomar el modelo
  • 13:35 - 13:36
    y jugar con diferentes consultas
  • 13:36 - 13:38
    y diferentes combinaciones de evidencias
  • 13:38 - 13:40
    para entender el comportamiento de una red.
  • 13:40 - 13:41
    Y especialmente si están diseñando
  • 13:41 - 13:44
    dicha red para una aplicación particular,
  • 13:44 - 13:46
    es útil para probar las diferentes consultas
  • 13:46 - 13:48
    y ver si el comportamiento que se obtiene
  • 13:48 - 13:50
    es el comportamiento que desean conseguir.
  • 13:50 - 13:52
    Y si no, entonces necesitan preguntarse
  • 13:52 - 13:56
    ¿cómo puedo modificar esta red para obtener un comportamiento
  • 13:56 - 14:00
    que es más similar a la conducta deseada?.
  • 14:00 - 14:04
    Esta red está disponible para que jueguen
  • 14:04 - 14:06
    y puedan probar diferentes cosas
  • 14:06 - 14:09
    y ver qué comportamientos se obtienen.
Title:
Ejemplo de Ingeniería del Conocimiento - SAMIAM (14:14)
Video Language:
English

Spanish, Argentinian subtitles

Revisions