시작하기무료로 시작하기

멀티 암드 밴딧 만들기

멀티 암드 밴딧 문제는 Reinforcement Learning에서 자주 사용하는 고전적인 예시로, 에이전트가 각 행동(또는 "arm")의 기대 보상을 모르는 상태에서 여러 행동 중 하나를 선택해야 하는 상황을 설명해요. 시간이 지나면서 에이전트는 각 선택지를 탐색하여 어떤 arm이 가장 높은 보상을 주는지 학습하게 됩니다. 이 연습 문제에서는 멀티 암드 밴딧 문제를 시뮬레이션하기 위한 기본 구조를 설정해 볼 거예요.

numpy 라이브러리는 np로 임포트되어 있어요.

이 연습은 강의의 일부입니다

Python으로 배우는 Gymnasium 기반 Reinforcement Learning

강의 보기

연습 안내

  • 각 밴딧의 실제 성공 확률을 나타내는 무작위 확률로 구성된 배열 true_bandit_probs를 생성하세요.
  • 두 배열 countsvalues를 0으로 초기화하세요. counts는 각 밴딧이 선택된 횟수를 추적하고, values는 각 밴딧의 추정 승리 확률을 나타냅니다.
  • 반복마다 획득한 보상과 선택한 arm을 저장할 rewardsselected_arms 배열을 만드세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

def create_multi_armed_bandit(n_bandits):
  	# Generate the true bandits probabilities
    true_bandit_probs = ____ 
    # Create arrays that store the count and value for each bandit
    counts = ____  
    values = ____  
    # Create arrays that store the rewards and selected arms each episode
    rewards = ____
    selected_arms = ____ 
    return true_bandit_probs, counts, values, rewards, selected_arms
코드 편집 및 실행