채니의 개발일기

베이즈정리(확률모델,황금법칙) 본문

수학/통계학

베이즈정리(확률모델,황금법칙)

윤채니챈 2023. 11. 2. 17:59
728x90
반응형

예) 스팸분류 모델 

- 하나의 소프트웨어를 만들고 싶다고 가정하자.

  • 입력 : 하나의 텍스트(text)
  • 출력 : 텍스트가 특정 클랙스(스팸 혹은 햄)에 속할확률
  • 목표 : 하나의 텍스트(text) x가 스팸(spam) y일 확률 계산 

 

-> 이때 텍스트 확률변수를 X, 클래의 확률 변수를 Y라고 하자.

-> 클래스는 오직 두개만 존재한다고 가정 (y1= 햄, y2=스팸)

: "특가"라는 단어가 포함되었을때, y1 (=햄)이 나올확률과 y2(=스팸)이 나올 확률은 각각 5%,95%이다.

 

 

 


문제상황

현재 받은 메일 중 70%는 스팸메일, 30%는 정상메일이다.

스팸메일중 90%가 "대출"이라는 단어가 포함되어있다

정상메일 중 3%가 "대출"이라는 단어가 포함되어있다.

이때, "대출"이라는 단어가 들어가 있는 메일이 스팸이 확률은?

 

- 선수 지식 : 조건부 확률 P(Y|X)

 

  •  사건 X가 발생했을 때, 사건 Y가 발생할 확률을 의미 

베이즈 정리(Bayes' Theorem)

 

  • P(Y|X)를 계산할 수 있으면, 우리가 원하는 프로그램을 만들 수 있다.
  • 하지만 P(X|Y)를 직접적으로 계산하는것이 어려울때, 베이즈 정리에 기반한 방법을 이용한다.
  • 베이즈 정리 공식

- P(X) : 특정 텍스트가 나올 확률

- P(Y): 특정 클래스가 나올 확률

- P(X|Y) : 특정 클래스에서 특정 텍스트가 나올 확률

- P(Y|X): 특정 텍스트에서 특정 클래스가 나올 확률

- P(X,Y) : X와 Y가 동시에 발생할 확률

 

𝑝𝑜𝑠𝑡𝑒𝑟𝑖𝑜𝑟 ∝ 𝑙𝑖𝑘𝑒𝑙𝑖ℎ𝑜𝑜𝑑 × 𝑝𝑟𝑖𝑜𝑟

 

(** P(Y|X) = P(X|Y)P(Y) /P(X))

사전확률

- 사후확률 : 증거를 본 후 가설에 대한 확률 (= 우리가 알고 싶은 것 ) : P(Y|X)

- 가능도 : 가설 하의 증거  -> P(X|Y)

- 사전확률 : 증거를 보기 전의 가설에 대한 확률 ->P(Y)

  • 베이즈 정리 : 조건부 확률을 구하는 공식 
  • 베이즈 정리를 이용하면, 다양한 확률 문제를 해결 할 수 있다.
  • 베이즈 정리 공식 :P(A|B) =P(B|A)P(A)/P(B)

- 공식 유도 

 

 


다시 문제 해결로.. 

- 지금까지 받은 메일을 확인해보니 , 70%는 스팸메일, 30%는 정상 메일

- 스팸 메일 중에서 90%는 "대출"이라는 단어 포함 

- 정상 메일 중에서 3%는 "대출"이라는 단어 포함

- Q : 이때, "대출"이라는 단어가 들어있는 메일이 스팸 메일일 확률은? 

X = "대출"단어포함

Y 1 = 정상, Y2 = 스팸 

P(스팸) = (Y2)=  0.7

P(정상) =P(Y1) = 0.3

P(대출) = P(X) =? ->구해야할것 

P(대출|정상) = P(X|Y1) = P(Y1|X)P(X)/P(X)

P(대출|스팸) = P(X|Y2 ) = P(Y2|X)P(X)/P(X)

 

P(X) =

P(X)=P(X정상)P(정상)+P(X스팸)P(스팸)

 

P(X∣정상)은 메일이 정상일 때 "대출"이라는 단어가 포함될 확률로, 3% 또는 0.03
P(정상)은 메일이 정상일 확률로, 30% 또는 0.3

 

를 계산하면:

P(X)=(0.03⋅0.3)+(0.9⋅0.7)

P(X)=(0.009)+(0.63)

P(X)=0.639

 

 

-> 정답 :

P(스팸|대출) = P(대출|스팸)P(스팸)/P(대출) =0.9*07/0639

 

 


확률모델

 

- 일반적인 분류모델 P(y|x)은 다음과 같은 공식으로 예측결과 ŷ를 계산한다.

- 이모델은 조건부확률 P(y|x)를 사용하여 주어진 입력 x가 주어졌을때 가능한 각 결과 y를 추정한다.

 

ŷ = argmaxy P(y|x)

 

- 가능한 모든 클래스 중에 가장 높은 클래스를 선택 -> ex: 강아지, 새, 고양이 등의 클래스가 들어갈때, 가장 높은 값을 표현하는 y를 찾는것 

 

황금범칙(Golden Rule)

- 텍스트 x(이미지나, 텍스트나...)가 주어졌을 때, 이 텍스트는 어떤 클래스(y)로 분류될까?

- y^ = argmaxy P(y|x) = argmaxy P(y|x)P(y) = argmaxy P(y|x)P(y)

- 따라서 분모에 해당하는 P(x)는 고려하지 않아도 된다

 

 

최대 우도 추정(Maximum Likelihood Estimation)

  • 가능도(likehood)가 가장 높은 클래스를 선택하는 방법
  • x는 특징(feature)혹은 데이터를 말한다
  • x = 광고성 단어의개수("특가")등이라고 해보자
  • 현재 예시에선 x>= 5이라면 스팬으로 분로하면된다 

 - 우리는 사후확률(posterior)을 직접적으로 계산하기 어렵기 때문에 가능도를 이용한다

- 하지만 가능도만으로 사후확률을 근사할 수 없다. 

 

𝑝𝑜𝑠𝑡𝑒𝑟𝑖𝑜𝑟 ∝ 𝑙𝑖𝑘𝑒𝑙𝑖ℎ𝑜𝑜𝑑 × 𝑝𝑟𝑖𝑜𝑟

 

** P(Y|X) = P(X|Y)P(Y) /P(X)

사전확률

 

- 만약 prior가 uniform distribution을 따르지 않는다면?

728x90
반응형