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.

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.

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
- Podstawowe koncepcje uczenia ze wzmocnieniem
- Koncepcja tabeli Q
- Implementacja tabeli Q w Pythonie
- Głębokie uczenie Q
- Poznajemy OpenAI Gym