교육 정보
- 교육 명: 경기미래기술학교 AI 교육
- 교육 기간: 2023.05.08 ~ 2023.10.31
- 오늘의 커리큘럼:
파이썬 기반의 머신러닝 이해와 실습 (06/14~07/07)- 강사: 양정은 강사님
- 강의 계획:
1. 개발환경세팅 - IDE, 가상환경
2. 인공지능을 위한 Python
3. KNN 구현을 위한 NumPy
4. K Nearest Neighbors Classification 구현
5. K Means Clustering Mini-project
6. Scikit-learn을 이용한 SVM의 학습
7. Decision Tree의 개념
8. ID3 Algorithm
9. Impurity Metrics - Information Gain Ratio, Gini Index
10. Decision Tree 구현
11. 확률 기초
12. Bayes 정리 예시
13. Naive Bayes Classifier
14. Gaussian Naive Bayes Classifier
→ 여기서 f(x)는 확률 밀도 값
왜 f(x)가 확률이 아니라 확률 밀도인가?
- continuous 값은 특정 값이 있을 확률을 계산할 수 있는게 아니므로 μ을 기준으로 x사이에 데이터가 들어갈 확률, 확률 밀도를 계산하게 되는것
- 어떤 값x를 정규분포에 넣었을때 계산되는 f(x)값을 바로 likelihood로 사용할 수 있음
- 확률 밀도를 likelihood로 가정하는것부터 완벽한 수학적 정의에서는 벗어난것
→ 비교를 목적으로 연산의 간편화를 위해서 정규분포의 확률밀도값을 likelihood로 사용
→ f(x) = 확률 밀도 / 확률 밀도의 적분 = 확률
예시
def make_gaussian(x, mean, std):
const = 1/np.sqrt(2*np.pi*std**2)
numerator = (x - mean)**2
denominator = 2*std**2
exp_term = np.exp(-numerator/denominator)
y = const * exp_term
return y
⋮
new_data = -0.5
prior0 = n_class0_data / n_total_data
likelihood0 = make_gaussian(new_data, mean0, std0)
posterior0 = prior0 * likelihood0
prior1 = n_class1_data / n_total_data
likelihood1 = make_gaussian(new_data, mean1, std1)
posterior1 = prior1 * likelihood1
기타 사항 노션에 백업함