| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
- 웹폰트
- EC2
- DOMAPI
- 명령어
- 질의확장
- Mac konlpy
- 벡터
- 파이썬
- R
- DOM
- 매일영어습관
- 노마쌤과 즐거운 영어 습관
- HTML
- 인덱스
- 자기지도학습
- 클러스터링기법
- Filter
- 정수인코딩
- NLP
- 함수
- 노트list
- 유의수준
- 신뢰구간
- Ajax
- CSS
- Ajax프레임워크
- 행렬
- 프로토콜
- 노마쌤
- JS
- Today
- Total
채니의 개발일기
베이즈정리(확률모델,황금법칙) 본문
예) 스팸분류 모델
- 하나의 소프트웨어를 만들고 싶다고 가정하자.
- 입력 : 하나의 텍스트(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을 따르지 않는다면?
'수학 > 통계학' 카테고리의 다른 글
| 독립, 배반, 종속, 다변수확률변수 (1) | 2023.10.01 |
|---|---|
| 독립변수와 종속변수 (0) | 2023.09.30 |
| 구간추정하기:신뢰구간 (0) | 2023.08.02 |
| 통계적 의사결정 (0) | 2023.07.23 |
| 데이터분포 탐색하기 (분포의 치우침, 왜도,첨도) (0) | 2023.07.23 |