-
1. Data: 2012-07-26 18:46:52
Temat: Funkcja błędu
Od: " M.M." <m...@g...pl>
Hey
Mamy jakieś zadanie samo-uczenia się. Mieszanka uczenia ze wzmocnieniem i z
nauczycielem. Agent trafia do środowiska. W środowisku podejmuje decyzje,
wykonuje jakieś ruchy, w końcu osiąga sukces albo porażkę. Ze stanów
środowiska (jakie to stany są osiągane po ruchach) budowane są wektory
uczące. Każdy wektor uczący ma wejście i wyjście. Wejście opisuje stan
środowiska po ruchu, a wyjście to liczby malejące lub rosnące w zależności
od tego czy agent w środowisku osiągnął porażkę czy sukces[*]. Na tak
zbudowanych wektorach uczących przeprowadzane jest uczenie z nauczycielem.
Po pewnym czasie uczenia z nauczycielem agent znowu trafia do środowiska,
znowu buduje wektory uczące (a tym samym powiększa zbiór uczący), znowu
jest uczenie z nauczycielem i tak w kółko.
Szukam wszelkich materiałów i informacji na temat tego jak w różnych
praktycznych zastosowaniach dobierano funkcję błędu, aby efektywność
uczenia była możliwie duża. Obserwuję na różnych zadaniach (głównie
grach planszowych) że metody tego typu bardzo szybko uzyskują
dobre wyniki, natomiast nigdy jeszcze nie zaobserwowałem aby wyniki
były optymalne. Zwykle jako funkcji błędu używam po postu średnich
kwadratów, jednak podejrzewam że funkcja błędu powinna być zdecydowanie
bardziej wyrafinowana, aby uzyskiwać wyniki w pobliżu optimum. Co o
tym sądzicie? Jakie są znane bardziej wyrafinowane funkcje błędu które
przynosiły w innych zadaniach dobre rezultaty?
[*]
Np.:
gdy było 5 ruchów i na końcu porażka:
-1/5 -1/4 -1/3 -1/2 -1/1
gdy 7 ruchów i na końcu sukces to:
+1/7 +1/6 +1/5 +1/4 +1/3 +1/2 +1/1
Pozdrawiam
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/