en esta sección pensamos que podemos hablar de un concepto de avanzada y tiene
que ver con las formas en que el aprendizaje de máquina mejoró los
algoritmos tradicionales; en particular el algoritmo de 20 pilas de carga es uno con
el cual trabajé durante mis investigaciones
imaginemos que queremos encontrar algo que se llama el valor esperado de una
función; esto es en muchos sistemas operan bajo diferentes condiciones y queremos
saber como se comporta el sistema en promedio
una forma de averiguar este promedio es correr algo que se llama procedimiento de
Monte Carlo y si recuerdan, en la sección del Go, ya hablamos del árbol de búsqueda
de Monte Carlo y acá estamos trabajando con la misma idea
Digamos que tenemos un dado y queremos saber qué número podemos esperar en
promedio, sopesando cada número en función de su propio valor; entonces lo que
podemos hacer es tirar los dados varias veces, puede ser que la 1ra vez saquemos
un 2, luego un 6 y luego otro 2 y luego otro 3 y seguimos tirando el dado y puede
ser que tengamos un promedio de 3.4
ahora el verdadero promedio de un dado es 3.5, eso quiere decir que no tuvimos el
número exacto, pero estuvimos muy cerca
esto se usa también en otros sistemas, por ejemplo supongamos que tenemos un avión y
queremos saber el arrastre que tiene ese avión; los aviones están muy bien
ajustados para comportarse bien bajo una serie de condiciones; por lo tanto cuando
volamos nuestro avión 4 veces hallamos que los valores de arrastre es de 8.6, 8.4 y
otro 8.4 y otro 8.5 y tenemos un valor promedio de 8.4
podemos imaginar en 1er lugar, que es muy costoso volar un avión y por lo tanto
queremos encontrar este valor esperado, este desempeño esperado usando la menor
cantidad de vuelos posibles, debido a que cada vuelo es muy costoso
la otra idea clave acá para tomar nota es que con el ejemplo del dado encontramos
que con un par de tiradas, tenemos un error muy grande, mientras que en el
ejemplo del avión, luego de una serie de vuelos, el error es muy pequeño y esto se
debe a que los números del dado varían todo el tiempo de 1 a 6, mientras que con
el ejemplo del desempeño del avión los valores están más cerca unos de otros, 8.6
8.4; entonces un concepto clave es el de Monte Carlo, donde mientras las
simulaciones cambien más, más grande va a ser el error en relación a lo mal que
podemos predecir el valor esperado
la forma en que esto funciona es que en el avión tenemos muchos sensores que miden
las condiciones mientras dura el vuelo; entonces no es que conocemos solo el valor
del arrastre, por ejemplo puede ser que también conozcamos el número de Mach al
que estaba volando el avión; esto es cuan rápido el avión volaba en relación a la
velocidad del sonido y tenemos estas relaciones de entrada y salida, donde la
entrada es cuan rápido estamos volando y la salida es el arrastre del avión y otra
vez, queremos saber el arrastre promedio
en una cantidad de vuelos, por ejemplo sabemos cuanto combustible necesita
y a la derecha vemos una gráfica donde el eje X tiene el número de Mach del vuelo,
el eje Y tiene el valor del arrastre y la línea azul es el valor verdadero del
arrastre que cruza con el número Mach; ahora el avión no se comporta de este modo
así que no continuen y no lo usen para sus diseños, pero nos permite una intuición
donde ahora lo que podemos hacer es tomar las entradas de los datos del número Mach
y aprender cual será el arrastre como una función de los datos de entrada
puede que ahora tengamos la línea verde punteada que se ve en la imagen; vemos que
no es una coincidencia exacta, no ajusta perfectamente en cuanto a la cantidad de
arrastre, pero podemos ver que hizo un buen trabajo aún cuando teníamos sólo un
pequeño número de muestras
el concepto clave es que lo que podemos hacer es que podemos tomar esas 2 líneas y
restarlas una de otra y así podemos tener lo que llamamos una superficie
regularizada donde tendremos la conducta verdadera, cuando eliminemos los efectos
podemos aprenderlo muy bien y lo que ahora tenemos es la línea roja por debajo y esa
es la diferencia entre el valor verdadero estimado y el valor aprendido por la compu
y ahora podemos usar Monte Carlo sobre este objeto y si recuerdan Monte Carlo
tiene un gran error cuando los números cambian mucho, pero trayendolos a esta
superficie de aprendizaje vemos que la función es mucho más suave, los zigzags no
son tan pronunciados y entonces el error esperado va a bajar mucho, simplemente
debido a que redujimos lo que llamamos la varianza de la función; cuánto es que la
función zigzaguea por ahí
y si somos indulgentes con el deslizamiento técnico, el eje X acá
muestra cuantas muestras tenemos, cuantas veces tenemos que volar nuestro avión y el
eje Y tiene el error, cuan equivocados estamos en relación al estimador, dado ese
número de muestras, en promedio; entonces para poder generar este gráfico, tuve que
correr este procedimiento idealizado muchas veces para ver si funciona bien
lo que vemos es que en todas estas líneas el error va para abajo a medida que usamos
más muestras y eso tiene sentido, mientras más datos tengamos mejor lo vamos a hacer
pero esto también nos dice que la línea verde hubiera sido si usábamos Monte Carlo
hubiéramos tomado sólo 2 valores de promedio del mismo modo que lo hicimos con
el dado
la línea roja muestra que hubiera pasado si sólo hubiéramos usado el aprendizaje de
máquina; hubiéramos tomado nuestras muestras, ajustar el aprendizaje de
máquina y ver la performance promedio del aprendizaje de máquina
y la línea azul muestra este procedimiento del que ya les hablé, donde combinamos
estas 2 cosas juntas y nos da esta superficie de Monte Carlo diferente y esa
esa la línea azul donde hemos combinado las 2 y vemos que para todos los números
de las muestras, sin importar cuantos puntos de datos tengo, la pila de Monte
Carlo tiene el menor error estimado
entonces lo que vemos acá es que si usamos Monte Carlo, una técnica que fue inventada
durante el Proyecto Manhattan en los 40, pero si usamos el aprendizaje de máquina
podemos mejorar esta idea bien simple y bajar el error, por ejemplo bajando el nro
de vuelos de avión que necesitamos para tener un buen estimador del arrastre
vayamos atrás un par de lecturas a donde vimos como las computadoras juegan al Go
podemos ver que esa clase de idea está relacionada con el programa AlphaGo y por
qué fue tan efectivo; entonces un AlphaGo que tiene el árbol de búsqueda de Monte
Carlo, donde se pueden jugar juegos al azar para medir la probabilidad de ganar,
eso no es lo único que hacen, también aumentan la probabilidad de ganar con lo
que llamamos la función de valor que estima cuan bien se encuentra una posición
dada y combinando estas 2 ideas, permiten regularizar a Monte Carlo y hacer que la
estimación de ganar sea mucho más certera que de otra forma
esto concluye nuestro tutorial, gracias por unirse; esperemos que hayan obtenido
una buena imagen del aprendizaje de máquina y que estén ya equipados para
poder aprender más; una muy buena forma de aprender más es mirando el material
suplementario que hemos incluído, hay ahí mucha más información acerca de los temas
que hemos estado discutiendo; esperemos que hayan disfrutado esas lecciones y
esperemos que estén ansiosos por aprender más