1. Joint Distribution과 Classifier
- 전체 조합의 joint distribution 를 학습한 후, 거기서 조건부 확률 P(W∣C,H)를 추출
- 조합의 수가 너무 많아진다는 문제 발생 가능!
- 예를들어 100개의 속성을 가지고 있으면 그 조합은 2^100 → 대부분의 조합은 학습 데이터에서 한 번도 관측되지 않음 → 학습이 불가능
- 그럼 어떻게 할까?
- 확률 추정을 더 똑똑하게 하기 :
1) MLE : 관측된 데이터가 가장 잘 나올 수 있도록 만드는 파라미터(θ)를 고르는 방식
2) MAP : prior까지 고려해서 가장 그럴듯한 θ를 고르는 방식
- joint distribution 표현을 간단하게 만들기 :
1) Naïve Bayes 모델
2. Conditional Independence(조건부 독립)
- Z의 값이 주어지면, X는 Y와 독립, 즉 무관하다는 의미
- 모든 Xi와 Xj가 Y를 조건으로 둘 때 서로 조건부 독립이면 :
3. Naïve Bayes Classifiers
- 모든 feature Xi들은 Y를 알면 서로 독립이다라고 가정
- 목표 : 여러 개의 입력 특성 X1,...Xn이 주여졌을 때, 어떤 클래스 Y = yk일 확률이 가장 높은가?
- Step 1 : 모든 클래스 Y=yj 에 대해 가능한 경우를 다 합쳐야 하므로 분모 정규화(Bayes rule 기반)
- Step 2 : 모든 들이 클래스 Y가 주어졌을 때 서로 독립이라고 가정
- Step 3 : 예측(test) 시에는 분모 생략 가능
4. Naive Bayes with Discrete Xi
- discrete한 입력 변수에 대해 어떻게 학습/예측할까?
1) 학습 단계 : 트레이닝 데이터를 기반으로 확률 추정(전체 데이터 중 Y=yk인 데이터 개수)
2) 각 특성 Xi의 각 값 xij에 대해 조건부 확률 추정
3) 예측 단계(Test phase) : 새 입력이 주어졌을 때, 가장 확률 높은 클래스 고르기
- Naive Bayes는 conditionally independent 가정하지만 현실에서는 대부분 성립하지 않음
- 하지만 이 가정이 틀려도 잘 동작함
5. Naïve Bayes for Text Classification
- 예시) 이메일 분류: Y = {Spam, NotSpam}, 뉴스 기사 분류, 웹페이지 분류
- 입력 X는 문서 전체! → 각 단어를 하나의 특성 Xi로 다룸
- 는 문서에서 i번째 단어, 가능한 단어 전체는 영어사전 단어 10,000개로 가정하면
- 하나의 단어 Xi는 이 10,000개 중 하나의 값을 가짐
- 문서에 1,000개의 단어가 있을 때, 확률 공간은 10,000^1000 → 모든 조합에 대해 확률을 추정 불가능
→ Naive Bayes는 단어들이 Y(문서 주제)가 주어졌을 때 서로 독립이라고 가정
→ 즉, 1000개의 단어 조합이 아니라, 각 단어별 확률 1000개만 있으면 됨!
- 각 label Y=yk에 대해 를 총 10,000 × 1000번 계산
6. Naive Bayes with Continuous Xi
- 픽셀 값이나 수치형 데이터처럼 연속된 실수값을 다룰 때의 처리 방법
- 실수값 데이터는 확률 분포로 모델링
- Gaussian Naive Bayes (GNB) : 각 특성 Xi의 분포는 정규분포(가우시안)를 따른다고 가정
- 각 클래스 k와 각 픽셀 i마다 다른 평균과 분산을 추정
- 클래스가 yk인 샘플들에 한해서, i번째 특성의 평균값 구하기
- 클래스가 yk인 샘플들에 대해서만 Xi의 분산을 계산
Regression (0) | 2025.04.18 |
---|---|
Classification(3) (0) | 2025.04.16 |
Classification(1) (0) | 2025.04.15 |
확률이론(2) (2) | 2025.04.13 |
확률이론(1) (1) | 2025.04.13 |