0:00:00.118,0:00:02.898 Así que, ahora, vamos a ver un ejemplo en una red real, 0:00:02.898,0:00:06.181 y trataremos de ver como es el aspecto de una CPD, 0:00:06.181,0:00:07.738 cuál es el comportamiento que obtenemos, 0:00:07.738,0:00:09.488 y cómo podríamos aumentar la red 0:00:09.488,0:00:11.238 para incluir cosas adicionales. 0:00:11.238,0:00:12.802 Ahora, déjenme advertirles por adelantado 0:00:12.802,0:00:14.656 que se trata de una red de juguete, 0:00:14.656,0:00:16.263 no es una red real, 0:00:16.263,0:00:19.622 aunque es lo suficientemente compacta como para mirarla, pero 0:00:19.622,0:00:22.918 aún lo suficientemente interesante como para obtener algunos comportamientos no triviales. 0:00:24.579,0:00:26.593 Por lo tanto, para explorar la red, 0:00:26.593,0:00:28.854 vamos a utilizar un sistema llamado SAMIAM. 0:00:28.854,0:00:31.662 Fue producido por Adnan Darwiche y su grupo de la UCLA, 0:00:31.662,0:00:32.640 y es bueno 0:00:32.640,0:00:36.151 porque en realidad funciona en todo tipo de plataformas diferentes, 0:00:36.151,0:00:38.911 así que puede ser utilizado por cualquiera. 0:00:38.911,0:00:41.537 Así que echemos un vistazo a un problema particular: 0:00:41.537,0:00:43.616 Imaginemos que somos una compañía de seguros 0:00:43.616,0:00:44.888 y estamos tratando de decidir 0:00:44.888,0:00:46.438 para una persona que llega 0:00:46.438,0:00:49.002 si se le da seguro o no. 0:00:49.002,0:00:51.746 Así, el aspecto operativo para tomar esa decisión 0:00:51.746,0:00:54.369 es cuanto nos va a costar la póliza, 0:00:54.369,0:00:55.892 es decir, cuánto vamos a tener que pagar 0:00:55.892,0:00:58.915 en el transcurso de un año para asegurar a esta persona. 0:00:58.915,0:01:02.287 Por lo tanto hay una variable llamada "Cost". 0:01:02.287,0:01:06.847 Vamos a hacer clic sobre él para ver qué propiedades tienen esa variable. 0:01:06.847,0:01:08.507 Y podemos ver que en este caso, 0:01:08.507,0:01:11.952 hemos decidido dar sólo dos valores para la variable "Cost", 0:01:11.952,0:01:13.772 Bajo y Alto. 0:01:13.772,0:01:16.790 Esto es claramente una aproximación muy de grano grueso 0:01:16.790,0:01:18.472 y no una que vayamos a utilizar en la práctica. 0:01:18.472,0:01:20.303 En realidad, es probable que 0:01:20.303,0:01:22.135 ésta sea una variable continua 0:01:22.135,0:01:25.887 cuyo entendimiento depende de varios aspectos del modelo. 0:01:25.887,0:01:27.783 Sin embargo, para los propósitos de nuestro ejemplo, 0:01:27.783,0:01:29.559 vamos a utilizar esta distribución discreta 0:01:29.559,0:01:31.273 que sólo tiene valores Bajo y Alto. 0:01:31.273,0:01:32.647 Está bien. 0:01:32.647,0:01:36.855 Así que ahora, vamos a construir esta red mediante la técnica de 0:01:36.855,0:01:39.504 "ampliar la conversación" que mencionamos antes. 0:01:39.504,0:01:44.224 Así que, ¿cuál es el factor determinante más importante 0:01:44.224,0:01:46.740 en cuanto a costos que la compañía de seguros tiene que pagar? 0:01:46.740,0:01:50.647 Bueno, probablemente si la persona tiene accidentes 0:01:50.647,0:01:51.977 y qué tan severos son. 0:01:51.977,0:01:57.005 Así que aquí tenemos una red que tiene dos variables: 0:01:57.005,0:01:59.724 una es "Accident" y la otra es "Cost". 0:01:59.724,0:02:02.645 Y en este caso hemos decidido seleccionar 0:02:02.645,0:02:05.701 tres valores posibles para la variable "Accident", 0:02:05.701,0:02:09.031 Ninguno, Leve y Severo, 0:02:09.031,0:02:14.442 y con las probabilidades que ven en la lista. 0:02:14.442,0:02:17.447 Y lo que se ve abajo es la variable "Cost". 0:02:17.447,0:02:18.759 Y abrimos la CPD 0:02:18.759,0:02:24.845 de la variable "Cost" dada la variable "Accident". 0:02:24.845,0:02:26.946 Y podemos ver que, en este caso, 0:02:26.946,0:02:29.169 tenemos una tabla de probabilidad condicional 0:02:29.169,0:02:33.358 de "Cost" dado "Accident". 0:02:33.358,0:02:35.485 Noten que esto en realidad está invertido 0:02:35.485,0:02:38.542 respecto a la notación que hemos utilizado en la clase anterior, 0:02:38.542,0:02:41.713 porque acá los casos condicionados son columnas, 0:02:41.713,0:02:44.545 mientras que en los ejemplos que hemos dado 0:02:44.545,0:02:45.754 han sido filas. 0:02:45.754,0:02:49.189 Pero eso está bien, es la misma cosa, sólo invertida. 0:02:49.650,0:02:51.102 Y así vemos, por ejemplo, 0:02:51.102,0:02:54.418 que si la persona no tiene accidentes, 0:02:54.418,0:02:56.765 es muy probable que los costos sea muy bajos. 0:02:56.765,0:03:01.581 Accidentes leves incurre en distribuciones diferentes sobre los costos. 0:03:01.581,0:03:03.173 Y los accidentes graves tienen 0:03:03.173,0:03:05.789 una probabilidad de 0,9 de tener alto costo 0:03:05.789,0:03:08.414 y 0,1 de tener un bajo costo. 0:03:09.060,0:03:11.749 Así que ahora, vamos a seguir ampliando la conversación 0:03:11.749,0:03:14.088 y preguntar que depende de "Accident". 0:03:14.088,0:03:17.207 Y parece ser que uno de los factores obvios 0:03:17.207,0:03:20.409 es si la persona es un buen conductor o no. 0:03:20.409,0:03:22.661 Y así podríamos esperar que la calidad del conductor 0:03:22.661,0:03:23.965 sea un padre de "Accident". 0:03:23.965,0:03:25.214 Pero hay otras cosas 0:03:25.214,0:03:27.853 que también afectan no sólo la presencia de un accidente, 0:03:27.853,0:03:29.911 sino también la gravedad del accidente. 0:03:29.911,0:03:33.909 Así, por ejemplo, el tamaño del vehículo afectaría 0:03:33.909,0:03:37.117 la gravedad de un accidente porque 0:03:37.117,0:03:40.788 si están conduciendo una SUV de gran tamaño, entonces 0:03:40.788,0:03:43.599 es probable que no tengan un accidente tan grave, 0:03:43.599,0:03:45.685 pero a su vez quizás podría aumentar 0:03:45.685,0:03:47.374 la probabilidad de tener un accidente global, 0:03:47.374,0:03:51.830 ya que a lo mejor un coche grande es más difícil de manejar. 0:03:52.615,0:03:56.381 Y entonces, el año del vehículo podría afectar las posibilidades de un accidente 0:03:56.381,0:03:59.509 debido a la presencia o ausencia de ciertas características de seguridad 0:03:59.509,0:04:02.037 como los frenos antibloqueo y airbags. 0:04:02.037,0:04:03.814 Así que vamos a abrir la CPD de "Accident" 0:04:03.814,0:04:05.173 y vemos como luce 0:04:05.173,0:04:07.325 ahora que tenemos todos los padres para ella. 0:04:07.325,0:04:10.213 Y podemos ver acá que tenemos, 0:04:10.213,0:04:13.165 en este caso, ocho casos condicionados, 0:04:13.165,0:04:18.317 correspondiente a tres variables, dos valores cada uno. 0:04:18.317,0:04:22.757 Y acá, sólo para ver una una de las muestra 0:04:22.757,0:04:26.046 de la distribución, por ejemplo, 0:04:26.046,0:04:30.749 si se trata de un vehículo bastante nuevo (después de 2000) 0:04:30.749,0:04:32.398 y es una SUV, 0:04:32.398,0:04:35.725 la probabilidad de tener un accidente grave es muy baja, 0:04:35.725,0:04:38.813 y la probabilidad de tener un accidente leve es moderada, 0:04:38.813,0:04:44.774 y la probabilidad de no tener accidentes es de 0,85. 0:04:44.774,0:04:48.525 Mientras que si se compara con la entrada correspondiente 0:04:48.525,0:04:52.053 cuando mantenemos todo fijo, excepto que ahora es un coche compacto, 0:04:52.053,0:05:00.509 vemos que la probabilidad de tener un accidente leve es menor, 0:05:00.509,0:05:03.045 pero la probabilidad de no tener accidentes es mayor, 0:05:03.045,0:05:08.059 representando patrones de conducción diferentes, por ejemplo. 0:05:08.506,0:05:11.649 Bien, entonces con esta red 0:05:11.649,0:05:13.649 podemos empezar a hacer preguntas simples. 0:05:14.695,0:05:17.145 Así que, para dar algún ejemplo de inferencia causal, 0:05:17.145,0:05:20.559 vamos a instanciar, por ejemplo, "Driving_quality" en Bueno, 0:05:21.574,0:05:23.936 y en Malo. 0:05:23.936,0:05:27.054 Y podemos ver que para un mal conductor 0:05:27.054,0:05:31.397 la probabilidad de un costo bajo es 81%. 0:05:31.397,0:05:36.325 Y para un buen conductor de la probabilidad de un costo bajo es 87%. 0:05:36.325,0:05:38.381 Si nos fijamos en los accidentes 0:05:38.381,0:05:41.278 se puede ver que para un buen conductor 0:05:41.278,0:05:44.800 hay una probabilidad de 87,5% de no tener accidentes 0:05:44.800,0:05:46.431 y 10% de tener un accidente leve. 0:05:46.431,0:05:50.957 Y la probabilidad de no tener accidentes baja para un mal conductor, 0:05:50.957,0:05:53.422 y accidentes leves sube, 0:05:53.422,0:05:55.453 y accidentes graves también se va hacia arriba. 0:05:55.453,0:05:59.077 Ahora, tengan en cuenta que muchas de estas diferencias son muy sutiles. 0:05:59.077,0:06:02.054 Hay una diferencia de un par de puntos porcentuales de una manera u otra. 0:06:02.054,0:06:04.038 Y se podría pensar que, 0:06:04.038,0:06:05.326 si estuvieran diseñando una red, 0:06:05.326,0:06:09.245 les gustaría que estos cambios de probabilidad sean realmente extremos 0:06:09.245,0:06:11.485 cuando se instancias valores distintos. 0:06:11.485,0:06:13.790 Pero en muchos casos esto no es realmente cierto, 0:06:13.790,0:06:15.052 y estas diferencias sutiles 0:06:15.052,0:06:17.643 son en realidad muy importante para una compañía de seguros 0:06:17.643,0:06:19.819 que asegura cientos de miles de personas. 0:06:19.819,0:06:22.495 Un par de puntos porcentuales en la probabilidad de un accidente 0:06:22.495,0:06:24.855 puede hacer una gran diferencia a la propia rentabilidad. 0:06:25.809,0:06:26.972 Así que ahora vamos a pensar en 0:06:26.972,0:06:29.519 cómo podríamos expandir esta red aún más. 0:06:30.196,0:06:33.244 El tamaño de vehículo y año del vehículo son cosas 0:06:33.244,0:06:35.851 que podemos observar en el foro de seguros. 0:06:35.851,0:06:39.070 Pero la calidad del conductor es muy difícil de observar. 0:06:39.070,0:06:41.829 No se puede preguntarle a alguien: "Oh, ¿eres un buen conductor?" 0:06:41.829,0:06:43.451 Porque todo el mundo va a decir: 0:06:43.451,0:06:45.123 "Claro, soy el mejor conductor!". 0:06:45.123,0:06:49.272 Por lo tanto no va a ser una cuestión de gran utilidad. 0:06:49.272,0:06:53.147 Entonces, ¿qué evidencias podemos observar que nos 0:06:53.147,0:06:57.148 podrían indicar el valor de la calidad de conductor? 0:06:57.148,0:07:01.491 Una obvia es el registro de conducir de la persona. 0:07:01.491,0:07:03.556 Es decir, si ha tenido accidentes anteriores 0:07:03.556,0:07:05.355 o infracciones anteriores. 0:07:05.832,0:07:08.412 Por lo tanto, vamos a pensar en añadir una variable 0:07:08.412,0:07:09.880 que representa la historia de conducción. 0:07:10.665,0:07:13.507 Y así vamos a introducir esa variable. 0:07:13.507,0:07:16.315 Por lo tanto, puede hacer clic en este botón 0:07:16.315,0:07:17.697 que nos permite crear un nodo. 0:07:17.697,0:07:19.841 El nodo ahora se llama "variable1" 0:07:19.841,0:07:21.036 por lo que tenemos que darle un nombre. 0:07:21.036,0:07:24.787 Así, por ejemplo, vamos a llamarlo "DrivingHistory". 0:07:26.079,0:07:28.074 Y ese es su identificador, 0:07:28.074,0:07:30.620 y también tenemos el nombre de la variable, 0:07:30.620,0:07:32.246 que es generalmente el mismo. 0:07:32.246,0:07:35.195 Y vamos a darle dos valores, 0:07:35.195,0:07:37.725 digamos PreviousAccident y NoPreviousAccident. 0:07:41.586,0:07:45.760 Ahora, ¿dónde vamos a poner esta variable en la red? 0:07:45.760,0:07:48.828 Uno podría pensar inicialmente que hay que 0:07:48.828,0:07:53.228 colocar "DrivingHistory" como padre de "Driver_quality" 0:07:53.228,0:07:57.150 porque el historial de conducción puede influenciar 0:07:57.150,0:07:59.044 nuestras creencias sobre la calidad del conductor. 0:07:59.044,0:08:01.290 Ahora, es verdad que la observación del historial de conducción 0:08:01.290,0:08:03.651 cambia nuestra probabilidad de la calidad del conductor, 0:08:03.651,0:08:07.443 pero si piensan en la propia estructura causal de esta situación, 0:08:07.443,0:08:11.878 lo que realmente tenemos es que la calidad del conductor es un factor causal 0:08:11.878,0:08:13.968 tanto de un accidente anterior 0:08:13.968,0:08:16.765 como un accidente posterior. 0:08:16.765,0:08:18.327 Y lo que si queremos mantener es 0:08:18.327,0:08:20.421 la estructura causal intuitiva del dominio, 0:08:20.421,0:08:28.095 algo más adecuado es añadir "DrivingHistory" como hijo 0:08:28.095,0:08:29.972 en lugar de padre de "Driver_quality". 0:08:29.972,0:08:32.187 Pueden preguntarse por qué es importante, 0:08:32.187,0:08:33.864 y en este ejemplo muy sencillo 0:08:33.864,0:08:36.874 los dos modelos son, en cierto sentido equivalentes 0:08:36.874,0:08:38.851 y podríamos haberlas colocado de cualquier manera, 0:08:38.851,0:08:44.076 excepto que la CPD de la calidad del conductor dado el historial de conducción 0:08:44.076,0:08:46.006 puede ser un poco menos intuitivo. 0:08:46.006,0:08:49.955 Pero si tuviéramos otros indicadores de calidad del conductor, 0:08:49.955,0:08:52.436 por ejemplo, una infracción anterior, 0:08:52.436,0:08:55.661 entonces en realidad tiene mucho más sentido 0:08:55.661,0:08:58.559 tener todos ellos como hijos de la calidad del conductor 0:08:58.559,0:09:00.925 en vez de padres de la calidad del conductor. 0:09:01.802,0:09:02.680 Está bien. 0:09:02.680,0:09:07.481 Esto nos muestra cómo podemos añadir una variable a la red. 0:09:07.481,0:09:09.764 Y ahora vamos a abrir una red mucho más grande 0:09:09.764,0:09:13.007 que incluye estas variables y otras. 0:09:13.007,0:09:15.971 Miramos ahora en esta red más grande, 0:09:15.971,0:09:17.347 y podemos ver 0:09:17.347,0:09:20.237 que hemos añadido algunas variables diferentes a la red. 0:09:20.237,0:09:23.211 Hemos añadido atributos del vehículo, 0:09:23.211,0:09:27.284 por ejemplo, si el vehículo tenía frenos antibloqueo y airbag, 0:09:27.284,0:09:28.787 que nos va a permitir dar 0:09:28.787,0:09:31.483 probabilidades más informativas sobre el accidente. 0:09:31.483,0:09:35.227 También hemos introducido aspectos del conductor, 0:09:35.227,0:09:38.243 por ejemplo, si ha tenido una ruta de entrenamiento extra, 0:09:38.243,0:09:40.084 que va a aumentar la calidad de conducción, 0:09:40.084,0:09:41.684 si es joven o viejo, 0:09:41.684,0:09:42.952 donde se supone 0:09:42.952,0:09:45.883 que las personas más jóvenes tienden a ser conductores más imprudentes, 0:09:45.883,0:09:50.373 y si el conductor es enfocado o fácilmente distraído, 0:09:50.373,0:09:52.848 que a su vez va a afectar a la calidad de conducción. 0:09:53.648,0:09:58.681 Ahora bien, como el tipo de personalidad es difícil de observar, 0:09:58.681,0:10:03.155 añadimos otra variable que es "Good_student" 0:10:03.155,0:10:05.654 lo que podría indicar el tipo de personalidad. 0:10:05.654,0:10:08.862 Así que vamos a abrir la CPD para este, 0:10:11.293,0:10:14.071 y así podemos ver acá que, por ejemplo, 0:10:14.071,0:10:20.999 si sos una persona enfocada y joven, 0:10:20.999,0:10:23.720 es mucho más probable que seas un buen estudiante, 0:10:23.720,0:10:28.439 mucho más que si no sos una persona enfocada y joven. 0:10:28.439,0:10:32.303 Si sos viejo, no es muy probable que seas un estudiante, 0:10:32.303,0:10:38.021 por lo que esta probabilidad básicamente dice que si sos viejo, 0:10:38.021,0:10:39.883 no es muy probable que seas un estudiante, 0:10:39.883,0:10:41.322 y por lo tanto no es probable ser un buen estudiante. 0:10:42.014,0:10:47.608 Así que, ahora que hemos añadido todas estas variables a la red, 0:10:47.608,0:10:51.161 vamos a seguir adelante y ejecutar algunas consultas para ver qué pasa. 0:10:51.161,0:10:56.918 Y vamos a empezar por mirar la probabilidad a priori de "Accident" 0:10:56.918,0:10:59.942 antes de observar nada. 0:10:59.942,0:11:04.299 Podemos ver que la probabilidad de ningún accidente es cercana al 79,5%. 0:11:04.299,0:11:07.065 La probabilidad de accidente grave es de aproximadamente 3%. 0:11:07.065,0:11:10.077 Ahora vamos a seguir adelante y decirle al sistema 0:11:10.077,0:11:11.837 que tenemos un buen estudiante en cuestión. 0:11:11.837,0:11:13.608 Así que vamos a observar 0:11:13.608,0:11:15.978 que el estudiante es un buen estudiante, 0:11:15.978,0:11:17.567 y vamos a ver qué pasa. 0:11:18.059,0:11:19.695 Podemos ver, sorprendentemente, 0:11:19.695,0:11:20.807 que a pesar de que se observa 0:11:20.807,0:11:21.887 que alguien es un buen estudiante, 0:11:21.887,0:11:23.954 la probabilidad de ningún accidente 0:11:23.954,0:11:27.699 se redujo de 79,5% a 78%, 0:11:27.699,0:11:29.582 y la probabilidad de accidentes graves 0:11:29.582,0:11:32.819 subió de 3,5% a 3,67%. 0:11:32.819,0:11:33.880 Ustedes pueden decir: 0:11:33.880,0:11:35.986 "Bueno, pero me dijo que es un buen estudiante, 0:11:35.986,0:11:38.138 ¿No debería bajar la probabilidad de accidentes?" 0:11:38.307,0:11:41.972 Así que echemos un vistazo a algunos caminos activos en este grafo. 0:11:41.972,0:11:46.461 Un camino activo pasa desde "Good_student" a "Focused", 0:11:46.461,0:11:48.928 a "Driver_quality", 0:11:48.928,0:11:49.939 a "Accident". 0:11:49.939,0:11:53.602 Y es bastante seguro que, si tenemos en cuenta ese camino de forma aislada, 0:11:53.602,0:11:58.378 probablemente va a hacer que la probabilidad de ningún accidente sea mayor. 0:11:58.378,0:12:00.204 Sin embargo, tenemos otro camino activo. 0:12:00.204,0:12:04.058 Tenemos el camino activo que va de "Good_student" hasta "Age", 0:12:04.058,0:12:07.085 y luego hacia abajo, a través de "Driver_quality". 0:12:07.085,0:12:09.921 Por lo tanto, para ver esto, vamos a desmarcar en buen estudiante 0:12:09.921,0:12:11.281 y ver qué pasa. 0:12:11.281,0:12:15.767 Noten que inicialmente la probabilidad de que el conductor sea joven era del 25%, 0:12:15.767,0:12:17.710 pero cuando observé un buen estudiante, 0:12:17.710,0:12:20.538 subió a cerca de 95%. 0:12:20.538,0:12:23.143 Y eso fue suficiente para contrarrestar la influencia 0:12:23.143,0:12:27.446 a lo largo de este camino activo más evidente. 0:12:27.831,0:12:31.551 Así que, para demostrar que esto es precisamente lo que está pasando, 0:12:31.551,0:12:35.783 hagamos click para 0:12:35.783,0:12:38.415 instanciar el hecho de que el estudiante es joven, 0:12:38.415,0:12:43.446 y podemos ver que la probabilidad de accidente grave subió hasta el 3,7% 0:12:43.446,0:12:47.967 y ningún accidente bajó un poco por debajo del 77%. 0:12:47.967,0:12:51.559 Y ahora vamos a observar buen estudiante y ver qué pasa. 0:12:51.559,0:12:53.174 Así que ahora observamos buen estudiante, 0:12:53.174,0:13:01.656 y la probabilidad de ningún accidentes se fue a 78%, 0:13:01.656,0:13:07.036 a diferencia del anterior, cuando era 77%. 0:13:07.036,0:13:10.558 Y la razón de esto 0:13:10.558,0:13:12.773 es que ahora hemos bloqueado este camino 0:13:12.773,0:13:15.871 que va de buen estudiante, a través de la edad, a la calidad del conductor 0:13:15.871,0:13:17.917 mediante la observación de esta variable que bloquea el camino. 0:13:17.917,0:13:20.624 Así podemos ver que los patrones de razonamiento 0:13:20.624,0:13:24.981 en una red bayesiana a veces son sutiles. 0:13:24.981,0:13:28.640 Y hay diferentes caminos que pueden afectar a las cosas 0:13:28.640,0:13:31.748 y interactúan entre sí de diferentes maneras. 0:13:31.748,0:13:34.698 Y de esta manera, es útil tomar el modelo 0:13:34.698,0:13:36.315 y jugar con diferentes consultas 0:13:36.315,0:13:37.734 y diferentes combinaciones de evidencias 0:13:37.734,0:13:40.026 para entender el comportamiento de una red. 0:13:40.026,0:13:41.341 Y especialmente si están diseñando 0:13:41.341,0:13:43.786 dicha red para una aplicación particular, 0:13:43.786,0:13:46.290 es útil para probar las diferentes consultas 0:13:46.290,0:13:48.053 y ver si el comportamiento que se obtiene 0:13:48.053,0:13:49.706 es el comportamiento que desean conseguir. 0:13:49.706,0:13:52.076 Y si no, entonces necesitan preguntarse 0:13:52.076,0:13:55.962 ¿cómo puedo modificar esta red para obtener un comportamiento 0:13:55.962,0:14:00.498 que es más similar a la conducta deseada?. 0:14:00.498,0:14:03.755 Esta red está disponible para que jueguen 0:14:03.755,0:14:06.005 y puedan probar diferentes cosas 0:14:06.005,0:14:08.961 y ver qué comportamientos se obtienen.