본문 바로가기
성장하기

[서평] 머신러닝을 활용한 웹 최적화

by 예시카의 일상 블로그 2021. 7. 26.

#머신러닝 #웹최적화 #AB테스트 #메타휴리스틱 #베이즈최적화 #베이즈추론 #가설검증 #다중슬롯머신 #MAB #실용통계

사용자에게 어떤 콘텐츠를 보여줘야 할지 고민될 때 어떻게 해야 할까? 예전에는 내부 의사결정자들에게 보고를 하고 결정했었다. 하지만 이제는 실제 사용자 반응을 기반으로 웹사이트 최적화를 진행할 수 있다. 이러한 데이터 기반의 의사결정 방법론인 그로스 해킹 마케팅이 보편화되면서 A/B테스트를 진행하는 경우가 많아졌다. 

실력 있는 마케터라면 A/B테스트로 대표되는 웹 최적화 테스트 실험 환경을 잘 설계하고, 결과를 제대로 분석할 수 있어야 한다. 그렇지 않으면 과학적 실험을 한다는 착각 하에 잘못된 의사결정을 내릴 수도 있다. 그런 의미에서 어려운 통계지식을 실무자 관점에서 쉽게 설명해 주는 책이 나와서 정말 반가웠다. 

이 책의 저자 이쓰카 슈헤이는 통계의 기본도 모르던 웹 엔지니어였다. 하지만, 사용자에게 더 나은 경험을 제공하겠다는 목표로 A/B테스트를 하면서 수리적인 가설 검증 방법을 스스로 연구하면서 터득했다. 이처럼 비전공자가 실무를 진행하면서 익혔던 주요한 통계 개념을 정리해 줬다는 점에서 매우 실용적이다. 

이 책의 주요 독자는 '통계학이나 머신러닝에 입문하고 싶은 웹 엔지니어'와 '웹 마케팅을 담당하는 마케터'이다. 그밖에도 머신러닝을 실무적으로 응용하는 방법에 관심이 있거나, 사용자와의 상호작용 데이터를 해석하는 방법에 흥미가 있는 분들에게도 유익할 것이다. 

책의 주요한 목차를 훑어보면 아래와 같다. 

[챕터 1] A/B 테스트부터 시작하자: 베이즈 통계를 이용한 가설 검정 입문
- 베이즈 추론을 기반으로 의사결정하는 방법과 실험 설계의 기본 원칙을 설명한다. 

[챕터 2] 확률적 프로그래밍: 컴퓨터의 도움을 받자
- 마르코프 연쇄 몬테카를로 알고리즘을 사용해서 프로그래밍을 중심으로 베이즈 추론을 하는 방법을 소개한다. 

[챕터 3] 조합 테스트: 요소별로 분해해서 생각하자
- A/B테스트 전개 후 그 대책이 가지고 있는 몇 가지 조합 구조를 설명한다. 선형 모델을 사용해 적은 수의 데이터로도 효율적으로 가설 검정을 하는 방법을 소개한다. 

[챕터 4] 메타 휴리스틱: 통계 모델을 사용하지 않는 최적화 방법
- 특정한 모델을 가정하지 않는 접근 방식일지라도 높은 효율로 탐색이 가능함을 확인하고, 동시에 사람과 컴퓨터가 대화하면서 최적의 답을 발견해나가는 대화형 최적화 방안을 제시한다. 

[챕터 5] 슬롯머신 알고리즘: 테스트 중의 손실에도 대응하자
- A/B테스트가 끝난 후에 의사결정을 하는 것이 아니라, 실험을 진행하면서도 순차적으로 의사 결정을 하는 발상 전환의 다중 슬롯머신 문제와 해법을 제시한다. 

[챕터 6] 조합 슬롯머신: 슬롯머신 알고리즘과 통계 모델의 만남
- 순차적인 의사결정을 내리는 선형 모델을 도입한 슬롯머신 문제를 다룬다. 이는 보다 빠른 최적화, 개인화로 확장될 수 있음을 설명한다. 

[챕터 7] 베이즈 최적화: 연속 값의 솔루션 공간에 도전하자
- 선형 모델을 한층 유연한 모델인 가우스 과정으로 확장함으로써 보다 복잡한 문제에도 슬롯머신 알고리즘을 적용할 수 있음을 보여준다. 그 결과 메타 휴리스틱 해법으로 베이즈 최적화에 거는 기대를 설명한다. 

[챕터 8] 앞으로의 웹 최적화
- 웹 최적화로 해결되지 않은 남아있는 과제들에 대해서 설명한다. 

