Question

Je dois faire un travail avec Q apprentissage, d'un gars qui doit déplacer des meubles autour d'une maison (il est essentiellement que). Si la maison est assez petite, je peux tout simplement avoir une matrice qui représente les actions / récompenses, mais comme la taille de la maison se développe plus ce ne sera pas suffisant. Je dois donc utiliser une sorte de fonction de généralisation pour elle, au lieu. Mon professeur me propose d'utiliser non seulement un, mais plusieurs petits, pour que je puisse les comparer et ainsi. Qu'est-ce que vous les gars recommanderiez?

J'ai entendu que pour ce peuple utilisent la situation Support Vector Machines, aussi Neural Networks. Je ne suis pas vraiment à l'intérieur du terrain, je ne peux pas dire. J'ai eu dans le passé une certaine expérience avec les réseaux de neurones, mais semble SVM beaucoup plus difficile sujet à saisir. Y at-il d'autres méthodes que je devrais chercher? Je sais qu'il doit y avoir comme un tas d'entre eux, mais je besoin de quelque chose juste pour commencer.

Merci

Était-ce utile?

La solution

Tout comme un rappel de la terminologie, dans Q-learning, vous essayez d'apprendre les fonctions de Q, qui dépendent de l'état et de l'action:

Q(S,A) = ????

La version standard de Q-learning comme enseigné dans la plupart des classes vous dit que vous pour chaque S et A, vous devez apprendre une valeur distincte dans une table et vous indique comment effectuer des mises à jour Bellman afin de converger vers la valeur optimale valeurs.

Maintenant, laisse dire qu'au lieu de la table que vous utilisez un approximator de fonction différente. Par exemple, permet d'essayer des fonctions linéaires. Prenez votre (S, A) paire et penser à un tas de fonctionnalités que vous pouvez extraire d'eux. Un exemple d'une caractéristique est « Suis-je à côté d'un mur, » une autre est « Est-ce que le lieu d'action l'objet à côté d'un mur », etc. Nombre de ces caractéristiques f1 (S, A), f2 (S, A),. ..

Maintenant, essayez d'apprendre la fonction Q en fonction linéaire de ces caractéristiques

Q(S,A) = w1 * f1(S,A) + w2*f2(S,A) ... + wN*fN(S,A)

Comment devriez-vous apprendre les poids w? Eh bien, puisque cela est un devoir, je vous laisse y réfléchir sur votre propre.

Cependant, comme un indice, permet de dire que vous avez K états possibles et M actions possibles dans chaque État. Disons que vous définissez les caractéristiques K * M, dont chacun est un indicateur de savoir si vous êtes dans un état particulier et allez prendre une action particulière. Donc,

Q(S,A) = w11 * (S==1 && A == 1) + w12 * (S == 1 && A == 2) + w21 * (S==2 && A==3) ...

Maintenant, notez que pour tout couple état / action, une seule fonction sera 1 et le reste sera de 0, de sorte que Q (S, A) sera égale à la correspondante w et vous apprennent essentiellement une table. Ainsi, vous pouvez penser à la norme, le tableau Q-learning comme un cas particulier de l'apprentissage avec ces fonctions linéaires. Alors, pensez à ce que l'algorithme normale Q-learning fait, et ce que vous devez faire.

Nous espérons que vous pouvez trouver une petite base de caractéristiques, beaucoup moins que K * M, qui vous permettra de représenter votre espace bien.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top