본문 바로가기
Growth

머신러닝을 활용한 웹 최적화

by Diligejy 2022. 7. 4.

p.8

만족시켜야 하는 요구 사항은 물론 그것을 만족시키는 방법조차 분명하지 않은 상황에서의 유일한 해답은 사용자가 실제로 취하는 행동입니다. 사용자의 행동이야말로 사용자의 체험이 결과로 표출된 것이기 때문입니다. 사용자의 행동 변화가 데이터로 표현되어야 비로소 웹 서비스 성장을 정량적으로 평가할 수 있게 됩니다. 이는 개발자는 물론 사용자도 보지 못했던 웹 서비스의 형태에 관해 데이터를 통해 대화하면서 탐구하는 프로세스라고 생각할 수 있습니다. 개발자는 사용자의 행동을 관찰함으로써 얻은 통찰에 기반해 가설을 수립하고, 새로운 대책을 웹 서비스에 적용합니다. 그리고 사용자는 그 대책에 대해 반응함으로써 행동의 변화가 나타납니다. 개발자는 그 행동의 변화를 관찰함으로써 가설을 검증하고 새로운 통찰과 가설을 이ㅇ나갑니다. 이 가설 검증의 사이클을 반복하는 것이 문제는 물론 해결책도 명확하지 않은 상황에서 웹 서비스를 성장시키는 확실한 방법입니다.

 

p.31

모 전자상거래 사이트를 운영하는 주식회사 X에 근무하는 웹 마케터인 앨리스와 밥이 다음과 같은 A/B 테스트 보고서를 가지고 왔습니다. 이 보고서는 두 사람이 각자 담당하고 있는 상품 소개 페이지에 설치된 '자료 요청' 버튼의 클릭률을 높이기 위해 두 가지 디자인안(A안과 B안)을 준비하고 사용자에게 표시되게 하여 테스트한 데이터입니다. 엘리스와 밥은 다른 페이지를 담당하고 있으므로 두 사람이 이용한 A안과 B안도 서로 다릅니다.

앨리스의 보고서 A안 B안
표시횟수 40 50
클릭횟수 2 4
클릭률 5% 8%
밥의 보고서 A안 B안
표시횟수 1280 1600
클릭횟수 64 128
A안 5% 8%

양쪽 보고서 모두에서 B안의 클릭률이 A안의 클릭률보다 높은 결과가 나왔지만 앨리스와 밥의 보고서 각각에 대해 이 결과를 바탕으로 B안의 클릭률이 A안의 클릭률보다 높다고(그러므로 B안을 적용해야 한다고) 결론 내릴 수 있을까요?

 

p.33

 

p.34

여기서 우리는 하나의 큰 발상 전환을 하고 있다는 점에 주의하세요. 실제로 클릭하는 주체는 사용자인데 마치 디자인안이 클릭을 만들어내는 것처럼 본다는 점입니다. 디자인안에 관계없이 버튼이라면 무엇이든 누르는 사용자도 있을 것입니다. 집에 돌아와 편안히 쉬면서 웹브라우징을 하는 사용자와 업무 중 정보를 모으기 위해 서두르는 사용자의 행동이 보이는 경향은 크게 다를 것입니다. 그런 정보들은 그림의 어느 부분에 표현되어 있을까요?

 

한마디로 답하자면 앞의 그림에서 그런 정보들은 일단 무시했습니다. 이 데이터를 통해 우리가 알고자 하는 것은 각 디자인안이 가진 고유의 클릭률입니다. 물론 사용자마다 행동 경향이 다르며, 클릭을 하는 것은 사용자임에도 불구하고 그림에 표현하지 않은 것이 이상할 겁니다. 하지만 여기에서는 관심이 있는 사항에만 주목함으로써 논의를 간단하게 하고자 했습니다.

 

확실히 사용자마다 그 행동 경향이 다르고 시간대나 장소 등 다양한 요소가 복잡하게 얽혀 있겠지만 각 디자인안을 무작위로 사용자에게 표시함으로써 그와 같은 요소들을 원래 알고자 하던 효과와는 관계없는 불규칙한 요소로 처리하는 것입니다. 이는 실험을 설계할 때 매우 중요한 발상입니다.

 

p.36

확률 분포를 대표하는 변수를 파라미터(parameter)라고 부릅니다. 

 

파라미터는 확률 분포에 관해 커뮤니케이션할 때 매우 편리한 도구입니다. 제비뽑기 예에서 '파라미터 p = (0.6, 0.3, 0.09, 0.01)인 카테고리컬 분포'라고 표현하면 누구나 동일한 확률분포를 재현할 수 있습니다. 단, 확률 분포를 구성하는 파라미터는 확률 분포의 종류에 따라 다르므로 주의합니다.

 

p.39

이산값의 확률 분포에서는 세로축에 해당하는 값을 확률이라고 바꿔서 읽어도 문제가 없습니다. 그러나 연속값의 확률 분포의 세로축에 해당하는 값은 확률의 밀도이며, 관심 대상 확률 변수가 취하는 값의 범위를 생각해야 비로소 확률을 얻을 수 있습니다. a = 0, b = 0.5인 균일 분포에서 함숫값이 1을 넘는 것도 그 값이 확률이 아니라 밀도를 나타낸 것이기 때문입니다. 같은 확률분포라도 확률 변수가 이산값인지 연속값인지에 따라 다르게 나타나므로 이산 확률 분포를 나타내는 함수를 확률질량함수(probability mass function, PMF), 연속 확률 분포를 나타내는 함수는 확률밀도함수 (probability density function, PDF)로 구별해서 부릅니다.

 

p.41

어떤 함수가 확률 분포의 조건을 만족하도록 그 합으로 나누는 조작을 정규화(normalization)이라고 부릅니다.

 