이 책의 특징은 기본 개념을 분절화하여 각각을 쉽게 이해시킨 후, 기본 개념들을 하나씩 얹어가는 설명 방식을 취하고 있다. 그래서, 잘만 따라가면 개념을 이해하기가 매우 수월하다. 

이 중에서도 가장 큰 도움이 되었던 부분은 [챕터 6] 6.5 LinUCB 알고리즘에 대한 설명이었다. 최근에 모두의연구소 BRS(Bandit Recommendation System) Lab에서 LinUCB 알고리즘을 공부했지만 잘 이해되지 않았다. 그러나, 이 책의 개념 분절화 방식을 통해서 쉽게 이해할 수 있었다. 예를 들면, 기댓값이 나타내는 '유망함'에 분산이 나타내는 '불확실함'을 추가하면 선형 회귀 모델 상의 UCB 알고리즘, 즉 LinUCB 알고리즘을 구상할 수 있음을 쉽게 이해할 수 있게 되었다. 

또한 각 챕터의 맨 앞장에 '마케팅 회의'라는 섹션을 두어서, 독자들의 흥미를 유도하고 있다. 지금 챕터에서 설명하고자 하는 주요 개념이 실무에서 어떤 경우에 활용할 수 있는지 구체적으로 설명해 주고 있다. 이런 점에서 실제로 업무를 하는 웹 엔지니어와 웹 마케터 입장에서는 벌어진 상황이 실제 상황과 유사하므로 몰입이 잘 될 것이다. 또한 이를 풀어나가는 과정도 친근하게 설명해 주고 있으므로 쉽게 따라가면서 이해도를 높일 수 있다. 

가장 좋았던 부분은 [챕터 8] 8.1 단기적인 평가와 장기적인 평가 부분이었다. 현실에서 단기 지표와 장기 지표의 충돌은 자주 발생한다. 그러므로, 장기적인 지표 개선을 위해서 단기 지표를 희생한다는 결정을 하더라도 이를 통해 장기적인 지표가 개선된다는 예측을 할 수 있는지가 관건이다. 이렇게 항상 고민되는 단기 지표와 장기 지표의 충돌 문제와 이에 대한 해결 방안 제시는 정말 신선했다. 이 문제를 해결한 논문의 저자들은 과거 100개 이상의 실험 결과를 이용해 단기적으로 측정할 수 있는 지표로부터 장기적인 광고 클릭률을 예측하는 머신러닝 모델을 구축했다고 한다. 이 머신러닝 모델을 도입하면 단기적으로는 수익성이 낮아질지 모르나 장기적으로는 좋은 효과를 가진 대책을 (믿고) 선택할 수 있게 된다. 

마지막으로 인상적이었던 부분은 [챕터 8] 8.1.1 반복 사용자를 고려한 최적화 부분이었다. A/B테스트 의사결정이 내려져서 웹 서비스의 인터페이스를 바꾸기로 결정할 때, 우리가 간과하기 쉬운 점이 있다. 바로 기존의 반복 사용자들이 지불해야 하는 새로움에 대한 학습 비용이다. 신규 사용자들에게는 이전에 학습된 것이 없기 때문에 결정이 쉽게 날 수 있지만, 기존의 반복 사용자들에게는 익숙해진 불편함을 버리고, 낯선 편리함을 채택해야 한다. 이 결정이 옳은 것일까? 이 부분에 대한 솔루션으로 웹 최적화를 강화 학습으로 보고, 기존 사용자가 가진 상태를 다루는 기법을 제안하고 있다. 정말 신박한 아이디어라고 생각되었다.  

이 책을 통해서 기존에 A/B테스트를 진행하면서 내가 뭘 모르고 있는지도 모르고 어설프게 알고 있는 방식의 실험만 반복했었다는 것을 알게 되었다. 저자의 다양한 경험을 통해서 스스로 공부하고 정리한 내용을 통해서 제대로 체계를 잡을 수 있어서 많은 도움이 되었다. 앞으로 다양한 실험 설계를 통해서 웹 최적화를 제대로 해 보고 싶은 웹 엔지니어와 웹 마케터라면 이 책을 천천히 정독하고 실제 업무에 적용해 보기를 추천한다. 

 

머신러닝을 활용한 웹 최적화 - 한빛 미디어

 

※  한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

'성장하기' 카테고리의 다른 글

[서평] 실리콘밸리 리더십  (0) 2021.08.16
[서평] 크래프톤 웨이  (0) 2021.08.08
[서평] 아마존의 팀장 수업  (0) 2021.07.15
[서평] 아이디어를 현실로 만드는 기획력  (0) 2021.07.05
[서평] 퀀텀 마케팅  (0) 2021.06.25

댓글