Oppikaa tekoälyä Pythonilla · Oppitunti

Q-taulukon toteuttaminen Pythonissa

Yksinkertainen esimerkki Q-oppimisesta.

Oppitunti 3/510 vaihetta

Q-taulukon toteuttaminen Pythonissa on ilmainen Oppikaa tekoälyä Pythonilla-oppitunti CoddyKitissä. Tämä on oppitunti 3/5. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Oppikaa tekoälyä Pythonilla-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Oppikaa tekoälyä Pythonilla-kurssilla on yhteensä 5 oppituntia.

Q-oppimisen toteuttaminen Pythonilla

Tässä oppitunnissa toteutamme Pythonilla yksinkertaisen Q-oppimisalgoritmin. Agentti oppii suunnistamaan ruudukkomaailmassa maksimoidakseen palkkionsa.

Q-taulukon toteuttaminen Pythonissa — kuvitus 1

Ympäristön määrittäminen

Määrittelemme yksinkertaisen 4×4-ruudukkomaailman, jossa agentti aloittaa vasemmasta yläkulmasta ja sen on päästävä oikeaan alakulmaan saadakseen palkkion.

import numpy as np

# Define the environment
num_states = 16  # 4x4 grid
num_actions = 4  # Up, Down, Left, Right

# Define rewards (-1 for each step, +10 for the goal)
rewards = np.zeros(num_states)
rewards[-1] = 10

Q-taulukon alustaminen

Q-taulukko alustetaan nollilla kaikkien tila-toiminto-parien osalta.

# Initialize the Q-Table
q_table = np.zeros((num_states, num_actions))

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

Q-oppimisalgoritmin toteuttaminen

Käytämme seuraavia parametreja:

  • α (oppimisnopeus): Säätää, kuinka paljon uusi tieto syrjäyttää vanhaa.
  • γ (diskonttaustekijä): Määrittää tulevien palkkioiden painoarvon suhteessa välittömiin palkkioihin.
  • ε (tutkimisaste): Tasapainottaa tutkimista ja opittujen toimintatapojen hyödyntämistä.
# Parameters
alpha = 0.1  # Learning rate
gamma = 0.9  # Discount factor
epsilon = 0.1  # Exploration rate

# Q-Learning loop
num_episodes = 1000
for episode in range(num_episodes):
    state = 0  # Start at the first state
    done = False
    while not done:
        # Exploration or exploitation
        if np.random.rand() < epsilon:
            action = np.random.randint(num_actions)  # Explore
        else:
            action = np.argmax(q_table[state])  # Exploit

        # Transition to the next state
        next_state = (state + action) % num_states  # Simplified transition logic
        reward = rewards[next_state]

        # Update Q-value
        q_table[state, action] = q_table[state, action] + alpha * (
            reward + gamma * np.max(q_table[next_state]) - q_table[state, action]
        )

        # Move to the next state
        state = next_state
        done = state == num_states - 1

Opitun politiikan arviointi

Koulutuksen jälkeen arvioimme politiikkaa noudattamalla Q-taulukkoon tallennettuja optimaalisia toimintoja:

# Evaluate the policy
state = 0
optimal_path = [state]
while state != num_states - 1:
    action = np.argmax(q_table[state])
    state = (state + action) % num_states  # Simplified transition logic
    optimal_path.append(state)

print("Optimal Path:", optimal_path)

Q-taulukon visualisointi

Voimme visualisoida Q-taulukon, jotta ymmärrämme kunkin tila-toiminto-parin opitut arvot:

import matplotlib.pyplot as plt
import seaborn as sns

# Visualize Q-Table
plt.figure(figsize=(10, 8))
sns.heatmap(q_table, annot=True, fmt=".2f", cmap="coolwarm")
plt.title("Q-Table Heatmap")
plt.xlabel("Actions")
plt.ylabel("States")
plt.show()

Q-oppimisen edut

Q-oppimisella on useita etuja:

  • Se on yksinkertainen ja helppo toteuttaa.
  • Se soveltuu stokastisiin ympäristöihin.
  • Se suppenee optimaaliseen politiikkaan, kun tutkimista on riittävästi.

Q-oppimisen rajoitukset

Q-oppimisella on joitakin rajoituksia:

  • Se ei skaalaudu hyvin ympäristöihin, joissa on paljon tila-toiminto-pareja.
  • Oppiminen voi olla hidasta monimutkaisissa ympäristöissä.
  • Se edellyttää selkeästi määriteltyä tila-toiminto-esitystä.

Yhteenveto ja seuraavat vaiheet

Tässä oppitunnissa:

  • Toteutimme yksinkertaisen Q-oppimisalgoritmin Pythonilla.
  • Koulutimme agentin liikkumaan ruudukkomaailmassa Q-taulukon avulla.
  • Arvioimme opitun politiikan ja visualisoimme Q-taulukon.

Seuraavaksi tutustumme syvään Q-oppimiseen, jossa neuroverkkojen avulla voidaan käsitellä ympäristöjä, joissa on paljon tila-toiminto-pareja.

Q-taulukon toteuttaminen Pythonissa — kuvitus 10
Aloita maksutta

Opi Python tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
53
Oppitunnit
225

Usein kysytyt kysymykset

Onko oppitunti ”Q-taulukon toteuttaminen Pythonissa” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Oppikaa tekoälyä Pythonilla-oppimispolun 3 oppituntia, myös oppitunnin “Q-taulukon toteuttaminen Pythonissa”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppikaa tekoälyä Pythonilla-kurssilla on yhteensä 5 oppituntia.

Mitä opin oppitunnilla ”Q-taulukon toteuttaminen Pythonissa”?

Yksinkertainen esimerkki Q-oppimisesta. Harjoittelet Oppikaa tekoälyä Pythonilla-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Oppikaa tekoälyä Pythonilla-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Oppikaa tekoälyä Pythonilla-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/5.

Kuinka kauan ”Q-taulukon toteuttaminen Pythonissa”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Oppikaa tekoälyä Pythonilla-oppitunnilla?

Kyllä. Jokainen Oppikaa tekoälyä Pythonilla-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Vahvistusoppimisen peruskäsitteet
  2. Q-taulukon käsite
  3. Q-taulukon toteuttaminen Pythonissa
  4. Syvä Q-oppiminen
  5. OpenAI Gymiin tutustuminen
← Takaisin: Oppikaa tekoälyä Pythonilla