Domanda

che devo fare un certo lavoro con Q di apprendimento, di un ragazzo che deve spostare mobili intorno ad una casa (che è fondamentalmente). Se la casa è abbastanza piccolo, posso solo avere una matrice che rappresenta azioni / ricompense, ma come la dimensione casa diventa più grande che non sarà sufficiente. Quindi devo utilizzare una sorta di funzione di generalizzazione per esso, invece. Il mio insegnante mi consiglia di non utilizzare un solo, ma quelli diversi, così ho potuto confrontarli e così. Quello che voi ragazzi consiglia?

Ho sentito che per questa situazione la gente sta usando Support Vector Machines, anche reti neurali. In realtà non sono all'interno del campo, quindi non posso dire. Ho avuto in passato una certa esperienza con le reti neurali, ma SVM sembra molto più difficile da afferrare soggetto. Ci sono altri metodi che dovrei cercare? So che ci deve essere come uno zillion di loro, ma ho bisogno di qualcosa solo per cominciare.

Grazie

È stato utile?

Soluzione

Proprio come un aggiornamento della terminologia, in Q-learning, si sta cercando di imparare i Q-funzioni, che dipendono l'azione dello stato e:

Q(S,A) = ????

La versione standard di Q-learning come insegnato nella maggior parte delle classi ti dice che per ogni S e A, è necessario imparare un valore distinto in una tabella e ti dice come eseguire gli aggiornamenti Bellman per convergere al ottimale valori.

Ora, consente di dire che invece di tabella si utilizza una funzione diversa approssimatore. Per esempio, consente di provare funzioni lineari. Prendete il vostro (S, A) accoppiamento e pensare di un gruppo di funzionalità che è possibile estrarre da loro. Un esempio di una caratteristica è "Sono accanto a un muro", un altro è "Sarà il luogo di azione l'oggetto accanto a un muro", ecc Numero queste caratteristiche f1 (S, A), f2 (S, A),. ..

Ora, cercare di imparare la funzione Q come funzione lineare di quelle caratteristiche

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

Come si deve imparare i pesi w? Ebbene, dal momento che questo è un lavoro, ti lascio ci pensate da soli.

Tuttavia, come un suggerimento, permette di dire che hai K possibili stati e M possibili azioni in ogni stato. Diciamo che definisce le caratteristiche K * M, ognuno dei quali è un indicatore del fatto che ci si trova in uno stato particolare e sta andando a prendere una particolare azione. Quindi

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

Ora, si noti che per ogni coppia di stato / azione, solo una caratteristica sarà 1 e il resto sarà 0, quindi Q (S, A) sarà pari alla corrispondente w e si sono essenzialmente imparando un tavolo. Così, si può pensare di norma, tavolo Q-learning come un caso speciale di apprendimento con queste funzioni lineari. Quindi, pensa a ciò che l'algoritmo Q-learning normale fa, e che cosa si dovrebbe fare.

Speriamo che si può trovare una piccola base di caratteristiche, molto meno rispetto K * M, che vi permetterà di rappresentare bene il vostro spazio.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top