Le Q-learning est un calcul de soutien à l’apprentissage hors approche qui cherche à localiser la meilleure décision à prendre compte tenu de l’état actuel. Il est considéré comme hors stratégie au motif que la prise de Q au travail tire profit d’activités qui sont en dehors de l’arrangement actuel, comme la prise d’activités arbitraires, et de cette façon une approche n’est pas nécessaire. D’autant plus explicitement, le q-learning tente de se familiariser avec une approche qui amplifie la compensation absolue.
Qu’est-ce que le “Q” ?
Le “q” de l’apprentissage en ligne représente la qualité. Dans ce cas, la qualité indique à quel point une activité donnée est utile pour augmenter une récompense future.
Faire un tableau de questions
Au moment où l’apprentissage en q est effectué, nous faisons ce que l’on appelle une table de q ou un cadre qui poursuit l’état de [état, action] et nous mettons nos qualités à zéro. À ce stade, nous rafraîchissons et stockons nos valeurs de q après une scène. Cette table de Q devient une table de référence pour notre spécialiste afin de choisir la meilleure activité en fonction de l’estime de Q.
import numpy as np
# Introduire les qualités de la table Q à 0
Q = np.zeros((taille_de_l’état, taille_de_l’action))
Q-learning et rafraîchissement
L’étape suivante consiste simplement pour le spécialiste à se connecter à la terre et à faire des mises à jour des correspondances d’activité de l’État dans notre tableau Q [état, action].
Faire un geste : Enquête ou aventure
Un opérateur associé à la terre de 1 ou 2 façons différentes. La première consiste à utiliser la table Q comme source de perspective et à visualiser toutes les activités imaginables pour un état donné. À ce stade, l’opérateur choisit l’activité en fonction de l’estimation maximale de ces activités. C’est ce que l’on appelle une mauvaise utilisation, car nous utilisons les données auxquelles nous avons accès pour faire un choix.
La méthode suivante pour faire un geste est d’agir au hasard. C’est ce qu’on appelle l’enquête. Plutôt que de choisir des activités en fonction de la récompense future maximale, nous choisissons une activité de manière arbitraire. Le fait d’agir au hasard est important car il permet au spécialiste d’enquêter et de trouver de nouvelles expressions qui ne peuvent généralement pas être choisies lors de la procédure d’abus. Vous pouvez ajuster l’enquête/abus en utilisant epsilon (ε) et en définissant l’estimation de la régularité de l’enquête par rapport à l’abus. Voici un code désagréable qui dépendra de la façon dont l’état et l’espace d’activité sont un arrangement.
importation arbitraire
# Fixez le pourcentage sur lequel vous devez enquêter
epsilon = 0,2
dans le cas où random.uniform(0, 1) < epsilon :
“””
Enquêter : choisir une activité arbitraire
“””
d’autre part :
“””
Objectif : sélectionner l’activité avec un maximum d’estime (récompense future)
“””
Rafraîchir la table des questions
Les mises à jour ont lieu après chaque progression ou activité et se terminent lorsqu’une scène est terminée. Pour cette situation, l’opérateur doit arriver à un point terminal. Un état terminal, par exemple, peut être similaire à l’arrivée sur une page de paiement, à l’arrivée à la fin d’un jeu, à l’arrivée d’un but idéal, etc. Le spécialiste ne s’adaptera pas beaucoup après une scène solitaire, mais inévitablement avec suffisamment d’investigations (étapes et scènes) il combinera et se familiarisera avec les q-qualités ou q-star idéales (Q∗).
Voici les 3 avancées fondamentales :
Le spécialiste commence dans un état (s1) effectue un coup (a1) et obtient une récompense (r1)
L’opérateur choisit l’activité en se référant à la table Q avec la valeur la plus élevée (max) OU par arbitraire (epsilon, ε)
Mise à jour des valeurs Q
Voici la règle de mise à jour essentielle pour le q-learning :
# Mettre à jour q esteems
Q[état, action] = Q[état, action] + lr * (compensation + gamma * np.max(Q[nouvel_état, :]) – Q[état, action])
Dans la mise à jour ci-dessus, il y a deux ou trois facteurs auxquels nous n’avons pas fait référence à ce stade. Ce qui se passe ici, c’est que nous modifions nos valeurs de q en fonction de la distinction entre les nouvelles qualités limitées et les anciennes. Nous rabaissons les nouvelles qualités en utilisant le gamma et nous modifions la taille de notre progression en utilisant le taux d’apprentissage (lr). Voici quelques références.
Taux d’apprentissage : lr ou taux d’apprentissage, régulièrement appelé alpha ou α, peut être caractérisé comme le montant que vous reconnaissez à la nouvelle valeur par rapport à l’ancienne. Nous faisons ci-dessus la distinction entre la nouvelle et l’ancienne valeur et augmentons ensuite cette incitation par le taux d’apprentissage. Cette valeur s’ajoute alors à notre q-esteem passé, ce qui la rapproche de notre dernière mise à jour.
Gamma : gamma ou γ est un facteur de démarquage. Il est utilisé pour ajuster les récompenses rapides et futures. D’après notre règle de mise à jour ci-dessus, vous pouvez voir que nous appliquons la réduction à la future récompense. Normalement, cette valeur peut se situer entre 0,8 et 0,99.
Récompense : la rémunération est la valeur obtenue après avoir terminé une activité spécifique dans un état donné. Une récompense peut être obtenue à un moment donné ou seulement à un moment final.
Max : np.max() utilise la bibliothèque numpy et prend la limite des choses à venir pour la rémunérer et l’appliquer à la récompense de l’état présent. Cela a pour effet d’influencer l’activité présente par la récompense future concevable. C’est la magnificence de q-