08. R 정형데이터 분석 04

전체 글

(1)

08. R 정형데이터 분석 04

나이브 베이지안 분류모델

성현곤

(2)

• 나이브 베이즈 모델 개요

• 나이브 베이즈 모델

• 베이즈 정리(Bayes’ Theorem)

• 라플라스 근사와 추정량

• 나이브 베이즈 모델 장단점

• 나이브 베이즈 모델 분석절차

• 실습 1: 지난 1년간 자원봉사활동 참여 여부(e1071 패키지 활용)

• 실습 2: 연속변수를 모두 요인으로 변환하여 모델링(e1071, caret 패키지 사용)

• 실습 3: 혼인상태(LaPlase 추정통계량 적용)

2

목차

(3)

나이브 베이즈 모델

• 나이브 베이지안 모델

a Supervised Machine Learning algorithm based on the Bayes Theorem

• 종속(예측) 변수가 2개 이상인 수준을 가진 명목(분류) 변수이면서 분류 예측 모델

• 설명(특징) 변수가 요인으로 분류되는 경우 보다 더 적합한 예측 모델링 기법

• 사용 예시

• 스팸 이메일 필터링과 같은 텍스트 분류

• 컴퓨터 네트워크에서 침입이나 비정상행위 탐지

• 일련의 관찰된 증상에 대한 의학적 질병 진단 등

• 왜 나이브(Naive)인가?

• 데이터의 특징(설명) 변수들이 모두 동등하게 중요하고 독립적이라는 다소 비 현실적인 가정을 하고 있기 때문임

• 예: 비가 오는 날의 예측에서 습도가 매우 중요하지만 다른 변수들과 동등하게 중요하다고 간주

나이브 베이즈 모델 개요

(4)

베이즈 정리(Bayes’ Theorem)

• 베이즈 정리(Bayes’ Theorem)

• 프랑스의 수학자이자 천문학자인 피에르 시 몽 라플라스(Laplace)가 완성

• 어떤 사건의 결과가 동시에 함께 발생할 수 없다.

• 상호배타적이고 포괄적인(mutually exclusive and exhaustive) 관계 가정

• 사건 B가 일어난 경우, 사건 A도 일어날 조건부 확률 (P(A|B))

• A의 확률은 B의 확률에 종속적이다.

• P(A∩B)는 A와 B가 동시에 발생할 확률

• P(B)는 B가 발생할 확률

• 베이즈 정리는 P(A|B)의 최대 우도추정치는 B가 발생한 모든 경우에 A가 B와 함께 발생할 확률의 비율

4

𝑃 𝐴 𝐵 = 𝑃(𝐴 ∩ 𝐵)

𝑃(𝐵) = 𝑃(𝐵 ∩ 𝐴)

𝑃(𝐵) = 𝑃(𝐵|𝐴) ∙ 𝑃(𝐴) 𝑃(𝐵)

사후확률 (Posterior probability)

우도(Likelihood) 사전확률

한계 우도 (marginal likelihood)

𝑃 스팸메일 비아그라 =𝑃(비아그라|스팸메일) ∙ 𝑃(스팸) 𝑃(비아그라)

이메일에 ‘비아그라’ 단어가 들어있을 경우, 스팸이멜로 분류될 확률

스팸

메일 ‘비아그라’ 일반메일

확률(probability), 우도(가능도, likelihood), 최대우도(maximum likelihood)

- 확률: 어떤 주어진 확률분포에서 관측값(또는 구간)이 얼마의 확률을 가지는가?

- 우도: 어떤 값이 관측되었을 때, 이 값이 어떤 확률분포에서 왔는 지에 대한 추정 확률(확률의 확률) - 최대우도: 각 관측값에 대한 총 우도의 최대가 되게 하는 분포

사후 확률은 우도 확률과 사전 확률의 곱에 비례

나이브 베이즈 모델 개요

(5)

라플라스 근사와 추정량

• 라플라스 근사(Laplace Approximation)

• 사후 분포를 근사하기 위한 방법 중의 하나

• 사후 확률 분포가 애매하지만 그 분포와 가장 비슷한 가우시안 분 포를 찾고 이를 대신 사용하는 방법

• 어떤 확률 분포에 대한 근사 분포로서 가우시안 분포를 찾는 과정

