본문 바로가기
자격증/ADsP

[ADsP] 3.10 분류분석

by 리미와감자 2023. 2. 25.

분류분석

분류분석 : 입력데이터가 어떤 그룹에 속하는지 예측하는 데 사용되는 기법

- 대부분의 지도학습 분석에 해당

 

로지스틱 회귀분석

로지스틱 회귀분석 : 반응변수(종속변수)가 범주형인 경우에 적용되는 회귀분석 모형

- 종속변수가 성공/실패와 같이 이항변수(0, 1)로 되어있을 때 독립변수와 종속변수 간의 관계식을 이용하여 집단을 분류할 때 사용.


일반 선형 회귀분석 로지스틱 회귀분석
종속변수 연속형 변수 이산형(범주형) 변수(0, 1)
모형 탐색 방법 최소제곱법 최대우도법
모형 검정 F-test, T-test 카이제곱 Test

- odds(승산) = 성공률 / 실패율 = P / (1 P) : 성공할 확률이 실패할 확률의 몇 배인지 나타냄.

- odds ratio(승산비) = odds_a/odds_b = exp(coef)

- exp(x1)의 의미 : 나머지 변수가 주어질 때, x1이 한 단계 증가할 때마다 성공의 odds가 몇 배 증가하는지 나타냄.

 

의사결정나무

의사결정나무 : 의사 결정 규칙을 나무 구조로 나타내 전체 자료를 몇 개의 소집단으로 분류하거나 예측하는 방법

- 연속적으로 발생하는 의사결정 문제를 시각화하여 의사결정이 이뤄지는 시점과 성과를 한눈에 볼 수 있음.

 

구성요소

- 뿌리마디 : 시작 마디

- 자식마디 : 하나의 마디로부터 분리된 2개 이상의 마디

- 부모마디 : 자식마디의 상위 마디

- 끝마디 : 최종 마디. 자식마디가 없는 마디

- 중간마디 : 부모마디와 자식마디가 모두 있는 마디

- 가지 : 뿌리마디로부터 끝마디까지 연결된 마디들

- 깊이 : 뿌리마디로부터 끝마디까지의 중간마디의 수

 

특징

- 부모마디보다 자식마디의 순수도가 증가하도록 분류나무를 형성해간다. 즉 아래로 내려갈수록 불순도는 감소.

- 비정상 잡음에 민감함 없이 분류 가능

- 범주형, 수치형 변수 모두 적용 가능 : 범주형(이산형) = 분류나무, 수치형(연속형) = 회귀나무

- 과대적합 발생 가능성이 높음

 

분석 과정

- 성장(분리규칙, 정지규칙) -> 가지치기(과대적합 방지) -> 타당성 평가 -> 해석 및 예측

 

결정규칙

- 정지규칙 : 더 이상 분리가 일어나지 않고, 현재의 마디가 끝마디가 되도록 하는 규칙

- 가지치기 : 최종 노드가 너무 많으면 과대적합 가능성이 커짐. 이를 해결하기 위해 사용. 자료가 일정 수 이하일 때 분할을 정지하고 비용-복잡도 가지치기를 이용할 수 있음.

 

 

불순도 측도

1) 카이제곱 통계량 : p-값이 클수록 자식노드 내의 순수도가 높음.

2) 지니지수 : 1 - (각 범주별 수/전체)^2. 작을수록 자식노드 내의 순수도가 높음.

3) 엔트로피지수 : p=0.5일 때 이질성이 가장 큼. 작을수록 자식 노드 내의 순수도가 높음.

 

알고리즘

알고리즘 이산형 목표변수(분류나무) 연속형 목표변수(회귀나무)
CART 지니지수 분산 감소량
C5.0 엔트로피지수
CHAID 카이제곱 통계량 ANOVA F-통계량

- CART를 가장 많이 사용

- 모두 하향식 접근 방법

 

앙상블분석

앙상블분석 : 여러 개의 분류 모형을 조합하여 하나의 예측 모형을 만드는 방법

