WEBVTT

00:00.450 --> 00:03.170
Hola y bienvenidos a este tutorial de Python.

00:03.240 --> 00:09.180
Entonces, ahora que estamos listos para entrenar a la red para minimizar la distancia cuadrada entre las salidas y el

00:09.180 --> 00:13.820
objetivo, gracias a lo que hicimos con el seguimiento de elegibilidad en la sección anterior.

00:14.010 --> 00:19.560
Bueno, básicamente estábamos listos para comenzar todo el entrenamiento sabiendo que obteniendo nuestra entrada nuestro objetivo nuestras predicciones

00:19.560 --> 00:24.600
luego calculando el último error entre las predicciones y el objetivo y luego haciendo la propagación hacia

00:24.600 --> 00:28.420
atrás era obtener una grilla en el centro de los pesos de datos.

00:28.470 --> 00:35.460
Así que estábamos listos para hacer todo esto, pero dado que queremos calcular la media móvil y los 100 pasos que usted sabe,

00:35.460 --> 00:38.040
debe hacer un seguimiento del promedio durante el entrenamiento.

00:38.160 --> 00:45.060
Bueno, justo antes de hacer todo este entrenamiento, vamos a hacer una clase en este momento para obtener

00:45.060 --> 00:47.360
este promedio móvil de 100 pasos.

00:47.550 --> 00:49.450
Así que no te preocupes, lo haremos rápido.

00:49.500 --> 00:54.270
Lo haremos de clase con tres funciones, qué haremos con todo esto y el tutorial individual, así que

00:54.270 --> 00:54.950
lo haremos rápidamente.

00:54.960 --> 00:55.890
Ya lo hicimos

00:55.890 --> 01:00.680
Y además queremos enfocarnos en el entrenamiento ahora porque es lo más importante.

01:00.840 --> 01:04.500
Así que vamos a hacer esta clase ahora mismo en este tutorial único.

01:04.500 --> 01:10.710
De acuerdo, vamos a presentar una nueva clase a la que vamos a llamar y una para la media móvil y

01:11.220 --> 01:13.290
luego aquí vamos con nuestra primera función.

01:13.290 --> 01:20.490
Así que, por supuesto, la función innata que nunca cambia en él y en esta y en esa función va

01:20.490 --> 01:22.140
a tomar dos argumentos.

01:22.140 --> 01:30.450
El primero es uno mismo para el objeto y tamaño futuro promedio móvil que corresponderá al tamaño de la lista de

01:30.540 --> 01:34.620
las palabras de las cuales vamos a calcular el promedio.

01:34.620 --> 01:36.850
Entonces esto va a ser 100.

01:36.870 --> 01:39.800
De acuerdo, entonces tenemos argumentos para la función.

01:39.840 --> 01:42.120
Ahora entremos dentro de la función.

01:42.120 --> 01:47.460
Ahora que sabes qué hacer, tenemos que inicializar las variables específicas del objeto.

01:47.460 --> 01:48.250
Y estos son.

01:48.330 --> 01:56.820
Bueno, primero, la primera va a ser una lista de palabras que será la lista que contiene las 100 palabras de las

01:56.910 --> 01:59.310
cuales vamos a calcular el promedio.

01:59.310 --> 02:05.450
Así que aquí en este momento simplemente estamos inicializando esta lista con esta lista vacía aquí.

02:05.850 --> 02:13.020
liste cada palabra y luego la segunda variable de nuestro objeto futuro va a ser, por supuesto, el tamaño y el

02:13.500 --> 02:19.440
tamaño que va a ser igual a los argumentos que ingresará al crear los futuros objetos promedio móviles.

02:19.440 --> 02:20.250
Así que

02:20.580 --> 02:22.140
Entonces, turista.

02:22.400 --> 02:29.850
Y ya estamos listos para pasar a la siguiente función que va a ser la función de agregar

