A/B 테스팅과 MAB 알고리즘

전유진·2022년 3월 30일
0

통계/알고리즘

목록 보기
1/2

A/B 테스트

A/B 테스트는 두 가지 방법 A와 B 중 어떤 것이 더 나은지를 입증하기 위해 실험군을 두 그룹으로 나누어 진행하는 실험입니다. 마케팅 분야에서 실제로 자주 사용되는 테스트이며, 예를 들어 다음 경우가 있습니다다.

​ 두 가지 광고 소재 A, B를 가지고 광고를 집행했을 때 어느 소재가 더 좋은 광고 성과를 가져오는가?

전통적인 의미의 통계적 실험에서 위 테스트를 통해 얻고자 하는 것은 '소재 A와 B의 차이가 통계적으로 유의한가?'라는 질문에 대한 답일 것입니다.

그러나 이러한 질문에 확실한 답을 내리기에는 현실적인 어려움들이 존재합니다:

  • 두 소재 간에 성과 차이가 발생했지만 그것을 통계적으로 입증할만한 크기의 표본이 없다.
  • 혹은 시간, 비용의 한계로 광고를 충분한 기간 송출하지 못했다.
  • 실험을 하다보니 갑자기 두 소재 이외에 다른 여러 소재들로도 테스트를 해보고 싶다.

이러한 현실을 반영하기에 A/B테스트와 같은 전통적인 통계적 접근은 다소 유연하지 못하다는 단점이 있습니다. 또한 실무에 직면한 요즘 데이터과학자들의 입장에서는 통계적 유의성보다 비용 절감이나 성과 최적화가 더 중요하고 시급한 문제로 다가옵니다. 따라서 위와 같은 질문보다는 '여러 가지 소재들 중 가장 효과적인 소재는 무엇일까?' 와 같은 명시적인 질문에 더 관심을 갖게 됩니다. 이러한 상황에서 우리는 멀티암드 밴딧 알고리즘이라는 실험방법을 고려해볼 수 있습니다.

멀티암드 밴딧 알고리즘

멀티암드 밴딧(Multi Armed Bandit, MAB) 이란, 여러 개의 레버(손잡이)가 달린 가상의 슬롯머신을 의미합니다. 어떤 레버를 당기느냐에 따라 얻을 수 있는 수익이 다르다는 점에서 이 슬롯머신은 다중 처리 실험에 비유됩니다. 소재 테스트의 예시를 가져와보면, 각 소재는 레버(arm)에 해당하고, 각 소재로 광고를 운영했을 때 발생하는 광고 성과는 레버를 당겼을 때 얻는 수익이 됩니다. 멀티암드 밴딧 알고리즘은 A/B 테스트와 같은 전통적인 통계적 실험보다 명시적인 최적화와 빠른 의사결정을 할 수 있게 해주며, 여러 가지 대안에 대한 테스트 용도로 자주 사용됩니다.

광고를 운영함에 있어서 우리의 목표는 "가능한 한 적은 광고비용을 지불하면서 가능한 한 많은 사람이 광고를 보고, 제품을 구매하는 것"입니다. 여기서 전제는 적은 비용 투입이기 때문에 다양한 소재의 광고를 모두 운영할 수는 없습니다. 그러나 실제로 집행해보지 않고는 각 소재별 성과를 알 수가 없습니다.

1) Greedy 전략

우리는 가지고 있는 소재 A, B, C 모두를 테스트 운영해보기로 합니다. 2주동안 네 소재의 광고가 송출되었습니다. 그 결과 14일 중 9일은 A 광고의 성과가 가장 높았고, 3일은 B 광고, 하루는 C광고의 성과가 가장 높았습니다. 단순하게 생각하면 A소재의 성과가 가장 좋으니 A만 운영하고 나머지는 종료하자, 라는 결론을 도출할 수 있습니다. 하지만 과연 2주의 기간이 충분한 테스트 기간일까요? 만약 몇 주 더 테스트를 진행했을 때 B의 성과가 더 좋은 날이 많다면? C의 성과가 가장 좋다면? 우리는 이 사실을 발견할 기회를 놓치게 되는 것입니다.

2) epsilon-Greedy 전략

탐색과 활용은 MAB알고리즘의 핵심 문제입니다. 위의 경우처럼 충분한 탐색을 거치지 않고 내리는 결정은 확률론적으로 좋은 선택이라고 할 수 없습니다.

이에 대한 하나의 대안은 4개의 광고를 일정한 확률(epsilon)로 선택 송출하도록 하는 것입니다. 예를 들면 동전을 던져 앞면이 나오면 테스트 운영 기간 중 성과가 가장 좋았던 A광고를 송출하고, 뒷면이 나오면 나머지 B, C 광고 중 어느 하나를 랜덤으로 선택해 송출하는 식입니다. 이 전략은 최고의 성과를 보여준 광고소재 이외에 다른 광고소재들에게도 기회를 주기 때문에 첫 번째 방법보다는 더 합리적으로 보입니다. 확률적으로 전체적인 광고 성과도 더 좋을 것입니다. 그런데 이렇게 특정 확률값을 고정으로 주어주고 그 안에서 랜덤으로 선택하는 방식이 최선일까요? 각 소재의 광고가 가장 높은 성과를 보일 가능성을 계산해 그 가능성에 따라 선택하는 것은 어떨까요?

3) UCB(Upper Confidence Bound)

앞으로 운영될 광고에서 발생하는 성과는 특정 분포에서 얻게 되는 랜덤변수이기 때문에 지금 순간에 경험적으로 높은 성과를 보이는 소재를 선택하는 것은 최적의 선택이 될 수 없습니다. MAB는 이러한 문제를 해결하기 위해 지난 광고성과에 의거해 평균적인 성과가 높은 소재를 선택하되, 실시간으로 몇가지 확률들을 고려해 앞으로의 성과가 높을 가능성을 수치로 계산하여 지금 송출할 광고소재를 선택하게 됩니다.

이 선택 방식은 톰슨샘플링(Thompson Sampling) 알고리즘에 착안합니다. 톰슨 샘플링은 가치를 직접 추정하는 대신 가치의 분포를 추정하고, 행동을 선택할 때는 이 분포로부터 가치를 무작위 추출해서 가장 가치가 높은 행동을 선택합니다. 이후 받은 보상(결과)으로부터 베이즈 정리를 활용해 가치의 분포를 업데이트합니다. 즉, 1) 각 광고 소재들의 성과를 포아송분포를 따르는 확률변수로 보고 동일한 파라미터를 가지는 분포로 전부 초기화한 후 2) t시점에서의 각 광고 성과의 확률분포로부터 랜덤 추출한 성과값이 가장 큰 광고소재를 선택해 송출하고, 3) 광고를 집행하면서 발생하는 광고 성과를 바탕으로 각 분포를 계속 업데이트하게 되는 것입니다. t 가 커질수록 각 광고의 분포는 수렴하여 분산이 작아질 것이고, 초기에 분산이 높아 모든 광고의 탐색이 활발했을 때에 비해 점점 기댓값이 높은 광고 위주로 송출되게 됩니다.

정리하며

MAB 알고리즘은 보상을 알 수 없는 K개의 선택지가 존재하는 경우 탐색과 활용을 적절히 조절해 최종 (장기적) 보상의 총합을 최대화하는 문제라고 볼 수 있습니다.

profile
나는야 데이터쟁이

0개의 댓글