G-Uczenie (ang. G-Learning) to podejście w dziedzinie uczenia ze wzmocnieniem, które zyskuje na popularności w kontekście optymalizacji portfeli inwestycyjnych. Jego zastosowanie jest szczególnie widoczne w problemach o czasowo-stacjonarnych warunkach, gdzie celem jest wyznaczenie optymalnej polityki inwestycyjnej. Główną ideą jest opracowanie modelu, który uwzględnia interakcje między decyzjami inwestycyjnymi a otoczeniem rynkowym, takim jak zmiany cen akcji i wpływ decyzji inwestycyjnych na rynek.

W przypadku problemów o nieskończonym horyzoncie czasowym, równanie G-Uczenia przyjmuje formę nieliniowego równania całkowego, które wyraża wartość funkcji polityki w zależności od decyzji inwestycyjnych oraz przyszłych stanów portfela. Przykładowo, jeśli przestrzeń stanów i akcji jest jednowymiarowa, to wynikające z tego równanie całkowe staje się dwuwymiarowe. Rozwiązanie tego równania wymaga stosowania istniejących metod numerycznych, które pozwalają na jego efektywne rozwiązanie, chociaż nie jest to zadanie proste.

W tym kontekście G-Uczenie staje się metodą przydatną nie tylko do analizy teoretycznej, ale i praktycznej w zakresie dynamicznego zarządzania portfelem. Kluczowym zagadnieniem jest uwzględnienie efektu wpływu rynku na decyzje inwestycyjne. Dla portfela, w którym uwzględnia się takie efekty, równanie stanu przyjmuje formę nieliniową, co jest wynikiem działania parametrów tarcia rynkowego (np. kosztów transakcyjnych). Im wyższy wpływ rynku, tym bardziej nieliniowe stają się zależności w modelu. Z kolei w przypadku pominięcia wpływu rynku, model przyjmuje formę liniową, co upraszcza obliczenia, lecz w rzeczywistości rynki zazwyczaj cechują się pewnym stopniem nieliniowości.

Jeżeli nie uwzględnimy wpływu rynku (gdy μi = 0), problem staje się bardziej przejrzysty i odpowiada klasycznemu zagadnieniu regulatora kwadratowego liniowego (LQR), którego rozwiązanie jest dobrze znane w teorii sterowania. Dla tego typu problemu przyjmuje się, że dynamika portfela jest liniowa, a nagrody są kwadratowe względem stanu portfela i decyzji inwestycyjnych. W takich przypadkach stosowanie G-Uczenia pozwala na rozwiązanie tego problemu w sposób pół-analityczny, poprzez określenie funkcji wartości i odpowiednich parametrów polityki.

Jeśli przyjmiemy, że portfel działa w kontekście rynku, na którym nie uwzględniamy wpływu rynku (μi = 0), to równanie stanu portfela przyjmuje postać liniową, co upraszcza jego rozwiązanie. Ponadto, zakładając, że celem jest maksymalizacja ryzykownej stopy zwrotu w określonym horyzoncie czasowym T, przyjmuje się, że na koniec tego horyzontu portfel powinien zostać całkowicie zamknięty, czyli wszystkie pozycje akcyjne przekształcone w gotówkę. W związku z tym, decyzja inwestycyjna na końcu horyzontu jest deterministyczna i zależy jedynie od poziomu posiadanych akcji.

W kontekście tego typu optymalizacji, G-Uczenie pozwala na obliczenie wartości funkcji i ustalenie odpowiednich parametrów polityki inwestycyjnej. Równanie Bellmana, będące fundamentem tej metody, umożliwia iteracyjne obliczanie optymalnych decyzji inwestycyjnych. Ponadto, jeśli przyjmiemy, że polityka referencyjna ma postać rozkładu normalnego, to obliczenia te stają się bardziej przejrzyste, a wyniki można uzyskać za pomocą klasycznych metod integracji numerycznej.

