강의 참고
https://kooc.kaist.ac.kr/machinelearning1_17/
인공지능 및 기계학습 개론Ⅰ 강좌소개 : edwith
본 강의는 기계 학습에 대한 이론적 지식을 확률, 통계, 최적화를 바탕으로 소개합니다. 이 과정에서 다양한 확률 이론 및 통계 방법론을 설명하며, 최적화 방법을 소개하고, Naiv... - KAIST 산업및
kooc.kaist.ac.kr
Dataset for optimal classifier Learning
Sky | Temp | Humid | Wind | Water | Forecst | EnjoySpt |
Sunny | Warm | Normal | Strong | Warm | Same | Yes |
Sunny | Warm | High | Strong | Warm | Same | Yes |
Rainy | Cold | High | Strong | Warm | Change | No |
Sunny | Warm | High | Strong | Cool | Change | Yes |
$$f^{*}(x) = argmax_{Y=y} P(X=x|Y=y)P(Y=y)$$
여기서 P(Y=y)는 EnjoySpt의 값이 Yes일 확률이므로 구하기 쉽다.(해당 표에서는 $\frac{3}{4}$ )
그러나 데이터 양이 많으면 P(X=x|Y=y)를 최대로 만들어주는 X는 구하기 쉽지 않다.
모든 x,y에 대해서 P(X=x|Y=y)의 파라미터 수는 $(2^{6}-1) \times 2$ 이다. (=126)
참고로 P(Y=y)는 2-1= 1개이다. (Yes, No 2가지 있지만 P(Y=y)를 알면 P(Y=n) = 1 - P(Y=y) 이므로 1개의 파라미터만 잡으면 된다.)
파라미터가 크다는 것은 그만큼 데이터셋도 많이 필요하고 많이 복잡하기 때문에 사실 좋은 것이 많이 없다. (과적합도 생길 수 있고...)
어떻게 파라미터의 개수를 줄일 수 있을까?
그 중 하나가 Naive Bayes classifier이다.
Conditional Independence (조건부 독립)
파라미터를 줄일 수 있는 방법 중 하나는 조건부 독립이다.
$x_{1}|Y=y, x_{2}|Y=y ... x_{i}|Y=y$ 가 독립이라고 가정을 하면
P(X=<$x_{1}, x_{2}, ...$> | Y=y) → $\prod_i P(X_{i} = x_{i}|Y=y)$ 이 성립한다.
$P(x_{1}|x_{2},y) = \frac{P(x_{1},x_{2}|y)}{P(x_{2}|y)} = \frac{P(x_{1}|y) \times P(x_{2}|y)}{P(x_{2}|y)} = P(x_{1}|y)$이 되는데 이는 트리모양의 형태로 나타낼 수 있다.
그러면 파라미터의 개수는 몇개일까?
x의 각각의 원소는 2가지 경우만을 나타내는데 하나의 확률값이 나오면 다른 하나는 자동적으로 나오므로
(2-1) $\times$ 6 가지이고 classify가 Yes, No 두가지 중 하나가 되므로 2를 곱해서
(2-1) $\times$ 6 $\times$ 2 가 된다. (=12가지)
이는 앞에서 나왔던 126가지에서 12가지로 확 줄어 들었음을 알 수 있다.
Naive Bayes Classifier Function
Naive Bayes Classifier Function은 다음과 같이 나타낼 수 있다.
$$ f_{NB} (x) = argmax_{Y=y} P(Y=y) \times \prod_{1 \leq i \leq d} P(X_{i} = x_{i}|Y=y)$$
Naive Bayes Classifier Function 문제점
사실 문제점은 너무 명확하다.
1. 너무나 강력한 가정
모든 X 변수들의 상관관계가 없는 조건부 독립이 된다는 것이 쉬운일이 아니다.
사실 ML, DL 몇 번 돌려봐도 알겠고, 조금만 생각해봐도 알겠지만 상관관계는 존재할 수 밖에 없다고 생각이 된다.
2. 정확하지 못한 확률 추정
사전확률과 가능도함수의 곱으로 추정하는 것이기 때문에 사전확률은 상당히 중요하다. 이에 대해서 베르누이 분포(이항분포)에서 무수히 많은 데이터가 쌓이지 않으면 적절하지 못한 사전확률을 가지고 추정할 수도 있다.
또한 평상시 많이 사용하는 MLE추정은 사전확률과 별로 연관이 없으므로 MLE보다는 MAP사용을 하는 것이 좋다. 이 또한 사전확률은 매우 중요하다.
'머신러닝' 카테고리의 다른 글
예측 모델에서도 Auto Model 기능을 쓸 수 있다!(AutoGluon) (0) | 2023.03.19 |
---|---|
[ML_Basic] Decision Boundary (0) | 2023.01.01 |
[ML_Basic] Decision Tree (의사 결정 나무) (0) | 2023.01.01 |
[ML_Basic] Rule_based machine learning (규칙 기반 기계학습) (0) | 2022.12.31 |
[ML_Basic] 베이지안 확률론 (0) | 2022.12.30 |
댓글