• 나이브 베이즈 공리와 라플라스 추정량

• 나이브 베이즈 확률은 조건부 확률

• 즉, 우도가 0%라면 해당 사후확률을 0으로 만들어, 다른 증거를 실질적으로 무효화하고 기각하게 됨

• 이에 대한 해결책으로 '라플라스 추정량'을 사용

• 라플라스 추정량

• 데이터 학습과정에서의 빈도표의 각 합계에 작은 숫자를 더하여 각 클래스에 대하여 발생할 확률이 0이 되지 않도록 보장하는 방

• 사건 발생 확률이 매우 희소한 행렬(빈도표)에 어느 하나도 0이 되지 않도록 설정

• 훈련 데이터셋이 아주 크다면 라플라스 추정량은 필요가 없음

𝑃 𝐴 𝐵 = 𝑃(𝐴 ∩ 𝐵)

𝑃(𝐵) = 𝑃(𝐵 ∩ 𝐴)

𝑃(𝐵) = 𝑃(𝐵|𝐴) ∙ 𝑃(𝐴) 𝑃(𝐵)

사후확률 (Posterior probability)

우도(Likelihood) 사전확률

한계 우도 (marginal likelihood) 사후 확률은 우도 확률과 사전 확률의 곱에 비례

나이브 베이즈 모델 개요

(6)

나이브 베이즈 모델 장단점

• 나이브 베이즈 알고리즘의 장단점

• 집단(수준) 분류 예측모델에서 높은 효율성을 가지고 있으나, 인공지능과 같이 오류 발생이 극도로 적어야 하는 경우 에는 적용하기 어려움

• 나이브 베이즈 알고리즘에서의 변수 변형

• 독립(특징) 변수들이 연속형인 경우에는 구간으로 적절히 나누어 이산화(discrete)하여 실행할 수 있음

이산화로 변환할 시에는 가지고 있는 연속변수의 속성에 대한 정보의 손실이 없도록 하여야 함

데이터 분포에서 자연스러운 범주 또는 절단점(cutting points)을 찾기 위하여 탐색필요

명확한 절단점이 없다면 분위값, 평균, 중위값 등을 활용하여 이산화 6

출처: 브레트 란츠 (2017) R을 활용한 머신 러닝, 에이콘(p.151)

나이브 베이즈 모델 개요

(7)

나이브 베이즈 모델 분석절차

• 나이브 베이지안 분류예측 절차

데이터 탐색 및 전처리

라벨(예측) 요인 변환

데이터 분할

학습모델링

summary(),

table(), dplyr패키지 등 as.factor(), ifelse 등

sample(), caret 패키지 등

e1071, STAN 등 패키지

예측 및 교차타당성 predict(), 이원교차표, 혼동행렬 등

• R 패키지

• E1071,

• klaR,

• Naivebayes,

• Bnclassify,

• Caret 등

(8)

연습문제 01

• 아래와 같은 내용을 활용하여 나이브 베이즈 조건부 확률 공리 로 스팸 이메일로 분류될 사후 확률을 구하라.

• 내가 받은 총 100개의 이메일 중에서 스팸메일이 10개로 분류되었고, 그 스팸 이메일 중에서 ‘비아그라'라는 단어가 발견되어진 이메일은 총 5개이다.

8

나이브 베이즈 모델 개요

(9)

연습문제 02

• 나이브 베이즈 분류 예측모델에서 라플라스 추정량을 사용하여 야 하는 이유와 사용하지 않아도 되는 경우를 설명하시오.

나이브 베이즈 모델 개요

(10)

실습 1: 자원봉사활동 참여 여부(e1071 패키지 활용)

10

데이터 탐색 및 전처리

라벨(예측) 요인 변환

데이터 분할

학습모델링

예측 및 교차타당성

(11)

실습 1: 자원봉사활동 참여 여부(e1071 패키지 활용)

데이터 탐색 및 전처리

라벨(예측) 요인 변환

데이터 분할

학습모델링

예측 및 교차타당성

(12)

실습 1: 자원봉사활동 참여 여부(e1071 패키지 활용)

12

데이터 탐색 및 전처리

라벨(예측) 요인 변환

데이터 분할

학습모델링