Jeśli włączymy dodatkowe koszty transakcyjne w postaci kosztów convexznych, takich jak ηuTtCut, gdzie η to parametr kosztu transakcji, a C to macierz, której elementy opisują jednostkowe koszty transakcyjne, model staje się bardziej realistyczny, choć również bardziej skomplikowany obliczeniowo. Warto zauważyć, że takie koszty mogą wprowadzać dodatkowe trudności w wyznaczeniu optymalnej polityki, ponieważ ich wpływ na dynamikę portfela jest nieliniowy.

W rzeczywistej praktyce inwestycyjnej, oprócz czysto matematycznych wyzwań związanych z obliczeniami, kluczowym aspektem jest uwzględnienie zmienności rynku oraz ryzyk związanych z błędami prognozowania. Na przykład, zmienne rynkowe, takie jak zmiany stóp procentowych, wahania cen surowców czy nieprzewidywalność zachowań innych uczestników rynku, mogą wpływać na skuteczność zastosowanej polityki inwestycyjnej. Dlatego też, choć G-Uczenie może dać teoretycznie optymalne wyniki, jego skuteczność w praktyce zależy od jakości prognozowanych danych oraz od odpowiedniego modelowania dynamiki rynku.

Przy tworzeniu bardziej zaawansowanych algorytmów do dynamicznej optymalizacji portfela, konieczne może okazać się uwzględnienie dodatkowych aspektów, takich jak ryzyko systemowe, zmiany polityczne czy globalne kryzysy ekonomiczne. Te czynniki mogą wprowadzać dodatkowe zmienne do modelu, które będą wymagały szczegółowej analizy i modyfikacji istniejących algorytmów G-Uczenia, by mogły one skutecznie adaptować się do zmieniającego się otoczenia rynkowego.

Jak różne techniki optymalizacji wpływają na uczenie głębokich sieci neuronowych?

Parametr μ kontroluje efekt tłumienia w procesie aktualizacji zmiennych. W fizycznej analogii odpowiada to redukcji energii kinetycznej, która umożliwia "spowolnienie" ruchów przy minimalnych punktach. W praktyce ten parametr dobierany jest empirycznie, przy użyciu walidacji krzyżowej. Metoda momentum Nesterova (znana również jako przyspieszenie Nesterova) zamiast obliczać gradient w punktach bieżących, przewiduje go w punkcie przewidywanym przez moment. Można to traktować jako strategię "spojrzenia do przodu". Wynikowe równania aktualizacji wyglądają następująco:

vk+1=μvkηg((W,b)k+vk)v_{k+1} = \mu v_k - \eta g((W, b)_k + v_k)
(W,b)k+1=(W,b)k+vk(W, b)_{k+1} = (W, b)_k + v_k

Kolejną popularną modyfikacją metody SGD jest metoda AdaGrad, która adaptacyjnie skaluje każdy z parametrów uczenia przy każdej iteracji:

ck+1=ck+g((W,b)k)2c_{k+1} = c_k + g((W, b)_k)^2
(W,b)k+1=(W,b)kηg(W,b)kck+1a(W, b)_{k+1} = (W, b)_k - \frac{\eta g(W, b)_k}{\sqrt{c_{k+1}} - a}

gdzie aa to mała liczba, zwykle a=106a = 10^{ -6}, która zapobiega dzieleniu przez zero. Metoda PRMSprop rozwija koncepcję AdaGrad, nadając większą wagę ostatnim wartościom gradientu, co pozwala na skalowanie kierunku aktualizacji:

ck+1=δck+(1δ)g((W,b)k)2c_{k+1} = \delta c_k + (1 - \delta) g((W, b)_k)^2

Metoda Adam łączy podejścia PRMSprop i momentum, prowadząc do następujących równań aktualizacji:

vk+1=μvk(1μ)ηg((W,b)k+vk)v_{k+1} = \mu v_k - (1 - \mu) \eta g((W, b)_k + v_k)
ck+1=δck+(1δ)g((W,b)k)2c_{k+1} = \delta c_k + (1 - \delta) g((W, b)_k)^2
(W,b)k+1=(W,b)kηvk+1ck+1a(W, b)_{k+1} = (W, b)_k - \frac{\eta v_{k+1}}{\sqrt{c_{k+1}} - a}