02:29.850 --> 02:32.210
y que agregará las recompensas acumuladas.

02:32.220 --> 02:35.530
Tenga cuidado, no es la simple recompensa, es la recompensa acumulativa.

02:35.610 --> 02:40.660
Y eso es porque sabes que estamos haciendo un seguimiento de elegibilidad y, por lo tanto, aprendemos cada 10 pasos.

02:40.770 --> 02:44.480
Y, por lo tanto, aprender con una recompensa acumulativa y no una simple recompensa.

02:44.700 --> 02:52.830
Entonces, esto agrega la función que vamos a agregar y agregará la recompensa acumulada a esa lista de recompensas.

02:52.830 --> 02:59.370
Así que Jeff lo llamaremos ad por supuesto y esta función tomará dos argumentos.

02:59.370 --> 03:05.070
El primero es uno mismo porque vamos a usar esta lista de palabras aquí porque simplemente vamos

03:05.070 --> 03:08.350
a agregar la recompensa acumulativa a esta lista de palabras.

03:08.490 --> 03:11.650
Entonces, necesitamos que el yo sea capaz de lograr esto para sí mismo.

03:11.670 --> 03:18.070
Y el segundo será la recompensa que representará la recompensa acumulada.

03:18.570 --> 03:21.810
De acuerdo, entonces hay dos argumentos de la función.

03:21.810 --> 03:25.370
Ahora entremos en la función y definamos lo que tiene que hacer.

03:25.710 --> 03:32.150
Muy bien, simplemente lo primero que tiene que hacer es que cada vez que obtengamos acumulativo, queremos uno nuevo.

03:32.190 --> 03:38.460
Usted sabe cuando progresamos en los pasos de la etapa Bueno, ¿qué tenemos que hacer es agregar esto acumulativamente palabras

03:38.460 --> 03:39.270
a la lista?

03:39.270 --> 03:43.650
Y eso es exactamente lo que vamos a hacer, vamos a escribir una línea de código

03:43.650 --> 03:49.240
que agregará esta nueva recompensa acumulativa que estamos obteniendo después de avanzar en diez pasos hacia esta lista de palabras aquí.

03:49.320 --> 03:56.290
Y para hacer esto tenemos que separar dos condiciones, ya que él estará trabajando con lotes. Bueno, queremos estar

03:56.340 --> 04:02.430
en algunas listas, pero en otros casos, las palabras también podemos ser un elemento único y la

04:02.430 --> 04:09.840
sintaxis para agregar un elemento a un la lista que es la lista de palabras aquí no es lo mismo

04:09.840 --> 04:13.330
si está agregando una lista o un elemento individual.

04:13.350 --> 04:17.020
Entonces solo tenemos que hacer de esto una condición que separará estos dos casos.

04:17.190 --> 04:22.800
Y comencemos con el primer caso, que es el caso cuando lo que estamos agregando a

04:22.800 --> 04:30.240
esta lista de palabras es una lista y para hacer esto vamos a agregar la instancia entre paréntesis, ponemos dos argumentos,

04:30.240 --> 04:32.880
el primero es si palabras que estamos agregando.

04:33.180 --> 04:34.510
Entonces no lo fuimos.

04:34.680 --> 04:37.470
Y el segundo es LISTA.

04:37.620 --> 04:45.050
Entonces, si la lista de palabras de instancia significa que las recompensas están en una lista.

04:45.060 --> 04:56.280
porque como se trata de una lista, lo que podemos hacer es usar una operación de suma simple porque podemos algunos tulis para obtener las recompensas.

04:57.550 --> 05:05.110
Entonces, si las recompensas están en una lista, lo que hacemos es muy sencillo que tomemos nuestra

05:05.110 --> 05:09.220
lista de recompensas y vamos a agregar esta lista

05:09.220 --> 05:13.380
Aquí hay una lista porque esto se llamará a un verdadero significado para en este caso.

