0Pricing
Python Academy · Lekcja

Koncepcja tabeli Q

Uczenie ze wzmocnieniem oparte na tabeli

Koncepcja tabeli Q to bezpłatna lekcja Python Academy na CoddyKit. To lekcja 2 z 5. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Python Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Python Academy zawiera 5 lekcji w sumie.

Czym jest tablica Q?

Pojęcie tablicy Q

Tablica Q jest podstawowym pojęciem w uczeniu ze wzmocnieniem. To tablica wyszukiwania, w której każdy wpis reprezentuje oczekiwaną nagrodę za wykonanie określonej akcji w danym stanie.

Celem jest nauczenie się wartości Q, które kierują agentem tak, aby wybierał najlepsze akcje i maksymalizował nagrody.

Koncepcja tabeli Q — ilustracja 1

Struktura tablicy Q

Struktura tablicy Q

Tablica Q ma następującą strukturę:

  • Wiersze: Reprezentują stany środowiska.
  • Kolumny: Reprezentują akcje dostępne dla agenta.
  • Wartości: Reprezentują wartość Q dla par stan–akcja.

Agent aktualizuje te wartości podczas uczenia.

Wzór aktualizacji wartości Q

Wzór aktualizacji wartości Q

Wartości Q aktualizuje się za pomocą równania Bellmana:

Q(s, a) = Q(s, a) + α [r + γ max(Q(s', a')) - Q(s, a)]

Gdzie:

  • s: Aktualny stan
  • a: Aktualna akcja
  • r: Nagroda za akcję
  • s': Następny stan
  • α: Współczynnik uczenia
  • γ: Współczynnik dyskontowania

Przykład prostej tablicy Q

Przykład prostej tablicy Q

Rozważmy tablicę Q dla środowiska z siatką:

Stany: Pozycje na siatce (np. A1, B1)

Akcje: Przejście w górę, w dół, w lewo lub w prawo

Początkowo wszystkie wartości Q są ustawione na zero:

Stan Góra Dół Lewo Prawo
A1 0 0 0 0
B1 0 0 0 0

Inicjalizowanie tablicy Q w Pythonie

Inicjalizowanie tablicy Q w Pythonie

Możemy reprezentować tablicę Q za pomocą tablicy NumPy lub słownika:

import numpy as np

# Example: Q-Table for 5 states and 4 actions
num_states = 5
num_actions = 4
q_table = np.zeros((num_states, num_actions))

print("Initial Q-Table:")
print(q_table)

Eksploracja w uczeniu Q

Eksploracja w uczeniu Q

Agent używa polityki ε-zachłannej, aby zachować równowagę między eksploracją a eksploatacją:

  • Z prawdopodobieństwem ε wybiera losową akcję (eksploracja).
  • Z prawdopodobieństwem 1-ε wybiera akcję o najwyższej wartości Q (eksploatacja).

Zalety tablic Q

Zalety tablic Q

Tablice Q są proste i skuteczne w małych środowiskach. Ich zalety obejmują:

  • Łatwą implementację i debugowanie.
  • Jasną interpretację zależności stan–akcja.
  • Niski koszt obliczeniowy w przypadku małych przestrzeni stanów i akcji.

Ograniczenia tablic Q

Ograniczenia tablic Q

Tablice Q mają pewne ograniczenia:

  • Nie skalują się dobrze w środowiskach z dużymi przestrzeniami stanów i akcji.
  • Wymagają znacznej ilości pamięci w przypadku problemów wielowymiarowych.
  • Nie potrafią generalizować na podstawie podobnych stanów.

Podsumowanie i kolejne kroki

Podsumowanie i kolejne kroki

W tej lekcji:

  • Poznaliśmy pojęcie tablicy Q i jej strukturę.
  • Przeanalizowaliśmy sposób aktualizowania wartości Q za pomocą równania Bellmana.
  • Omówiliśmy zalety i ograniczenia tablic Q.

Następnie zaimplementujemy w Pythonie prosty algorytm Q-Learning, aby zobaczyć tablice Q w działaniu.

Koncepcja tabeli Q — ilustracja 10

Często zadawane pytania

Czy lekcja „Koncepcja tabeli Q” jest bezpłatna?

Tak — pełny tekst „Koncepcja tabeli Q” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Python Academy, przejdź na CoddyKit PRO. Kurs Python Academy zawiera 5 lekcji w sumie.

Co nauczysz się w „Koncepcja tabeli Q”?

Uczenie ze wzmocnieniem oparte na tabeli Ćwiczysz Python Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Python Academy?

Nie wymagamy żadnego doświadczenia. Python Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 5.

Ile czasu zajmuje lekcja „Koncepcja tabeli Q”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Python Academy?

Tak. Każda lekcja Python Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Podstawowe koncepcje uczenia ze wzmocnieniem
  2. Koncepcja tabeli Q
  3. Implementacja tabeli Q w Pythonie
  4. Głębokie uczenie Q
  5. Poznajemy OpenAI Gym
← Powrót do Python Academy