Metody drugiego rzędu rozwiązują problem optymalizacji, rozwiązując układ nieliniowych równań f(W,b)=0\nabla f(W, b) = 0 za pomocą metody Newtona:

(W,b)+=(W,b){2f(W,b)}1f(W,b)(W, b)^+ = (W, b) - \{\nabla^2 f(W, b)\}^{ -1} \nabla f(W, b)

SGD jedynie przybliża 2f(W,b)\nabla^2 f(W, b) za pomocą 1/η1/\eta. Główne zalety metod drugiego rzędu to znacznie szybsze tempo zbieżności oraz mniejsza wrażliwość na kondycjonowanie problemu. Jednakże w praktyce metody te rzadko są stosowane w głębokim uczeniu, głównie ze względu na ograniczenia pamięciowe i obliczeniowe, szczególnie przy dużych zestawach danych.

Rozważania obliczeniowe
Same techniki batching nie wystarczają, by rozwiązać problemy dużych zbiorów danych w metodach SGD. Wewnątrz mechanizmu wstecznej propagacji, który stosuje regułę łańcucha, pojawia się dziedziczna zależność sekwencyjna w aktualizacjach wag, co ogranicza rozmiar danych wejściowych dla głębokich sieci neuronowych. Polson i in. (2015) proponują metodę Newtona przybliżoną do problemu, czyli technikę optymalizacji bayesowskiej, która daje efektywne rozwiązanie przy szacowaniu i optymalizacji takich modeli, a także obliczaniu ścieżki regularyzacji. Autorzy przedstawiają podejście dzielące, tzw. metodę mnożników w kierunkach naprzemiennych (ADMM), która przez jednoczesną aktualizację bloków parametrów na wszystkich warstwach, pomaga przezwyciężyć wąskie gardła w propagacji wstecznej i umożliwia użycie komputerów o dużej mocy obliczeniowej.

Wielkim krokiem naprzód w powszechnym zastosowaniu głębokiego uczenia była stworzenie TensorFlow (Abadi i in., 2016), interfejsu do łatwego wyrażania algorytmów uczenia maszynowego oraz mapowania obliczeń na różnorodne platformy sprzętowe, szczególnie karty GPU. Niedawno TensorFlow zostało wzbogacone przez Edwarda (Tran i in., 2017), który łączy koncepcje statystyki bayesowskiej oraz programowania probabilistycznego z głębokim uczeniem.

Średnia modeli za pomocą Dropout
Zamykając tę sekcję, warto wspomnieć o technice, która okazała się niezbędna w zapobieganiu nadmiernemu dopasowaniu modeli: Dropout. Jest to obliczeniowo efektywna metoda zmniejszania wariancji modelu przez rozważenie wielu konfiguracji modeli i następnie uśrednianie ich prognoz. W przestrzeni wejściowej warstwy Z=(Z1,,Zn)Z = (Z_1, \ldots, Z_n), gdzie nn jest liczbą zmiennych, stosowane są techniki redukcji wymiaru, które zapobiegają nadmiernemu dopasowaniu w trakcie procesu uczenia. Dropout działa poprzez losowe usuwanie wejść warstwy z określoną prawdopodobieństwem θ\theta, które można traktować jako hiperparametr, który również może być dostosowywany za pomocą walidacji krzyżowej. Heurystycznie, dla 1000 zmiennych, wybór θ=0.1\theta = 0.1 będzie prowadził do poszukiwania modeli z 100 zmiennymi. Architektura z dropoutem i losowym poszukiwaniem predyktorów może być wykorzystana do tworzenia bardziej ogólnych modeli.