05:13.380 --> 05:21.160
Y así podemos simplemente sumar esta lista a nuestra lista de palabras y, por lo tanto, podemos simplemente tener

05:21.160 --> 05:24.300
su lista de recompensas más recompensas iguales.

05:24.880 --> 05:30.620
Y al hacer esto, solo estamos extendiendo la lista por algunos en estas dos listas juntas.

05:31.090 --> 05:31.560
Todo bien.

05:31.600 --> 05:33.860
Y luego segunda condición.

05:33.860 --> 05:41.470
Entonces, simplemente podemos agregar else para que si las recompensas no son una lista y, por lo tanto, si se trata de un solo

05:42.130 --> 05:44.260
elemento, lo que sucede en ese caso.

05:44.470 --> 05:49.120
Bueno, eso es lo mismo, queremos agregar dos palabras a nuestra lista de palabras.

05:49.420 --> 05:53.810
Pero no podemos usar la sintaxis porque las palabras ya no serán una lista.

05:53.860 --> 05:55.320
Será un elemento único.

05:55.540 --> 06:00.130
Y entonces, lo que necesitamos usar es otra sintaxis que es la función de agregar.

06:00.130 --> 06:04.020
Cuando desee agregar un solo elemento a una lista, puede agregarle algo.

06:04.030 --> 06:05.890
Tienes que usar la función de agregar.

06:05.890 --> 06:07.860
Y entonces esto es exactamente lo que vamos a hacer ahora.

06:07.890 --> 06:18.550
Vamos a tomar nuestra lista de palabras del objeto y pegar eso aquí y luego agregar un punto y

06:18.550 --> 06:20.080
luego vamos primero.

06:20.560 --> 06:24.560
Y por supuesto entre paréntesis ponemos los elementos que queremos agregar.

06:24.790 --> 06:29.420
Y esto es, por supuesto, b palabra, pero las palabras en ese caso no serán una lista.

06:29.500 --> 06:34.880
Será un elemento único como una sola palabra acumulativa que no está en una lista.

06:34.910 --> 06:39.490
Está bien y luego queremos hacer esto, pero ahora tenemos que agregar algo más.

06:39.490 --> 06:45.310
Es lo que sucede cuando esta lista de palabras obtiene más de 100 elementos.

06:45.580 --> 06:51.760
Bueno, en ese caso, lo que tenemos que hacer es eliminar el primer elemento de esta lista de cada palabra

06:51.940 --> 06:56.440
para asegurarnos de que esta lista de palabras siempre contenga no más de 100 elementos.

06:56.440 --> 07:01.330
Así que exactamente como lo que hicimos para el coche que conduce al sur al

07:01.330 --> 07:11.170
hacer esta ventana de ir, así que para asegurarnos de esto vamos a agregar una condición de tiempo especificando que siempre que la longitud de nuestra lista de palabras

07:11.530 --> 07:19.060
sea la cantidad de elementos en nuestro lista de palabras cada vez que este número es mayor que yo de ese tamaño que

07:19.060 --> 07:23.900
es el tamaño que dijimos aquí y que más tarde será igual a 100.

07:24.070 --> 07:25.390
Cuando creamos el objeto.

07:25.540 --> 07:30.250
Bueno, tan pronto como la cantidad de elementos de esta lista de palabras sea mayor a 100.

07:30.370 --> 07:38.760
Bueno, lo que queremos hacer es eliminar los primeros elementos de nuestra lista de palabras que podemos obtener tomando el índice

07:38.860 --> 07:43.300
0 que es el primer índice de nuestra lista de palabras.

07:43.570 --> 07:51.400
Este es el primer elemento de nuestra lista de palabras y queremos eliminarlo siempre que nuestra lista de palabras

07:51.400 --> 07:53.590
contenga más de 100 elementos.

07:53.590 --> 08:00.100
De modo que con esto con este condicional aquí nos aseguramos de que nuestra lista de palabras nunca contenga

