본문 바로가기

MAB14

Contextual Bandits - LinUCB 금번 포스팅을 시작하면서 multi-armed bandit 포스팅의 초반부를 상기시켜보겠습니다. Bandit을 크게 stochastic, non-stochastic으로 분류했고, 그 다음 분류는 context-free, context로 분류했습니다. 지금까지 살펴본 ε-greedy, UCB, Thompson Sampling의 알고리즘은 context-free에 해당하는 방법이었습니다. 즉 action을 선택하기 앞서 주어진 환경을 전혀 고려하지 않고 매시도 독립적으로 의사결정을 해왔습니다. 이번 포스팅에서는 context를 고려하는 contextual bandits, 그 중에서도 가장 유명한 Li, Lihong, et al., 2010의 LinUCB를 살펴보겠습니다. 어떠한 형태의 co-work도 환영합.. 2021. 1. 30.
Bayesian Bandits - Thompson Sampling 이번 포스팅은 Bayesian Bandits을 살펴보려고 합니다. 특히 Bayesian Bandits 중 대표적인 알고리즘인 Thompson Sampling을 부제로 선정했습니다. :) On The View of Bayesian Frequentist는 확률을 상대빈도의 관점으로 바라보지만, Bayesian은 확률을 어떤 사건에 대한 믿음의 정도로 해석합니다. 동전을 던져서 앞면이 나올 확률에 대해서 Frequentist는 "10000번 던지면 앞면이 5000번 나온다."고 해석하는 것이고, Bayesian은 "경험에 의하면 앞면이 나온다고 50% 믿는다."라고 해석합니다. Prior vs. Posterior Probability? 위 예시에서 Bayesian의 멘트 중 "경험에 의하면"이라는 문구가 있습.. 2021. 1. 14.
Stochastic Bandits (3) - UCB (Upper Confidence Bound) 이번 포스팅은 Stochastic Bandits 그리고 Frequentists 관점의 연속입니다. 직전 포스팅에서는 reward의 확률 분포를 Point Estimation하는 관점에서 살펴보았고, 대응하는 알고리즘으로는 ε-greedy를 살펴보았습니다. 이번 포스팅에서는 Interval Estimation하는 관점의 algorithm인 Upper Confidence Bound Algorithm (UCB Algorithm)이 메인입니다. Point Estimation vs. Interval Estimation Frequentist의 확률 철학은 많은 시도를 반복했을때 사건이 발생한 상대빈도를 의미한다고 했습니다. 이러한 상대빈도를 추청하는 방식에는 크게 두가지 방식이 있는데, Point Estimatio.. 2021. 1. 3.
Stochastic Bandits (2) - ε-greedy 이전 포스팅에서 Stochastic Bandits에 대한 개요를 다루었습니다. 짧게 Reward에 확률 분포를 가정하는 MAB라고 요약 할 수 있습니다. 이번 포스팅에서는 Reward의 확률 분포를 Frequentist의 관점에서 point estimation하는 방법을 다루려고 합니다. 대표적인 알고리즘은 ε-greedy이고, 부제로 선정했습니다. :) On The View of Frequentist Frequentist, Bayesian의 구분은 확률을 해석하는 철학적인 차이입니다. Frequentist는 확률을 상대빈도의 관점으로 바라보며, 이는 많은 시도를 했을때 사건(Event)이 발생한 상대빈도로 확률을 정의합니다. 반면 Bayesian은 확률을 어떤 사건(Event)에 대한 믿음의 정도를 정.. 2020. 12. 18.
Stochastic Bandits (1) - Introduction Introduction to Multi-armed Bandit (1), (2)에서 MAB가 무엇이고, 목적은 어떤 것인지에 대해 살펴보았습니다. 본격적으로 MAB를 푸는 Algorithm을 소개하려고합니다. Algorithm의 첫 주제로는 Stochastic Bandits이란 이름으로 Multi-Armed Bandits의 중간 session을 열었습니다. 시작하겠습니다. 이번 포스팅에서는 Stochastic Bandits이란 무엇이고, Stochastic Bandits이라는 큰 틀 안에서 최적의 arm을 찾기 위해 approach에 대한 scketch를 한 후, 이어질 포스팅에서 UCB, Thompson Sampling, linUCB 등 저명한 알고리즘을 다루겠습니다. Formulation MAB는 ar.. 2020. 12. 9.
Introduction to Multi-Armed Bandits (2) 직전 포스팅에서 MAB 개요 중, MAB, Exploration-Exploiation Trade-off, Application Example등을 살펴보았습니다. 이번 포스팅에서는 본격적으로 MAB Algorithm을 다루기 앞서 (1) 제 블로그를 읽어가기 위한 notation에 대한 framework을 제시하고, (2) 앞으로 다루게될 MAB Algorithm와 대응하는 branches를 제시해보고자 합니다. Glossaries and Notation of MAB 앞으로 다룰 MAB 문제를 풀기위한 알고리즘 설명을 위한 용어와 수식 notation을 정리해보겠습니다. 행동의 주체를 Bandit, Player, Agent라고 합니다. 이 Player는 매 라운드별 행동을 선택합니다. 이때 라운드는 rou.. 2020. 12. 2.
Introduction to Multi-Armed Bandits (1) 오늘 포스팅을 시작으로 Multi-Armed Bandits (MAB)에 대하여 차근차근 정리하고자 합니다. 며칠전 예고(?)와 같이 제가 느끼기엔 MAB에 대하여 스토리가 있게 체계적으로 풀어가는 글들을 찾기가 어려웠고, 작게나마 MAB를 recommendation에 적용하길 고민하고 계시는 분들과 연구를 목적으로 기본적인 틀을 잡을 수 있는데 도움이 되길 바랍니다 :) Multi-Armed Bandit? 먼저 MAB란 무엇일까요? 단어를 두덩이로 쪼개서 보면, "multi-armed" + "bandit"으로 살펴볼 수 있습니다. 직역하면 "팔이 많은 강도"라는 뜻입니다. 어떤 팔이 많은 강도가 슬롯머신 $K$개 위에 팔을 모두 올려놨습니다. 그런데 이 강도는 팔이 많지만, 한 번에 딱 하나의 팔을 선택.. 2020. 12. 1.
Multi-Armed Bandits 곧 추천시스템(Recommendation System)에서 활용가능한 관점의 Multi-Armed Bandits에 관한 포스팅이 하나둘 써내려갈 예정입니다. 많은 관심부탁드립니다. 많은 분들이 공감하시겠지만, $\epsilon$-greedy, UCB (Upper Confidence Bound), TS (Thompson Sampling)등 토막토막의 MAB관련된 글들은 영문이든, 국문이든 구글에서 쉽게 찾아볼 수 있지만, MAB의 큰틀을 제시해줄 수 있는 문서가 부족합니다. 앞으로 이어질 포스팅 하나하나를 연결하고 큰 밑그림을 그려가는 작업이 순탄하지는 않았고, 부족한 점이 많을 것으로 생각됩니다. 그럼에도 불구하고 많은 피드백을 주시면 정말 감사하겠습니다. ㅎㅎ 곧 찾아뵙겠습니다. 감사합니다:) yjjo.. 2020. 11. 26.
Markov Decision Process (2) - Bellman Equation 이번 포스팅에서는 저번 포스팅에서 살펴본 Value function과 Bellman Equation, 그리고 행동전략인 정책 (Policy)을 정의하여 MDP를 푸는 방법을 살펴보고 강화학습의 뼈대인 MDP를 마무리하도록 하겠습니다. Policy 에이전트와 환경의 상호과정 속 에이전트는 상태를 확인하고 이에 맞는 행동을 합니다. 이렇게 에이전트가 특정 상태에서 어떤 행동을 할 것 인지를 확률로 정의하는 것을 정책(policy)이라고 합니다. (사실 확률이라는 용어를 사용했지만 선호도에 가깝긴합니다.) $$\text{policy}=\pi(a|s)$$ 정책을 확률로 정의하면서 우리는 앞에서 정의한 return의 기대값을 구할 수 있게 됩니다. Bellman Equation Bellman Equation은 이.. 2019. 10. 3.
Markov Decision Process (1) - 개요 이번 포스팅에서는 강화학습의 골격을 잡아주는 Markov Decision Process (MDP)의 개요에 대해 알아보겠습니다. MDP의 가치함수 정의 및 최적 정책결정에 대해서는 다음 포스팅에서 자세히 다루겠습니다. MDP는 순차적 의사결정 (sequential decision process)을 하기 위한 아주 고전적인 방법론입니다. 이전 포스팅에서 살펴보았듯 강화학습은 에이전트가 환경과 상호작용을 하며 보상을 최대화하는 방향으로 학습합니다. 이렇게 상호작용의 과정을 순차적으로 나타낼 수 있기 때문에 강화학습문제를 MDP로 정의 할 수 있습니다. 강화학습은 문제를 MDP로 정의하는 것으로 출발하기 때문에 MDP는 강화학습 전반에 걸쳐서 중추적인 역할을 합니다. Agent-Environment Inter.. 2019. 10. 2.
Multi-Armed Bandit for RL(3) - Gradient Bandit Algorithms 이번 포스팅에서는 Gradient Bandit Algorithms에 대해 알아보겠습니다. 내용은 심플한데 업데이트 알고리즘을 유도하는 과정이 조금 복잡합니다. 유도하는 과정을 이해하지 않더라도 충분히 적용가능하니 유도하는 내용은 취사적으로 읽어보면 좋을 것 같습니다. Gradient Bandit Algorithm MAB(2)에서는 action value 이용한 행동 선택 전략을 알아봤습니다. 물론 좋은 방법이지만 당연히 action value가 아닌 다른 방법으로도 행동 선택 전략을 수립할 수 있습니다. 또 다른 대표적인 행동 선택 전략은 선호도(preference)를 이용하는 gradient bandit algorithm입니다. $H_{t}(a)$를 $t$ 시점에서 행동 $a$의 선호도로 정의하겠습니다.. 2019. 9. 17.
Multi-Armed Bandit for RL(2) - Action Value Methods 이번 포스팅에선 이전 포스팅에서 다룬 MAB의 행동가치함수기반 최대보상을 얻기위한 행동선택법을 취하는 전략을 살펴보겠습니다. Action Value Methods 큰 제목은 action value methods입니다. 즉 행동가치함수 기반 행동을 취하는 전략의 모음입니다. 기본적으로 action value methods는 행동가치가 큰 쪽으로 행동을 취합니다. 행동가치함수가 $t$ 시점에서 $Q_{t}$로 추정되었다는 대전제 아래 차근차근 살펴보겠습니다. Greedy Action Selection 뼈대가 되는 방법은 탐욕 행동 선택법(greedy action selction)입니다. 탐욕 행동 선택법은 각 시점에서 기대보상이 최대인 행동을 취하는 전략 방법으로 아주 심플합니다. 가볍게 수식으로 정리하면,.. 2019. 9. 15.
Multi Armed Bandit for RL(1) - 개요 이번 포스팅에서는 Multi Armed Bandit (MAB)을 다루려고 합니다. 다만 여기에서는 Reinforcement Learning으로 나아가기 위한 관점에서 서술합니다. (철저한 MAB 관점의 글은 이곳에서 확인할 수 있습니다.) MAB은 엄밀하게 강화학습은 아니지만, 강화학습으로 나아가기 위한 과도기적 방법이고, 적용이 간편하여 널리 사용되고 있습니다. Multi Armed Bandit (MAB) MAB 정의 MAB 정의는 굉장히 심플합니다. 아래 그림과 같이 살펴보겠습니다. MAB는 위 상황으로부터 출발합니다. k개의 슬롯머신이 있는데 에이전트는 각 시도 마다, k개중 단 1개의 슬롯을 당겨 최종적으로 최고의 보상을 얻고 싶은 상황을 말합니다. 다시 말하면 에이전트가 1000번의 게임을 하는.. 2019. 9. 15.
강화학습개요 이번 포스팅에선 강화학습이 무엇이고, 머신러닝의 큰 틀 안에서 어떤 포지션을 잡고 있는지 살펴보겠습니다. 강화학습개요를 시작으로 강화학습의 전반적인 내용을 다룰 생각입니다. 강화학습개요 강화학습이란? 강화학습(Reinforcement Learning)은 머신러닝의 한 영역으로 행동심리학에서 영감을 받은 방법입니다. 어떤 환경(Environment)안에서 행동의 주체인 에이전트(Agent)가 선택 가능한 행동(Action)들 중 보상(Reward)을 최대화하는 행동 또는 행동 순서를 선택하도록 학습하는 방법입니다. (Wikipedia, Reinforcement Learning) 머신러닝의 한 영역 치고는 새롭게 등장하는 용어(환경, 에이전트, 행동, 보상)가 많아서 잘 와닿지 않을 것 같습니다. 이번 포스.. 2019. 9. 12.