Baye’s Classification Methods
n Statistical classifiers(통계적 분류기) : 주어진 데이터가 특정 클래스에 속하는지를 확률을 구해서
어떤 클래스에 속하는지 예측한다.
n 베이즈 이론에 기본을 두고 있다.
n 나이브 베이지안 분류기 같은 것은 특정 영역에서 의사결정 트리나(Decision Tree) 신경망 분류기(neural network classifier) 보다 성능이 좋다.
n 큰 데이터 베이스에서 높은 정확도 와 속도를 보여준다.
1. Baye’s Theorem
① X : data tuple , n개의 Attribute들로 이루어 져있다.( evidence라고도 한다.)
② H : Hypothesis(가정) , data tuple X 가 명세화된 클래스 C에 속한다는 가정
③ P(H|X) : X의 Attribute Description이 주어졌을 때, tuple X가 클래스 C 에 속할 확률
n Posterior probability (사후확률) : X라는 조건에 H의 사후 확률이다. 즉 어떤 일이 발생한 후에 그것(X)이 H라는 클래스에 들어 있을 확률이다.
n 예를 들어서, 고객이 age와 income으로만으로 이루어졌고 각각 35살 4만불의 수입수입이라고 가정해보자, H는 우리의 고객이 컴퓨터를 산다는 가정이다. 그러면 P(H|X)는 이미 고객의 나이와 수입을 아는 X 에 대해서 우리의 컴퓨터를 살 확률이다.
n 다른 예, 유방암 진단을 받은 사람(X)이 정말로 유방암(H) 인지를 확인하는 데에서도 사용이 가능하다. 유방암이 아닌데도 유방암으로 진단이 나올 수가 있기도 하고(11프로정도나 된다), 진단할 때도 신뢰도가 75프로 정도 밖에 수준이 안된다.
④ P(H) : 고객의 정보에 무관하게 모든 X 에 대해서 컴퓨터를 살(H) 확률
n Prior probability (사전확률) : 사전 확률은 해당 일이 발생하기 전에 예측하는 것을 의미한다.
⑤ P(X|H): H라는 조건에서의 X의 확률
n 사후확률
n 고객이 컴퓨터를 사는 것을 알 때, 35살 4만불수입의 고객 X의 확률이다.
⑥ P(X) : 고객 X가 35살 4만불 수입인 확률
n Prior probability
⑦ Baye’s Theorem
n 여기서 P(H),P(X|H),P(X)는 주어진 데이터에서 추정한다.
n
2. 베이즈 이론 예제
n 한 회사의 휴대폰이 불량일 확률은 0.1%, 불량 중에서 배터리 오작동을 일으킬 확률은 40%, 한 대리점에서 배터리 오작동이 10% 이때 이 대리점에서 배터리가 오작동 한 것 중에서 진짜 불량은?
Ø (H) =0.001 , P(X|H)=0.4 , P(X)=0.1
Ø P(H|X)=0.001 * 0.4 / 0.1 = 0.004
Ø 즉, 배터리 오작동 중에서 휴대폰 불량일 확률은 0.4%이다
n 40대 여성이 유방암에 걸릴 확률이 1.4% 이고 유방암환자가 진단으로 양성이 나올 확률이 75%이다. 유방암 환자가 아닌 사람이 유방암으로 진단될 확률은 11%일때 유방암 진단을 받은 사람이 진짜 유방암일 확률은?
Ø P(H) =0.014 , P(X|H)=0.75, P(X)=0.11896
Ø P(X)는 유방암에 걸렸는데 양성으로 나올확률(0.014*0.75)와 유방암에 걸리지 않았는데 양성으로 나 올 확률(0.986 * 0.11)을 더한 값이 된다.
Ø P(H|X)= 0.75 * 0.014/ 0.11896 = 약 0.0882
Ø 즉, 유방암 진단을 받았더라도 실제로 유방암일 확률은 8프로이다
3. Naive Bayesian Classification
① D는 n-차원 속성 벡터로 이루어진 튜플(tuple)의 데이터 셋이다.
② m 개의 클래스가 존재한다고 가정할 때, 분류기는 X 가 어느 클래스에 속하는지 예측하게 된다.
n
n 따라서 왼쪽에 있는 것이 최대화 되는 것을 찾으면 된다. 이것은 maximum posteriori hypothesis 라고 한다.
n 베이즈 정리에 의해서 아래의 식으로 계산이 된다
n
③ P(X)는 모든 클래스에서 동일한 값을 갖기 때문에 이 분모는 무시하고 분모가 최대가 되는 것을 찾으면 된다. 만약 P(H)(클래스 사전확률)가 알려지지 않았다면 모든 클래스 확률은 동일하다고 가정해서 가 최대화하면 된다.
④ 주어진 속성들이 많다면 를 계산하는데 엄청난 비용이 소모가 된다. 이것을 줄이기 위해서 class-conditional independence(클래스 조건 독립)의 개념을 사용한다. 즉 속성간에는 서로 독립적이어서 영향을 주지 않는다고 가정한다
n 여러 개의 속성에 대한 는 아래와 같이 계산이 된다.
n
n 즉 각각의 속성들이 클래스에 속하는 확률의 곱이다.
n 만약 속성이 범주형 타입(categorical) 이라면 해당 데이터 셋에 존재할 수 있는 확률을 구하면 된다.
n 만약 속성이 연속성 데이터 타입(continuous-value) 이라면 분산과 표준편차를 이용해야한다.
n 의 식으로 구할 수가 있는데, 각각 입력데이터, 현재 클래스에 속한 데이터들에 평균, 현재 클래스에 속한 데이터들의 표준편차 이다. (가우시안(정규) 밀도 함수)
n 이것은 실제로 이렇게 계산이 된다.
n 만약 X=(35살,4만불)이고 나이가 연속성이라고 가정할 때, 평균이 38이고 표준편차가 12라고 하면 해당 확률은 (38-12)~(38+12)에 속하는 것을 구하면 된다.
⑤
를 만족하는 것을 구해주면 된다. 즉 가 최대가 되는 클래스가 최종적인 예측 클래스가 된다.
4. 나이브 베이즈 분류기 예제
①
② 위의 D 에서 아래의 조건은 만족하는 X 가 어느 클래스에 속하는지를 구해보자
③
④ 에서 최대가 되는 것을 찾으면 된다.
⑤ 는
⑥
⑦ 따라서
⑧ 마지막으로 위의 구한 값에 각각 를 곱하면
⑨
⑩ 즉, X는 컴퓨터를 사는 것으로 분류가 가능하다.
5. Laplacian correction or Laplace estimator
n 를 계산할 때 각각 속성이 해당 클래스에 속하는 확률을 곱을 구하는 과정에서 하나라도 0이면 전체값이 0으로 되기 때문에 예측을 하는데에 문제가 발생을 한다.
n
n 이문제를 해결하려면 Laplacian correction을 이용하면 된다. 즉, 우리가 다루는 데이터 셋은 상당히 크므로 그 데이터 셋에 몇 개의 데이터가 추가되도 결과에 크게 영향을 미치지 않으므로 확률이 0이 되지 않게 튜플을 주가해준다.
6. Laplacian correction 예제
n 위의 예제에서 1000개의 튜플이 있고 income이 low인 사람은 0명, medium은 990명, high는 10명이 있다고 가정하자
n Laplacian correction을 사용하지 않으면 9,0.990,0.010이 된다.
n 여기에서 Laplacian correction을 적용해서 각각에 하나씩 추가를 하면
n
이 되며 0값이 없어지게 된다.
참고문헌:Data Mining Concepts and Techniques, 3rd Edition, Jiawei Han & Micheline Kamber
저작권 문제가 발생시 삭제될 수 있습니다.
'데이터마이닝 > Basic Concepts' 카테고리의 다른 글
[빅데이터] 6. Bayesian Belief Networks (1) | 2015.06.19 |
---|---|
[빅데이터] 4. Data Generalization by Attribute-Oriented Induction (0) | 2015.06.18 |
[빅데이터] 3. Data Transformation and Data Discretization (0) | 2015.06.18 |
[빅데이터] 2. Measuring Data Similarity and Dissimilarity (0) | 2015.04.22 |
[빅데이터] 1. Data Object and Attribute Types (0) | 2015.04.15 |