- 각 모형의 성능을 분산시키므로 과적합 감소 효과가 있음

 

종류

- Voting(보팅) : 서로 다른 여러 개의 알고리즘 분류기 사용. 각 모델의 결과를 취합하여 높은 확률로 나온 것을 최종 결정. 말 그대로 투표방식.

- Bagging(배깅) : 서로 다른 훈련 데이터 샘플(부스트랩) 자료로 같은 알고리즘 분류기에 결합. 여러 모델이 병력적으로 학습하여 그 결과를 집계하는 방식. 가지치기를 하지 않고 최대로 성장한 의사결정 나무 사용.

- Boosting(부스팅) : 예측력이 약한 모형들을 결합하여 강한 예측 모형을 만드는 방법. 여러 모델이 순차적으로 학습. 분류가 잘못된 데이터에 가중치를 부여.

- Random Forest(랜덤포레스트) : 배깅에 랜덤과정을 추가한 방법. 여러 개의 의사결정 나무를 사용하여 설명 변수의 일부분만을 고려하여 과적합 문제를 피할 수 있음.

* 부스트랩 : 주어진 자료에서 단순랜덤 복원추출을 하여 동일한 크기의 표본을 여러개 생성하는 방법. 부스트랩으로 100개의 샘플을 추출하더라도 36.8%의 샘플은 선택되지 않을 수 있음.

 

인공신경망

인공신경망 : 인간의 뇌를 기반으로 한 추론 모델

- 입력층, 은닉층, 출력층 3개의 층으로 구성

- 각 층에 뉴런(노드)이 여러개 포함되어 있음

- 각 뉴런은 가중치(weight)가 있는 링크로 연결되어 있음

- 학습 : 입력에 대한 올바른 출력이 나오도록 가중치를 조절하는 것

 

특징

- 복잡한 비선형 관계에 유용

- 이상치 잡음에 민감하게 반응하지 않음

- 결과에 대한 해석이 쉽지 않음

- 데이터를 정규화 하지 않으면 지역해(local minimum)에 빠질 수 있음

 

경사하강법(Gradient Descent) : 함수 기울기를 낮은 쪽으로 계속 이동시켜 극값에 이를 때까지 반복하는 것

 

은닉층 노드

- 은닉층 노드가 너무 많으면 과적합, 너무 적으면 Underfitting 문제 발생

- 역전파 알고리즘 : 출력층에서 입력층으로 오차 Gradient를 흘려보내면서 실제 weight를 조정하는 방법

 

활성화 함수

- 결과값을 내보낼 때 사용하는 함수로, 가중치 값을 학습할 때 에러가 적게 나도록 도움

- 풀고자하는 문제 종류에 따라 활성화 함수의 선택이 달라짐

- 종류 : 계단함수, 부호함수, 선형함수, 시그모이드 함수(0 ~ 1), softmax함수, Relu함수

- softmax함수 : 모든 logits의 합이 1이 되도록 output을 정규화. sigmoid 함수의 일반화된 형태로 결과가 다범주인 경우, 각 범주에 속할 사후 확률을 제공하는 활성화 함수

 

기울기 소실 문제

- 역전파 알고리즘이 입력층으로 갈수록 Gradient가 점차 작아져 0에 수렴하게 되면서 weight가 업데이트 되지 않는 현상

- 활성화 함수로 시그모이드 함수를 사용할 때 발생하며. Relu 등 다른 함수 사용하여 해결.

 

 

 

그 외 분류분석

KNN : 새로운 데이터에 대해 주어진 이웃의 개수(K)만큼 가까운 멤버들과 비교하여 결과를 판단하는 방법. 모형을 미리 만들지 않고, 새로운 데이터가 들어오면 계산하기 때문에 Lazy Learning이 사용됨.

 

SVM(서포트벡터기계) : 서로 다른 분류에 속한 데이터 간의 간격이 최대가 되는 선을 찾아 이를 기준으로 데이터를 분류

 

베이즈분류 모형

 

유전자 알고리즘

 

댓글