Coursera Learner working on a presentation with Coursera logo and
Coursera Learner working on a presentation with Coursera logo and

El Q-learning es un cálculo de apoyo al aprendizaje fuera de enfoque que busca localizar el mejor movimiento a realizar dado el estado actual. Se considera fuera de la estrategia en base a que el q-aprendizaje en el trabajo se beneficia de las actividades que están fuera de la disposición actual, como la realización de actividades arbitrarias, y de esta manera no se requiere un enfoque. De forma más explícita, el q-learning intenta familiarizarse con un enfoque que amplía la compensación absoluta.

¿Qué es la “Q”?

La “q” en el aprendizaje “q” representa la calidad. La calidad para esta situación habla de cuán útil es una actividad dada para aumentar alguna recompensa futura.

Haga una tabla de preguntas y respuestas

En el momento en que se realiza el aprendizaje q, hacemos lo que se conoce como una tabla q o marco que persigue el estado de [estado, acción] e instamos nuestras cualidades a cero. En ese punto refrescamos y almacenamos nuestros valores q después de una escena. Esta q-table se convierte en una tabla de referencia para que nuestro especialista elija la mejor actividad dependiente de la q-estima.

importar numpy como np

# Introducir las cualidades de la tabla Q a 0

Q = np.ceros((tamaño_de_estado, tamaño_de_acción))

Q-learning y hacer refrescos

La etapa posterior es sólo para que el especialista se conecte con la tierra y haga actualizaciones de los partidos de la actividad del estado en nuestra tabla Q[estado, acción].

Haciendo un movimiento: Investigar o aventurarse

Un operador asociado a la tierra en 1 de 2 formas diferentes. La primera es utilizar la tabla q como fuente de perspectiva y ver cada actividad imaginable para un estado dado. El operador en ese punto elige la actividad -dependiente de la estimación máxima de esas actividades. Esto se conoce como mal uso, ya que utilizamos los datos que tenemos accesibles para decidir una elección.

El método posterior para hacer un movimiento es actuar al azar. Esto se llama investigar. En lugar de elegir actividades que dependen de la máxima recompensa futura, seleccionamos una actividad arbitraria. Actuar al azar es significativo porque permite al especialista investigar y encontrar nuevos expresos que generalmente no pueden ser elegidos durante el procedimiento de uso indebido. Puede ajustar la investigación/mal uso utilizando epsilon (ε) y estableciendo la estimación de la regularidad de la investigación frente al abuso. Aquí hay un código desagradable que se basará en cómo el estado y el espacio de actividad son un arreglo.

importación arbitraria

# Establece el porcentaje que necesitas investigar

épsilon = 0.2

en el caso de que random.uniform(0,1) < épsilon:

“””

Investigar: seleccionar una actividad arbitraria

“””

…sino..:

“””

Esfuerzo: seleccionar la actividad con máxima estima (recompensa futura)

“””

Refrescando la tabla Q

Las actualizaciones ocurren después de cada progresión o actividad y se cierran cuando se termina una escena. Hecho para esta situación implica llegar a algún punto terminal por el operador. Un estado terminal, por ejemplo, puede ser de alguna manera similar a llegar a una página de salida, llegar al final de algún juego, terminar algún objetivo ideal, y así sucesivamente. El especialista no se adaptará mucho después de una escena solitaria, sin embargo inevitablemente con suficiente investigación (pasos y escenas) se combinará y se familiarizará con las q-calidades ideales o q-estrella (Q∗).

Aquí están los 3 avances fundamentales:

El especialista comienza en un estado (s1) hace un movimiento (a1) y obtiene una recompensa (r1)

El operador escoge la actividad haciendo referencia a la tabla Q con el valor más elevado (máx.) O por arbitrariedad (epsilon, ε)

Actualizar los valores q

Aquí está la regla de actualización esencial para el aprendizaje de q:

# Actualizar q estima

Q[estado, acción] = Q[estado, acción] + lr * (compensar + gamma * np.max(Q[nuevo_estado, :]) – Q[estado, acción])

En la actualización anterior hay dos o tres factores a los que no hemos hecho referencia en este momento. Lo que está ocurriendo aquí es que cambiamos nuestros valores q dependiendo de la distinción entre las nuevas cualidades limitadas y las viejas cualidades. Rebajamos las nuevas cualidades utilizando la gamma y modificamos nuestro tamaño de progresión utilizando la tasa de aprendizaje (lr). Las siguientes son algunas referencias.

Tasa de aprendizaje: lr o tasa de aprendizaje, regularmente aludida como alfa o α, puede ser caracterizada básicamente como la cantidad que reconoces el nuevo valor versus el viejo valor. Arriba estamos tomando la distinción entre lo nuevo y lo viejo y después aumentando ese incentivo por la tasa de aprendizaje. Este valor en ese punto se añade a nuestra pasada q-estima que básicamente la mueve hacia nuestra más reciente actualización.

Gamma: gamma o γ es un factor de reducción. Se utiliza para ajustar las recompensas rápidas y futuras. De nuestra regla de actualización de arriba se puede ver que aplicamos la rebaja a la recompensa futura. Normalmente, este valor puede estar en el rango de 0.8 a 0.99.

Recompensa: remunerar es el valor obtenido después de terminar una actividad específica en un estado determinado. La recompensa puede ocurrir en algún paso de tiempo aleatorio o sólo en el paso de tiempo terminal.

Max: np.max() utiliza la biblioteca numpy y está tomando el límite de las cosas por venir remuneradas y aplicándolo a la recompensa por el estado actual. Lo que esto hace es influenciar la actividad presente por la recompensa futura concebible. Esta es la magnificencia de q-