1. Example: Targeting Online Consumers with Advertisements
Targeting online display advertisements to consumers based on what webpages they have visited in the past (과거에 방문한 웹 페이지에 기반해서 고객에게 온라인 광고를 타켓팅)
-> inferring the value of an instance’s target variable from the values of the instance’s features. (사례들의 특성값을 이용하여 사례들의 타겟변수값을 추론)
Campaign for the Upscale Hotel Chain, Luxhotel
1.1 캠페인 예시: 고급 호텔 체인 ‘Luxhotel’
문제 상황: Luxhotel은 과거 온라인 광고를 무작위로 노출하여 마케팅 캠페인을 진행했음.
목표: 무작위 노출이 아닌, 광고를 보고 실제 예약할 확률이 높은 고객에게만 광고를 노출해 “광고 효율(광고당 예약률)”을 높이고자 함.
1.2 인스턴스, 타겟 변수, 특징(피처)의 정의
인스턴스: 온라인 환경에서 광고를 노출받는 ‘소비자(고객)’.
타겟 변수: 고객이 광고를 본 후 일주일 이내에 Luxhotel을 예약했는지 여부(예약 O / 예약 X).
특징(피처): 고객이 과거에 접속하거나 열람했던 웹페이지/컨텐츠(예: 금융, 스포츠, 엔터테인먼트 등).
1.3 훈련 데이터 생성
과거의 캠페인 기록을 통해, “광고를 노출받은 후 실제로 예약했는지” 여부와 “방문 컨텐츠”를 수집.
이를 이용해, “특정 패턴을 보이는 고객이 호텔을 예약할 확률”을 학습하고자 함
2. Combining Evidence Probabilistically
What is the probability that if you show an ad to just any consumer, she will book a room?
p(C): 광고를 본 고객 C가 예약(책임)할 확률(사전확률, prior). p(C∣E): 특정한 웹 방문 패턴(증거 E)을 가진 고객 C가 예약할 확률(사후확률, posterior).
If we are considering thousands of different websites, what is the chance that in our training data we have seen a consumer with exactly the same visiting patterns as a consumer we will see in the future?
Then how can we get p(C|E)?
2.2 Bayes' Rule
p(H∣E)=p(E)p(E∣H)⋅p(H)
p(H∣E) : 증거 E가 주어졌을 때, 가설(또는 특정 클래스) H가 참일 확률(사후확률).
p(E∣H) : H가 참일 때 E가 나타날 확률(가능도, Likelihood).
p(H) : 사전확률(Prior), 추가 증거를 보기 전 H가 참일 것으로 기대되는 정도.
p(E) : 증거 E가 일어날 전체 확률(Marginal likelihood).
예시: “홍역 여부(H)에 대한 증거(붉은 반점 E) 관찰”
p(measles∣red spots) 직접 추정은 어려우나, 베이즈 정리를 이용해 p(red spots∣measles)⋅p(measles)/p(red spots) 로 간접 추론할 수 있다.
가능도는 어떻게 구하는 걸까?
생각해보면 사후확률을 구하기 위해서 사전확률/가능도/ 전체확률을 알아야 하는데, 사전확률은 맘대로 정하는거니까 그렇다고 쳐도 , 가능도는 어떻게 구하는 것일까?
모델(분포)을 정한다.
데이터를 어떻게 생성했는지에 대한 확률적 모델(예: 정규분포, 베타분포, 이항분포 등)을 설정합니다.
예를 들어, “실험 결과(데이터)는 평균 μ, 표준편차 σ인 정규분포에서 나왔다.”라고 가정할 수 있습니다.
또는 “관측된 데이터는 ‘동전을 n번 던졌을 때 앞면이 나온 횟수’이며, 동전의 앞면이 나올 확률은 p이다.”와 같은 이항분포 모델로 가정할 수도 있습니다.
파라미터 θ에 따른 데이터 X의 확률(밀도함수)을 쓴다.
모델을 정하면, ‘θ가 주어졌을 때 X가 나올 확률(또는 확률밀도)’이 식으로 표현됩니다.
예: 정규분포 N(μ,σ2)에서 데이터 x 하나가 관측될 확률밀도함수는
f(x∣μ,σ)=2πσ1exp(−2σ2(x−μ)2).
예: 이항분포에서, 성공확률 (p)를 갖는 실험을 (n)번 하여 성공 횟수가 (k)회가 나올 확률은
P(X=k∣p)=(kn)pk(1−p)n−k.
관측된 데이터가 여러 개일 경우, 독립이라고 가정하면 각 확률(밀도)을 곱한다.
여러 데이터 샘플 x1,x2,…,xN이 독립적으로 같은 분포에서 나왔다는 가정이라면,
P(X∣θ)=i=1∏Nf(xi∣θ).
이렇게 만들어진 식을 가능도 함수(likelihood function)라고 부릅니다.
‘θ에 대한 함수’로 해석한다.
위 식을 θ에 대한 함수로 보면, θ의 값에 따라 ‘이미 관측된 (X)가 얼마나 잘 설명되는지(얼마나 가능성 있는지)’를 나타내는 값이 됩니다. 이 함수를
L(θ)≡P(X∣θ)
라고 쓰고, 이를 likelihood(가능도)라고 부릅니다.
2.2 Bayes'Rule(2)
p(C=c∣E)=p(E)p(E∣C=c)⋅p(C=c)
p(C =c |E):
사후확률(Posterior). “특정 증거(E)가 관측된 후, 클래스 c가 될 확률”을 의미합니다.
p(C=c):
사전확률(Prior) 아직 증거(E)를 보기 전에, 클래스 c가 될 것이라고 예상하는 확률”입니다.
p(E|C=c):
가능도-> 실제로 클래스 c라고 할 때, 우리가 지금 관측한 증거 𝐸가 나타날(또는 발생할) 확률”입니다.
p(E)
: 증거(E) 자체가 전체 데이터에서 얼마나 흔한지를 나타내는 확률(즉, 모든 클래스에 걸쳐 𝐸가 등장하는 비율).
3. Applying Bayes’ Rule to Data Science
Conditional Independence and Naïve Bayes
Two events are independent if knowing one does not give you information on the probability of the other.
여러 개의 특징(예: e1,e2,…,ek)이 클래스 c가 주어졌을 때 서로 독립이라고 가정합니다.
즉,
현실에서는 특징들 간에 상관관계가 있을 수 있지만, 분류를 간편하게 하기 위해 “나이브(단순)한 독립 가정”을 합니다.
구현 시 확률 계산
p(ei∣c)
를 구하기 위해서는, “클래스가 c였던 훈련 샘플들 중에서 특징 $ e_i$가 나타난 비율”을 계산하면 됩니다.
Naive Bayes equation
Equation 9-1. Joint probability using conditional probability
p(AB) = p(A)•p(B|A)
p(AB) = p(A)•p(B|A) = p(B)•p(A|B)
p(B|A) = p(B)•p(A|B) / p(A) = p(A|B) • p(B) / p(A)
Equation 9-2. Bayes Rule for classification
p(C = c|E) = p(E|C = c)•p(C = c)/p(E)
p(C = c): the probability that the target variable C takes on the class of interest c
-> Naïve Bayes classifier classifies a new example by estimating the probability that the example belongs to each class and reports the class with highest probability
Advantages and Disadvantages of Naïve Bayes
장점
계산이 간단하고 빠름: 각 피처가 독립이라고 가정하기 때문에, 학습에서 필요한 것은 “클래스별 피처 등장 횟수” 정도.
적은 데이터로도 학습 가능: 각 피처에 대한 조건부 확률만 추정하면 되므로, 상대적으로 훈련에 많은 데이터가 없어도 됨.
온라인 학습에 용이: 새로운 데이터가 들어올 때마다 피처 등장 횟수를 업데이트하면 되므로, 스팸 필터처럼 실시간 업데이트가 필요한 서비스에 많이 사용됨.
(Because NB is an incremental learner that can update its model one training example at a time, it does not need to reprocess all past training examples when new training data become available)
단점
피처 간 상호작용을 무시 피처가 서로 독립이 아니면, 실제 예측 확률과 오차가 생길 수 있음.
확률값의 해석 주의: 분류(순위화) 정확도는 괜찮을 수 있으나, “실제 확률값”으로 해석하기에는 왜곡이 발생할 수 있음.(Because of its simplicity and the strict independence assumptions NB is regularly used for ranking but NB should be used with caution to estimate the actual value of probability)
4. A Model of Evidence “Lift”
4.1 Lift의 개념
Lift는 분류기가 “양성(Positive) 클래스”를 얼마나 잘 골라내는지(음성보다 양성을 ‘끌어올리는’ 정도)를 정량화하는 지표입니다.
조금 달리 말하면, 선택된 하위 집단(subpopulation) 내에서 양성 클래스가 얼마나 더 많이(혹은 적게) 나타나는지를, 전체 모집단 대비로 비교한 값입니다.
4.2 예시
“호텔 예약(양성)” vs. “미예약(음성)”을 구분하는 분류기를 생각해봅시다.
전체 모집단에서의 예약률이 1%라면, 100명 중 1명이 예약을 한다는 뜻입니다.
이 분류기가 ‘예약할 가능성이 높다’고 선별해 준 상위 10명 안에 실제로 2명이 예약을 했다면, 그 하위 집단의 예약률은 20%(= 2/10)가 됩니다.
원래 1%였던 것이 20%가 되었다면, Lift는 약 20(=20% / 1%)이 됩니다.
즉, “전체 대비 20배 높은 예약률로 양성을 모았다”는 의미입니다.
문제에서처럼 “선택된 인구집단(광고 타게팅 대상)에서 예약률이 2배로 증가했다면” → Lift는 2로 표현합니다.
즉, “E가 전체에서 얼마나 흔한지((p(E)))” 대비, “E가 클래스 c에서 나타나는 빈도((p(E∣c)))”가 어느 정도인지가 Lift를 결정짓습니다.
이 값이 1보다 크면, E가 나타났을 때 c 일 가능성이 증가(양성 쪽으로 당기는 특성), 1보다 작으면 오히려 감소(음성 쪽으로 밀어내는 특성)하는 식으로 해석할 수도 있습니다.
4.4.3 마케팅 / 광고 타게팅에서의 활용
앞선 예에서, “호텔 예약(Positive)” 클래스에 주목한다고 했을 때, p(예약∣E)가 사전확률보다 2배 높아졌다면, Lift = 2.
분류기 입장에서는 “E라는 특징을 가진 사람들은 일반 사람들보다 2배나 예약 가능성이 크니, 이들에게 광고를 집중하라”고 판단할 수 있습니다.
4.5 Lift와 나이브 베이즈
나이브 베이즈 공식을 변형하면, “특정 피처 조합이 어떻게 (사전확률 대비) 예약 가능성을 높이거나 낮추는지”를 확인할 수 있어, Evidence Lift를 분석할 수 있다.
5. Summary
Modeling techniques
Discriminative methods try directly to discriminate different targets.
What is the best way to distinguish (segment) target values?
Classification trees and linear equations both create models this way, trying to minimizing loss and entropy, which are functions of discriminability.
Generative methods attempt to model how the data were generated.
How do different targets generate feature values?
When faced with a new example to be classified, a large family of Bayesian methods applies Bayes’ Rule to their model to answer the question: “Which class most likely generate this example?”
Naïve Bayes classifier.
It is naïve in the sense that it models each feature’s effect on the target independently, so it takes no feature interactions into account.
In data science it is so simple as to be a common “baseline” method – one of the first methods to be applied to any new problem.
Bayesian reasoning with independence assumptions can allow us to compute “evidence lifts” to examine large numbers of possible pieces of evidence for or against a conclusion.