p.42

이처럼 X = X_i, Y = Y_j 라는 두 사건이 동시에 발생할 확률 P(X = X_i, Y = Y_j)를 결합 확률(joint probability), 그 분포 p(X, Y)를 결합 분포(joint distribution)라고 부릅니다.

 

p.46

베이즈 추론에 관해 보다 분명한 이미지를 그릴 수 있도록 x, y와 같은 추상적인 변수명이 아닌 관측된 데이터를 의미하는 확률 변수 D와 알려지지 않은 파라미터를 의미하는 확률변수 theta를 다음과 같이 베이즈 정리를 이용해 표기해봅니다.

 

p(theta | D) = p(D | theta) * p(theta) / p(D)

 

베이즈 정리는 각 확률 변수의 관측 여부에 관계없이 항상 성립하지만 여기에서는 관측된 확률변수 D와 관측되지 않은 확률 변수 theta를 이용해 의미를 부여해서 응용하는 것이 베이즈 추론입니다.

 

이 베이즈 추론식을 이용해 구하려는 것은 p(theta | D)인 조건부 분퐁립니다. 이는 데이터 D가 주어진 상태에서 파라미터 theta의 확률 분포이므로 사후 분포(posterior distribution)라고 부릅니다.

 

베이즈 정리에 따르면 이 사후 분포는 p(D | theta)인 조건부확률과 p(theta)인 확률 분포를 곱한 뒤 이를 p(D)인 확률분포로 나누어 구할 수 있습니다. p(theta)는 사전 분포(prior distribution)라고 부르며, 데이터를 관측하기 이전의 파라미터 theta의 확률 분포를 의미합니다. p(D | theta)는 가능도 함수(likelihood function)라고 부르며, 파라미터 theta에 대해 데이터 D가 관측될 당연함의 정도를 의미합니다.

 

마지막으로 p(D)는 증거(evidence) 혹은 정규화 상수(normalizing constant)라고 부르며, 사후 분포가 확률 분포로서의 조건을 만족하도록 정규화 하는 역할을 합니다. 이 값은 p(D | theta) * p(theta)를 theta에 관해 줍녀화하여 얻을 수 있으므로 주변가능도(marginal likelihood)라고도 부릅니다. 

 

p.48

베이즈 추론 프레임으로 시점을 돌려보면 이 조건부 분포 p(r | theta)는 가능도 함수로 간주할 수 있습니다. 즉, '파라미터 theta가 주어졌을 때 클릭 r이 발생할 조건부 확률을 생각하는 것'에서 '클릭 r이 관측된 사실을 자연스럽게 설명하는 파라미터 theta를 생각하는 것'으로 시점을 옮긴다는 의미입니다. 이때 조건부 분포 p(r | theta)는 확률 변수 r의 함수인 것에 비해 가능도 함수는 파라미터 theta의 함수라는 점에 주의합니다. 또한 가능도 함수는 일반적으로 확률 분포로서의 조건을 만족하지 않습니다.

 

p.58

베이즈 추론의 편리한 점은 바로 이 확률 분포가 퍼지는 형태를 볼 수 있다는 것입니다. 클릭률은 단순히 클릭 수를 표시 횟수로 나누어서 계산할 수 있지만, 그것만으론 그 배경에 있는 확신의 강하기를 표현할 수 없습니다. 앨리스와 밥의 보고서에서도 볼 수 있듯이 비율일나느 점의 숫자만 보게 되면 얼마나 많은 데이터에 기반한 숫자인지 구별할 수 없습니다. 그러나 베이즈 추론을 이용해 확률 분포로 결과를 얻음으로써 그 결과가 우연히 얻어진 것인지 아니면 확신의 정도가 높은 것인지 평가할 수 있습니다.

 

앨리스와 밥 두 사람이 'A안의 클릭률은 5%, B안의 클릭률은 8%'라고 보고했다고 하더라도 그 숫자를 뒷받침하는 샘플의 크기가 다르면 그 주장을 뒷받침하는 증거의 강도도 달라집니다. 그리고 그 주장을 뒷받침하는 신념의 차이는 베이즈 추론 프레임에서는 사후 분포의 퍼지는 정도로 나타납니다. 표시된 사후 분포를 보면 앨리스의 보고서에서는 A안의 사후 분포와 B안의 사후 분포가 겹치는 부분이 크기 떄문에 오히려 A안이 B안보다 나을 가능성도 있을 수 있다고 보입니다. 한편 밥의 보고서에서는 A안의 사후 분포와 B안의 사후 분포에는 겹치는 부분이 거의 없고, 적어도 B안이 A안보다 클릭이 낮을 일은 없을 것이라는 점이 보입니다. 시각화를 통해 알 수 있는 이런 통찰을 정량적으로 평가하기 위해서는 어떻게 해야 할까요? 이제 통계적 가설 검정에 관해 알아봐야 할 때입니다.

 

p.60

지금까지는 디자인안을 한 번 표시하고 거기에서 얻은 한 번의 클릭 유무 r을 고려했습니다. 이와 달리 이번에는 어떤 디자인안을 N번 표시했을 때 얻어지는 클릭 횟수 합계 a를 고려해봅니다.

단, 여기에서도 분석자는 디자인안 고유의 클릭률 theta를 여전히 알지 못한다는 점에 주의합니다. 그리고 N번 모두 동일한 디자인안을 표시하고, 각 시행 사이에는 아무런 관련이 없다고 가정합니다. 즉, 매번 같은 확률분포이므로 이전 시행 결과와 관계없이 데이터가 생성된다는 것입니다. 이처럼 데이터가 생성되는 성질을 독립 동일 분포(independent and identically distributed - i.i.d)라고 부릅니다.

댓글