Hola y bienvenidos a este tutorial de Python.
Entonces, ahora que estamos listos para entrenar a la red para minimizar la distancia cuadrada entre las salidas y el
objetivo, gracias a lo que hicimos con el seguimiento de elegibilidad en la sección anterior.
Bueno, básicamente estábamos listos para comenzar todo el entrenamiento sabiendo que obteniendo nuestra entrada nuestro objetivo nuestras predicciones
luego calculando el último error entre las predicciones y el objetivo y luego haciendo la propagación hacia
atrás era obtener una grilla en el centro de los pesos de datos.
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,
debe hacer un seguimiento del promedio durante el entrenamiento.
Bueno, justo antes de hacer todo este entrenamiento, vamos a hacer una clase en este momento para obtener
este promedio móvil de 100 pasos.
Así que no te preocupes, lo haremos rápido.
Lo haremos de clase con tres funciones, qué haremos con todo esto y el tutorial individual, así que
lo haremos rápidamente.
Ya lo hicimos
Y además queremos enfocarnos en el entrenamiento ahora porque es lo más importante.
Así que vamos a hacer esta clase ahora mismo en este tutorial único.
De acuerdo, vamos a presentar una nueva clase a la que vamos a llamar y una para la media móvil y
luego aquí vamos con nuestra primera función.
Así que, por supuesto, la función innata que nunca cambia en él y en esta y en esa función va
a tomar dos argumentos.
El primero es uno mismo para el objeto y tamaño futuro promedio móvil que corresponderá al tamaño de la lista de
las palabras de las cuales vamos a calcular el promedio.
Entonces esto va a ser 100.
De acuerdo, entonces tenemos argumentos para la función.
Ahora entremos dentro de la función.
Ahora que sabes qué hacer, tenemos que inicializar las variables específicas del objeto.
Y estos son.
Bueno, primero, la primera va a ser una lista de palabras que será la lista que contiene las 100 palabras de las
cuales vamos a calcular el promedio.
Así que aquí en este momento simplemente estamos inicializando esta lista con esta lista vacía aquí.
liste cada palabra y luego la segunda variable de nuestro objeto futuro va a ser, por supuesto, el tamaño y el
tamaño que va a ser igual a los argumentos que ingresará al crear los futuros objetos promedio móviles.
Así que
Entonces, turista.
Y ya estamos listos para pasar a la siguiente función que va a ser la función de agregar
y que agregará las recompensas acumuladas.
Tenga cuidado, no es la simple recompensa, es la recompensa acumulativa.
Y eso es porque sabes que estamos haciendo un seguimiento de elegibilidad y, por lo tanto, aprendemos cada 10 pasos.
Y, por lo tanto, aprender con una recompensa acumulativa y no una simple recompensa.
Entonces, esto agrega la función que vamos a agregar y agregará la recompensa acumulada a esa lista de recompensas.
Así que Jeff lo llamaremos ad por supuesto y esta función tomará dos argumentos.
El primero es uno mismo porque vamos a usar esta lista de palabras aquí porque simplemente vamos
a agregar la recompensa acumulativa a esta lista de palabras.
Entonces, necesitamos que el yo sea capaz de lograr esto para sí mismo.
Y el segundo será la recompensa que representará la recompensa acumulada.
De acuerdo, entonces hay dos argumentos de la función.
Ahora entremos en la función y definamos lo que tiene que hacer.
Muy bien, simplemente lo primero que tiene que hacer es que cada vez que obtengamos acumulativo, queremos uno nuevo.
Usted sabe cuando progresamos en los pasos de la etapa Bueno, ¿qué tenemos que hacer es agregar esto acumulativamente palabras
a la lista?
Y eso es exactamente lo que vamos a hacer, vamos a escribir una línea de código
que agregará esta nueva recompensa acumulativa que estamos obteniendo después de avanzar en diez pasos hacia esta lista de palabras aquí.
Y para hacer esto tenemos que separar dos condiciones, ya que él estará trabajando con lotes. Bueno, queremos estar
en algunas listas, pero en otros casos, las palabras también podemos ser un elemento único y la
sintaxis para agregar un elemento a un la lista que es la lista de palabras aquí no es lo mismo
si está agregando una lista o un elemento individual.
Entonces solo tenemos que hacer de esto una condición que separará estos dos casos.
Y comencemos con el primer caso, que es el caso cuando lo que estamos agregando a
esta lista de palabras es una lista y para hacer esto vamos a agregar la instancia entre paréntesis, ponemos dos argumentos,
el primero es si palabras que estamos agregando.
Entonces no lo fuimos.
Y el segundo es LISTA.
Entonces, si la lista de palabras de instancia significa que las recompensas están en una lista.
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.
Entonces, si las recompensas están en una lista, lo que hacemos es muy sencillo que tomemos nuestra
lista de recompensas y vamos a agregar esta lista
Aquí hay una lista porque esto se llamará a un verdadero significado para en este caso.
Y así podemos simplemente sumar esta lista a nuestra lista de palabras y, por lo tanto, podemos simplemente tener
su lista de recompensas más recompensas iguales.
Y al hacer esto, solo estamos extendiendo la lista por algunos en estas dos listas juntas.
Todo bien.
Y luego segunda condición.
Entonces, simplemente podemos agregar else para que si las recompensas no son una lista y, por lo tanto, si se trata de un solo
elemento, lo que sucede en ese caso.
Bueno, eso es lo mismo, queremos agregar dos palabras a nuestra lista de palabras.
Pero no podemos usar la sintaxis porque las palabras ya no serán una lista.
Será un elemento único.
Y entonces, lo que necesitamos usar es otra sintaxis que es la función de agregar.
Cuando desee agregar un solo elemento a una lista, puede agregarle algo.
Tienes que usar la función de agregar.
Y entonces esto es exactamente lo que vamos a hacer ahora.
Vamos a tomar nuestra lista de palabras del objeto y pegar eso aquí y luego agregar un punto y
luego vamos primero.
Y por supuesto entre paréntesis ponemos los elementos que queremos agregar.
Y esto es, por supuesto, b palabra, pero las palabras en ese caso no serán una lista.
Será un elemento único como una sola palabra acumulativa que no está en una lista.
Está bien y luego queremos hacer esto, pero ahora tenemos que agregar algo más.
Es lo que sucede cuando esta lista de palabras obtiene más de 100 elementos.
Bueno, en ese caso, lo que tenemos que hacer es eliminar el primer elemento de esta lista de cada palabra
para asegurarnos de que esta lista de palabras siempre contenga no más de 100 elementos.
Así que exactamente como lo que hicimos para el coche que conduce al sur al
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
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
es el tamaño que dijimos aquí y que más tarde será igual a 100.
Cuando creamos el objeto.
Bueno, tan pronto como la cantidad de elementos de esta lista de palabras sea mayor a 100.
Bueno, lo que queremos hacer es eliminar los primeros elementos de nuestra lista de palabras que podemos obtener tomando el índice
0 que es el primer índice de nuestra lista de palabras.
Este es el primer elemento de nuestra lista de palabras y queremos eliminarlo siempre que nuestra lista de palabras
contenga más de 100 elementos.
De modo que con esto con este condicional aquí nos aseguramos de que nuestra lista de palabras nunca contenga
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
nuestra lista de palabras que contendrá en la ejecución cientos de elementos.
Y, por lo tanto, calcularemos la media móvil de 100 pasos cada vez.
Así que vamos a hacer que esta sea la función que va a ser muy fácil porque existe la función
principal en Python que es una función de no piloto para calcular el promedio de una lista.
Entonces, presentemos aquí nuestra última función que llamaremos promedio y esta función tomará
un argumento que va a ser uno mismo porque vamos a usar, por supuesto,
nuestra lista de palabras, que es una variable de nuestro objeto a sí mismo y colorear.
Y ahora comparemos el promedio y así directamente devolveremos el promedio porque podemos obtenerlo con la
función media a la que, por supuesto, estamos jugando.
Bueno, lo que queremos calcular es la lista de lo que creo que todavía copio.
Si, ahí vamos.
Así que simplemente devolvemos el promedio de nuestra lista de palabras y la media.
Como dije, es una función no tailandesa.
Entonces, aquí y Anglish miran esa media lista de palabras.
Y luego vamos tenemos nuestro promedio en 100 pasos perfectos.
Entonces hicimos esa clase de manera muy eficiente.
Ahora recibimos las instrucciones sobre cómo obtener un promedio móvil de 100 pasos.
a usar un objeto de promedio móvil al realizar el entrenamiento, ya crearemos este objeto promedio móvil.
Y dado que vamos
Y entonces vamos a llamarlo A y simplemente y va a ser un objeto y una clase.
Y como dijimos, queremos que el tamaño sea 100 porque queremos calcular la media móvil en 100 pasos.
Tan perfecto.
Aquí vamos.
Ahora estamos listos para entrenar a nuestra IA para finalmente ser inteligente.
Ya es hora de que a partir de este momento nuestra edad se vuelva inteligente.
Así que no puedo esperar para entrenarlo.
Va a ser bastante fácil porque es algo que estamos muertos.
Pero esto va a ser divertido.
Y además de eso, será el momento de divertirnos aún más porque, básicamente, a nuestra
edad, estaré totalmente preparado y construido, y también inteligente, y por lo tanto, ejecutaremos el código.
Y luego jugaré a Doom y eventualmente veremos los videos de nuestra AI AI jugando a Doom
y veremos si logra alcanzar el chaleco.
Entonces no puedo esperar
Hagamos eso de entrenamiento.
Y hasta entonces yo