08:00.100 --> 08:08.290
más de 100 elementos y, por lo tanto, ahora lo que podemos hacer es crear una nueva función para calcular el promedio de

08:08.290 --> 08:12.490
nuestra lista de palabras que contendrá en la ejecución cientos de elementos.

08:12.610 --> 08:17.400
Y, por lo tanto, calcularemos la media móvil de 100 pasos cada vez.

08:18.090 --> 08:23.040
Así que vamos a hacer que esta sea la función que va a ser muy fácil porque existe la función

08:23.220 --> 08:27.550
principal en Python que es una función de no piloto para calcular el promedio de una lista.

08:27.690 --> 08:32.820
Entonces, presentemos aquí nuestra última función que llamaremos promedio y esta función tomará

08:32.820 --> 08:38.430
un argumento que va a ser uno mismo porque vamos a usar, por supuesto,

08:38.430 --> 08:44.360
nuestra lista de palabras, que es una variable de nuestro objeto a sí mismo y colorear.

08:44.660 --> 08:51.450
Y ahora comparemos el promedio y así directamente devolveremos el promedio porque podemos obtenerlo con la

08:51.780 --> 08:55.510
función media a la que, por supuesto, estamos jugando.

08:55.860 --> 09:01.840
Bueno, lo que queremos calcular es la lista de lo que creo que todavía copio.

09:01.980 --> 09:03.000
Si, ahí vamos.

09:03.210 --> 09:08.430
Así que simplemente devolvemos el promedio de nuestra lista de palabras y la media.

09:08.520 --> 09:11.230
Como dije, es una función no tailandesa.

09:11.490 --> 09:16.770
Entonces, aquí y Anglish miran esa media lista de palabras.

09:16.770 --> 09:21.670
Y luego vamos tenemos nuestro promedio en 100 pasos perfectos.

09:21.720 --> 09:24.210
Entonces hicimos esa clase de manera muy eficiente.

09:24.210 --> 09:29.060
Ahora recibimos las instrucciones sobre cómo obtener un promedio móvil de 100 pasos.

09:29.280 --> 09:36.750
a usar un objeto de promedio móvil al realizar el entrenamiento, ya crearemos este objeto promedio móvil.

09:36.750 --> 09:38.640
Y dado que vamos

09:38.730 --> 09:46.340
Y entonces vamos a llamarlo A y simplemente y va a ser un objeto y una clase.

09:46.560 --> 09:55.010
Y como dijimos, queremos que el tamaño sea 100 porque queremos calcular la media móvil en 100 pasos.

09:55.200 --> 09:56.100
Tan perfecto.

09:56.100 --> 09:57.080
Aquí vamos.

09:57.120 --> 10:01.830
Ahora estamos listos para entrenar a nuestra IA para finalmente ser inteligente.

10:01.860 --> 10:06.120
Ya es hora de que a partir de este momento nuestra edad se vuelva inteligente.

10:06.210 --> 10:07.890
Así que no puedo esperar para entrenarlo.

10:07.920 --> 10:11.260
Va a ser bastante fácil porque es algo que estamos muertos.

10:11.400 --> 10:12.660
Pero esto va a ser divertido.

10:12.750 --> 10:18.090
Y además de eso, será el momento de divertirnos aún más porque, básicamente, a nuestra

10:18.090 --> 10:23.500
edad, estaré totalmente preparado y construido, y también inteligente, y por lo tanto, ejecutaremos el código.

10:23.700 --> 10:30.540
Y luego jugaré a Doom y eventualmente veremos los videos de nuestra AI AI jugando a Doom

10:30.540 --> 10:33.420
y veremos si logra alcanzar el chaleco.

10:33.510 --> 10:34.520
Entonces no puedo esperar

10:34.560 --> 10:35.810
Hagamos eso de entrenamiento.

10:35.820 --> 10:37.360
Y hasta entonces yo