Ważne aspekty do zrozumienia
Podczas stosowania tych metod optymalizacji należy zwrócić uwagę, że każda z nich ma swoje wady i zalety w zależności od specyfiki zadania. Metody pierwszego rzędu, takie jak SGD, są bardziej skalowalne w przypadku dużych zbiorów danych, jednak mogą wymagać wielu iteracji i mogą nie gwarantować zbieżności do globalnego minimum. W przeciwieństwie do tego, metody drugiego rzędu, choć bardziej precyzyjne, są mniej praktyczne w kontekście głębokiego uczenia ze względu na wysokie wymagania pamięciowe i obliczeniowe. Dlatego kluczowe jest dobranie odpowiedniej metody optymalizacji w zależności od wielkości i charakterystyki danych, a także dostępnych zasobów obliczeniowych.

Jak działa analiza głównych składowych i redukcja wymiarów w analizie danych?

Analiza głównych składowych (PCA) jest jedną z kluczowych metod statystycznych wykorzystywanych w wielu dziedzinach nauki i przemysłu, w tym w analizie danych, finansach i inżynierii. Głównym celem PCA jest przekształcenie danych, aby wyodrębnić najważniejsze cechy (główne składowe) w danych wielowymiarowych, zmniejszając jednocześnie liczbę zmiennych. Oto jak działa ten proces i co warto o nim wiedzieć.

PCA działa na danych zorganizowanych w macierz X, gdzie każda kolumna reprezentuje zmienną, a każdy wiersz – próbkę lub obserwację. Pierwszym krokiem jest usunięcie średniej z każdej zmiennej, co daje nam zrównoważoną macierz X0 = X − x̄1ᵀN, w której wartości są zdemontowane (średnia każdej zmiennej wynosi zero). Następnie przeprowadzamy analizę macierzy kowariancji, która jest podstawą dla znalezienia głównych składowych.

Kiedy transformacja macierzy WT reprezentuje zastosowanie analizy głównych składowych, oznaczamy ją jako W = P. Kolumny ortonormalnej macierzy P, oznaczone jako pₙj, są wektorami ładującymi (loading vectors). Wektory te, po przekształceniu, stają się głównymi składowymi lub punktami (scores). Pierwszy wektor ładujący p₁ jest definiowany jako jednostkowy wektor, z którym iloczyny wewnętrzne obserwacji mają największą wariancję: p₁ = max wᵀ₁ Y0Y0 w₁, gdzie w₁ jest jednostkowym wektorem, a Y0 to zdemontowana macierz danych. Rozwiązanie tego równania to wektor własny macierzy kowariancji Y0Yᵀ0 odpowiadający największej wartość własnej.

Kolejny wektor ładujący p₂ to jednostkowy wektor, który ma największą wariancję z iloczynów wewnętrznych z obserwacjami po usunięciu ortogonalnych projekcji na p₁. Takie podejście jest kontynuowane dla kolejnych wektorów, które odpowiadają pozostałym wektorom własnym macierzy kowariancji Y0Yᵀ0, uporządkowanym według malejących wartości własnych.

PCA jest szczególnie skuteczna w transformacjach danych, które mają na celu dekorrelację zmiennych. Wynika to z faktu, że macierz kowariancji X0 jest diagonalna po zastosowaniu transformacji PCA, co oznacza, że dane po transformacji są niezależne (nie skorelowane). Często stosuje się PCA w celu "oczyszczania" danych, usuwania szumów i uproszczenia ich struktury.

Metoda PCA jest również szeroko stosowana w redukcji wymiarowości, czyli w procesie zmniejszania liczby zmiennych w modelu w celu uniknięcia problemu "klątwy wymiarowości". Redukcja wymiarowości za pomocą PCA odbywa się poprzez zastosowanie transformacji w postaci Pₘ, która zawiera m pierwszych głównych składowych (m < n), gdzie n to pierwotna liczba zmiennych. Przykładowo, dla macierzy X m×N (gdzie m ≤ n), każda kolumna tej macierzy to wektor odpowiadający jednej z m głównych składowych.

