본문 바로가기
강의필기/데이터사이언스

[데이터사이언스] 나이브베이즈, 의사결정나무, 비계층적 군집분석

by shine2gether 2023. 4. 3.

멀티캠퍼스 데이터사이언스

 

 

나이브베이즈


Bayes 법칙에 기반한 분류 기법
Feature들이 확률적으로 독립이라는 가정
확률 기반, 완전히 확률은 아니다 -> 그래서 나이브
베이즈 정리: 사후 확률, 이벤트가 다 끝나고 거꾸로 물어봄, P(A|C)=P(C|A)P(A)/P(C)
머신러닝에서는 Conditional(조건부)을 안쓰고 likelihood(우도)를 쓴다
P(A|C)와 P(B|C)는 분모는 똑같음, 때문에 분모는 계산하지 말자 -> 확률은 아니지만 비슷 그래서 naive

Laplace Smoothing: 샘플의 갯수가 작을때 확률을 구하고 싶으면, 분모에 2를 더하고, 분자에 1을 더한다
Underflow: 확률의 값이 너무 작으면 컴퓨터가 다룰수 있는 범위를 넘어섬 -> exp, log 활용

나이브베이즈 장점: 단순, 비용이 적음, 적은 량의 데이터로도 정확도가 높음, 잡음 누락에 강함, 연속형 데이터 보다는 이산형 데이터에서 높은 성능을 보인다
나이브베이즈 단점: Feature가 독립이라는 가정 필요, 모든 특징이 동등하게 간주, 연속형 데이터가 많은경우 이상적이지 않음


의사결정나무



Decision Tree: Classification과 Regression에서 사용, if ~ then 룰 베이스로 뽑아낼수 있다
Root node, Internal node, Leaf(terminal) node -> target value

현재 보고있는 data set의 target value가 모두 같은 값을 가지고 있으면 stop
아니면 tree -> 분기, dataset -> segmentation
조각 내는 방식은 지금보다는 분류가 잘 되는 방식으로 조각내져야함, 불순도를 감소하는 방향으로 조각냄
Gini Impurity(불순도)
장점: 시각화가 쉽다, 데이터 가공이 상대적으로 쉽다, 수치형 범주형 모두 가능, 대량 데이터 처리에도 적합
단점: 휴리스틱에 근거하여 전역 최적화를 얻지 못할수 있음, 오버피팅 쉽게 발생, 자료에 따라 불안정함, 자료가 복잡하면 실행시간 급격히 증가

Information Gain(정보 획득, 종합불순도): Gini(Parents)-{p(c1)*Gini(c1)+p(c2)*Gini(c2)}
Overfitting 해결방법 -> 데이터를 더 넣어준다

Early Stopping Rule (정지규칙): Max Depth, Min Instance Per Node, Min Information Gain

Pruning(가지치기): 끝에서부터 가지치기를 해보고 성능이 괜찮으면 sub-tree를 마디로 대체, 복잡도 줄임, 자르면 데이터가 섞이지만 많은쪽으로 Label

중요 Variables: Tree 상단에서 사용(반드시는 아님), 자주 사용, 혼잡도 개선 효과가 높은 것


군집분석 개요



Unsupervised Learning: Label이 없이 데이터의 특징 만으로 패턴을 찾는 학습방법
비지도 학습 사용 이유: Label이 되지 않은 데이터가 더 확보하기 쉬움
Clustering(군집분석): 계층적, 비계층적, 유사도 기반 (distance)



비계층적 군집분석



K-means Clustering: k 군집의 갯수, 사전에 결정, k 군집을 무조건(언제나) 만들어준다
알고리즘
1.K개의 중심점을 임의로 배치한다
2.모든 자료와 K개의 중심점과의 거리를 계산하여 가장 가까운 중심점의 군집으로 할당한다
3.군집의 중심을 구한다(평균을 구한다)
4.정지 규칙에 이를때까지 2~3을 반복한다
정지규칙: 군집의 변화가 없을때, 중심점의 이동이 임계값 이하일때, Distortion(군집의 중심으로부터의 거리 제곱의 합, 작을수록 좋음)이 커지기 직전상태

최적의 k값을 찾는 방법
1.Elbow Method: 팔꿈치처럼 가파른 경사가 완만하게 변하는 지점
2.Silhouette coefficient(실루엣 계수): 실루엣 계수 값이 클때의 k 값을 선택  

K-means 장점: 언제나 Cluster가 나눠짐
K-means 단점: 전역 최적화는 장담하지 못함, 의미 없는 Cluster가 형성될 수 있음, 결과 해석 어려움, 이상값에 민감(평균으로 중심을 구하기 때문)

댓글