예측 및 교차타당성

(13)

실습 1: 자원봉사활동 참여 여부(e1071 패키지 활용)

데이터 탐색 및 전처리

요인 변환

데이터 분할

학습모델링

예측 및 교차타당성

(14)

실습 1: 자원봉사활동 참여 여부(e1071 패키지 활용)

14

데이터 탐색 및 전처리

요인 변환

데이터 분할

학습모델링

예측 및 교차타당성

(15)

실습 1: 자원봉사활동 참여 여부(e1071 패키지 활용)

데이터 탐색 및 전처리

요인 변환

데이터 분할

학습모델링

예측 및 교차타당성

(16)

실습 1: 자원봉사활동 참여 여부(e1071 패키지 활용)

16

데이터 탐색 및 전처리

요인 변환

데이터 분할

학습모델링

예측 및 교차타당성

(17)

실습 2: 연속변수를 모두 요인으로 변환하여 모델링 (e1071 caret 패키지 둘 다 사용)

데이터 탐색 및 전처리

요인 변환

데이터 분할

학습모델링

예측 및 교차타당성

(18)

실습 2: 연속변수를 모두 요인으로 변환하여 모델링 (e1071 caret 패키지 둘 다 사용)

18

데이터 탐색 및 전처리

요인 변환

데이터 분할

학습모델링

예측 및 교차타당성

(19)

실습 2: 연속변수를 모두 요인으로 변환하여 모델링 (e1071 caret 패키지 둘 다 사용)

데이터 탐색 및 전처리

요인 변환

데이터 분할

학습모델링

예측 및 교차타당성

(20)

실습 2: 연속변수를 모두 요인으로 변환하여 모델링 (e1071 caret 패키지 둘 다 사용)

20

데이터 탐색 및 전처리

요인 변환

데이터 분할

학습모델링

예측 및 교차타당성

(21)

실습 2: 연속변수를 모두 요인으로 변환하여 모델링 (e1071 caret 패키지 둘 다 사용)

데이터 탐색 및 전처리

요인 변환

데이터 분할

학습모델링

예측 및 교차타당성

(22)

실습 2: 연속변수를 모두 요인으로 변환하여 모델링 (e1071 caret 패키지 둘 다 사용)

22

데이터 탐색 및 전처리

요인 변환

데이터 분할

학습모델링

예측 및 교차타당성

(23)

실습 2: 연속변수를 모두 요인으로 변환하여 모델링 (e1071 caret 패키지 둘 다 사용)

데이터 탐색 및 전처리

요인 변환

데이터 분할

학습모델링

예측 및 교차타당성

(24)

실습3: marriage.status(LaPlase 추정통계량 적용)

24

데이터 탐색 및 전처리

요인 변환

데이터 분할

학습모델링

예측 및 교차타당성

(25)

실습3: marriage.status(LaPlase 추정통계량 적용)

데이터 탐색 및 전처리

요인 변환

데이터 분할

학습모델링

예측 및 교차타당성

(26)

실습3: marriage.status(LaPlase 추정통계량 적용)

26

데이터 탐색 및 전처리

요인 변환

데이터 분할

학습모델링

예측 및 교차타당성

(27)

연습문제 03

• 위의 결혼상태 훈련모델에서

laplace = 0.3으로 주고, laplace = 0.1과 0일 대의 결과와 비교하시오.

(28)

요약

• 나이브 베이즈 모델 개요

• 나이브 베이즈 모델

• 베이즈 정리(Bayes’ Theorem)

• 라플라스 근사와 추정량

• 나이브 베이즈 모델 장단점

• 나이브 베이즈 모델 분석절차

• 실습 1: 지난 1년간 자원봉사활동 참여 여부(e1071 패키지 활용)

• 실습 2: 연속변수를 모두 요인으로 변환하여 모델링(e1071, caret 패키지 사용)

• 실습 3: 혼인상태(LaPlace 추정통계량 적용)

(29)

• 질의와 토의(Question & Discussion)

• 이번 강의 내용을 시청하고, 실행하면서 궁금한 점이나 어려운 점에 대 하여 토의해봅시다.

• 다음 차 강의주제

• 시계열 데이터 분석

수치

Updating...

참조

Updating...

관련 주제 :