Przy redukcji wymiarowości, tracimy część informacji, jednak staramy się zminimalizować tę utratę, maksymalizując wariancje zachowanych składowych. Koncepcja "błędu rekonstrukcji" (‖Y − Ŷ‖F) jest kluczowa w ocenie, jak duża część informacji została utracona w wyniku tej transformacji. Pₘ jest rozwiązaniem minimalizującym całkowity błąd kwadratowy rekonstrukcji, co oznacza, że przekształcone dane mają minimalną różnicę względem pierwotnych zdemontowanych danych.

PCA daje także narzędzie do wyodrębniania najważniejszych cech danych, co jest użyteczne w wielu zadaniach analitycznych, takich jak przewidywanie przyszłych wartości w szeregu czasowym czy też w analizie obrazów. Proces ten jest ściśle związany z poszukiwaniem tzw. "kompresji" danych: zamiast przechowywać pełny zestaw zmiennych, możemy ograniczyć się do tych, które zawierają najwięcej informacji, a więc tych, które mają największą wariancję.

Warto zauważyć, że PCA nie jest procesem jednoznacznym. Równania takie jak W = PₘQ (gdzie Q jest dowolną macierzą ortogonalną) również rozwiązują problem redukcji wymiarowości, co oznacza, że możemy zmienić bazę ortonormalną, nie zmieniając przestrzeni podprzestrzeni. To podkreśla elastyczność PCA i jej zastosowań w różnych kontekstach analitycznych.

W praktyce PCA jest często stosowana w różnych dziedzinach, np. w handlu algorytmicznym czy rynkach elektronicznych, gdzie przewidywanie wartości w długim okresie jest kluczowe dla realizacji strategii handlowych. W takich przypadkach PCA pomaga w zredukowaniu liczby zmiennych, co upraszcza modelowanie i przewidywania, szczególnie gdy liczba zmiennych jest ogromna.

Jednakże PCA nie zawsze jest wystarczająca. Często w praktyce stosuje się także modele parametryczne, takie jak modele GARCH w finansach, lub regresje liniowe, które mogą dawać lepsze wyniki w specyficznych kontekstach. Warto więc zrozumieć, że PCA jest narzędziem do eksploracji i redukcji wymiarowości, ale nie zastępuje bardziej zaawansowanych technik modelowania, zwłaszcza w obliczu bardziej złożonych zależności w danych.

Jakie są wyzwania w optymalizacji portfela przy użyciu uczenia przez wzmacnianie?

Optymalizacja dynamiczna portfela akcji tej samej spółki jest problemem, który polega na minimalizacji kosztów związanych z tzw. slippage (poślizgi) podczas sprzedaży akcji. Tradycyjnym przykładem optymalizacji portfela jest zarządzanie aktywami przez fundusze inwestycyjne, emerytalne lub wzajemne, które zazwyczaj prowadzą inwestycje na długie okresy czasu, liczone w miesiącach lub latach. Z kolei w tradingu intraday, charakterystycznym dla funduszy hedgingowych, można również rozpatrywać optymalizację portfela, aczkolwiek w kontekście innego doboru portfela, kroków czasowych, ograniczeń i tak dalej. Oczywiście, optymalizacja portfela w takim ujęciu jest zdeterminowana przez szczegóły dotyczące celu oraz charakterystyki portfela. Na przykład zarządzanie portfelem o długim okresie inwestycyjnym zwykle uwzględnia czynniki makroekonomiczne, ale nie uwzględnia danych z książki zleceń limitowych, podczas gdy w przypadku tradingu intraday odwrotna sytuacja ma miejsce.

Zarządzanie portfelem dynamicznym to klasyczny problem sterowania optymalnego w warunkach stochastycznych, w którym zmienne kontrolne to zmiany pozycji w różnych aktywach portfela dokonywane przez menedżera, natomiast zmienne stanu opisują obecny skład portfela, ceny jego składników i inne czynniki, takie jak wskaźniki rynkowe, spread bid-ask itp. Kiedy weźmiemy pod uwagę dużego gracza rynkowego, którego transakcje mogą wpłynąć na rynek, działania takiego gracza mogą wytworzyć efekt sprzężenia zwrotnego, znany w literaturze finansowej jako „efekt wpływu na rynek” (market impact effect). Wszystkie te elementy sprawiają, że zarządzanie portfelem dynamicznym stanowi doskonałą okazję do zastosowania metod programowania dynamicznego i uczenia przez wzmacnianie (RL).

Zanim jednak przejdziemy do bardziej złożonych przykładów, warto zauważyć, że w kontekście finansów zastosowanie RL staje się wyzwaniem ze względu na wymiarowość przestrzeni stanów i działań. Nawet w przypadku samego rynku amerykańskiego, którego aktywa liczą tysiące spółek, już proste podejście związane z portfelem składającym się z aktywów tak różnorodnych jak akcje, obligacje, kontrakty terminowe czy fundusze ETF prowadzi do przestrzeni stanów o wymiarze przekraczającym tysiące. W takich warunkach zadanie staje się bardziej złożone niż typowe przykłady, w których przestrzeń stanów jest o wiele mniejsza i często reprezentuje problemy w bardziej kontrolowanych środowiskach, jak np. robotyka czy gry komputerowe. Z uwagi na niską jakość sygnału w stosunku do szumów oraz bardzo wysoką wymiarowość, problemy związane z finansami są znacznie trudniejsze niż przypadki stosowane w innych dziedzinach, takich jak w grach komputerowych, które zazwyczaj operują na niższych wymiarach przestrzeni stanów.

W przypadku dynamicznych problemów optymalizacji portfela, zwłaszcza takich o niskiej wymiarowości, ważne jest wykorzystanie prostszych, ale jednocześnie praktycznych podejść do zastosowania metod RL, zanim przejdzie się do bardziej złożonych przykładów związanych z portfelami wielo-aktywowymi. Jednym z takich podejść jest klasyczny problem wyceny opcji w modelu Black-Scholes-Merton (BSM), który stanowi fundament nowoczesnej finansjery ilościowej.

Model Black-Scholes, który został stworzony dla tzw. opcji typu plain vanilla (proste opcje europejskie typu call i put), umożliwia wycenę opcji na podstawie zmieniającej się wartości akcji w przyszłości. Opcja call daje prawo do zakupu akcji po ustalonej cenie K w przyszłym czasie T, a opcja put prawo do sprzedaży akcji po tej samej cenie. Celem modelu Black-Scholes jest stworzenie portfela, który odwzorowuje opcję poprzez dynamiczną replikację, czyli rebalansowanie aktywów między akcjami a gotówką w sposób, który eliminuje ryzyko związane z niedokładnym hedgingiem. Dzięki temu portfel z opcją oraz portfel zabezpieczający staje się w danym momencie bezryzykowny, a cała inwestycja może przynosić zwrot równy stopie wolnej od ryzyka.

Aplikowanie uczenia przez wzmacnianie w tym kontekście polega na stworzeniu algorytmu, który będzie w stanie samodzielnie dostosować parametry portfela w taki sposób, by skutecznie odwzorować wartość opcji przy jednoczesnym minimalizowaniu ryzyka. W przypadku bardziej zaawansowanych metod, takich jak G-learning, które mogą być stosowane do szerszych problemów związanych z portfelami inwestycyjnymi, istotne jest uwzględnienie zmiennych makroekonomicznych, które mogą wpływać na wyniki inwestycyjne.

Wszystkie te wyzwania wymagają zastosowania nowoczesnych metod uczenia maszynowego, które są w stanie działać w bardzo wysokowymiarowych przestrzeniach stanów, ale także dostosować się do specyficznych warunków rynkowych. Oznacza to, że oprócz klasycznych narzędzi finansowych, takich jak modele Black-Scholes, przyszłość optymalizacji portfela inwestycyjnego leży w integracji zaawansowanych metod sztucznej inteligencji, które pozwalają na bardziej precyzyjne i elastyczne podejście do dynamicznego zarządzania aktywami.