2018년 7월 28일 토요일

ADsP : 과목III. 데이터 분석 - 분류분석

1. 분류분석의 목적
a. 반응변수가 범주형인 경우, 새로운 자료에 대한 분류가 주목적
b. 반응변수가 연속형인 경우, 그 값을 예측하는 것이 주 목적
2. 로지스틱 회귀모형
a. 로지스틱 회귀모형이란?
- 반응변수가 범주형인 경우에 적용되는 회귀분석 모형
- 즉, 반응변수가 성공/ 실패 같이 두 가지 범주로 되어 있을 때 종속변수와 독립변수간의 관계식으로 두 집단을 분류할 수 있다.

b. 로지스틱 회귀모형이 선호되는 이유
- 독립변수에 대해 어떤 가정도 필요하지 않음
- 독릭변수가 연속형 및 이산형 모두 가능하기때문에 판별분석보다 선호됨

c. 오즈비 (Odds ratio)
- 변수가 성공 또는 실패로 구성된다면 Odds는 한 집단이 다른 집단에 비해 성공할 승산 비에 대한 측정량
- 오즈비 = 성공률/실패욜 = Pi/(1-Pi) 단, Pi는 성공률
§ 성공 가능성이 높은 경우는 1보다 크고
§ 실패 가능성이 높은 경우는 1보다 작다

d. 선형회귀분석 vs 로지스틱 회귀분석

- 최대우도추정법이란?
§ 관측값이 가정된 모집단에서 하나의 표본으로 추출된 가능성이 가장 크게 되도록 하는 회귀계수 추정방법
§ 표본의 수가 클 경우에 최대우도추정법은 안정적

일반선형 회귀분석
로지스틱 회귀분석
종속변수
연속형 변수
이산형 변수
모형 탐색 방법
최소자승법
최대우도법, 가중최소자승법
모형 검정
F검정, t검정
카이제곱 검정
e. 로지스틱 회귀분석 함수 glm()
- glm(모형, data, family="binominal")
3. 신경망 모형
a. 인공신경망 모형(ANN, Artificial Neuron Network)
- 몇 개의 층을 만들고, 층 마다 뉴런을 넣는다. 각 뉴런들은 자신에게 들어온 신호에 가중치를 주고 다음 뉴런으로 전송하는 방식
- 신경망에 입력이 주어지면 은닉층(Hidden Layer)에 도달한다.
- 은닉층의 노드는 주어진 입력에 따라 활성화된다.
- 활성화된 은닉 노드는 출력값을 계산하고 그 결과를 출력층에(Output Layer) 전달한다.
- 이 출력값이 최종 예측결과가 된다.

b. 역전파알고리즘(back-propagation algorithm)
- 인공신경망을 학습시키기 위한 가장 기본적이고 일반적인 알고리즘
- 계산적 편의성이 큼
- 오차가 본래 진행 방향과 반대 방향으로 전파되어 붙여진 이름

c. 신경망 학습 과정
- 가중치(Weight)를 조절하는 작업이다.
- 입력값과 출력값이 있을 떄, 입력값을 입력층에 준 다음, 모델의 출력값이 원하는 값과 같은지 확인한다. 같이 않다면 가중치를 조정한다.
- 가중치를 계산하는 함수를 활성함수(activation function)라 한다.
§ 결과 범위를 제한
§ 계산의 편의성 제공
§ 시그모이드함수(미분에 용이), 부호함수, 소프트맥스 함수 등

d. 은닉층 및 은닉노드 수를 정할 때 고려할 사항
- 다층신경망은 단층신경망에 비해 훈련이 어려움
- 노드가 많을수록 복잡성을 잡아내기 쉽지만, 과적합의 가능성이 높아짐
- 은닉층 노드가 너무 적으면 복잡한 의사결정 경계를 만들기 어려움
- 시그모이드 활성함수를 가지는 2개 층의 네트워크는 임의의 의사결정 경계를 모형화할 수 있음
- 출력층의 노드수는 출력 범주의 수로 결정, 입력의 수는 입력 차원의 수로 결정

e. 신경망 모형의 장점
- 변수가 많거나 입력, 출력변수가 복잡한 비선형 관계에 유용
- 잡음에 대해서도 민감하게 반응하지 않음
- 입력변수와 결과변수가 연속형이나 이산형인 경우 모두 처리가능

f. 신경망 모형의 단점
- 결과에 대한 해석이 쉽지 않음
- 최적의 모형을 도출하는 것이 상대적으로 어려움
- 데이터를 정규화하지 않으면 지역해(local minimum)에 빠질 수 있음
- 모형이 복잡하면 훈련 과정에 시간이 많이 소비

4. 의사결정나무 모형
a. 의사결정나무란?
- 의사결정 규칙을 나무(tree) 구조로 나타내어 전체 자료를 몇 개의 소집단으로 분류하거나 예측을 수행하는 분석 방법

b. 의사결정나무의 구성요소
- 뿌리마디(root node): 시작되는 마디로 자료 전체를 포함
- 자식마디(child node): 하나의 마디로부터 분리되어 나간 2개 이상의 마디
- 부모마디(parent node): 주어진 마디의 상위 마디
- 최종마디(terminal node): 자식마디가 없는 마디
- 중간마디(internal node): 부모마디와 자식마디가 있는 마디
- 가지(branch): 뿌리마디로부터 최종마디까지 연결된 마디들
- 깊이(depth): 뿌리마디부터 최종마디까지 중간 마디들의 수
- 가지분할(split): 나무의 가지를 생성하는 과정
- 가지치기(pruning): 생성된 가지를 잘라내어 모형을 단순화하는 과정

c. 과대적합
- 과대적합(Over fitting) : training set이 정확한 결과를 보여주기 위해 복잡하게 모델을 만든것.
- 과소적합(Under fitting) : 모델이 너무 간단하여 정확도가 낮은 모델을 만든것
- 과대적합의 경우 training set에 대해서는 높은 정확도를 보여주지만, 새로운 데이터가 입력되면 잘못된 결과를 예측할 수 있다.
- 과소적합의 경우 모델은 간단하지만 training set에 대해서도 정확한 결과가 나오지 않을 수 있음

d. 의사결정나무 구분
- 분류나무(classification tree)
§ 분류기준방법 : 카이제곱통계량의 p값, 지니 지수, 엔트로피 지수
§ 카이제곱통계량의 p값이 작을 수록, 지니 지수와 엔트로피 지수가 클 수록 자식노드 내의 이질성이 큼. 
§ 따라서 이 값이 작아지는 방향으로 가지분할을 수행
- 회귀나무(regression tree)
§ 분류기준방법 : F통계량의 p값, 분산의 감소량
§ F통계량의 값이 클 수록 오차변동에 비해 처리의 변동이 크다는 것을 의미하고, 자식노드간 이질성이 큼을 의미
§ 따라서 p값이 작아지는 방향으로 가지분할을 수행
§ 의사결정나무 알고리즘 분류 및 기준변수의 선택법

이산형 목표변수
연속형 목표변수
CHAID
카이제곱통계량
ANOVA F통계량
CART
지니 지수
분산 감소량
C4.5
엔트로피 지수


e. 의사결정나무 장점
- 구조가 단순하여 해석이 용이함
- 유용한 입력변수의 파악과 예측변수 간의 상호작용 및 비선형성을 고려한 분석이 가능
- 선형성, 정규성, 등분산성 등의 수학적 가정이 불필요한 비모수적 모형
- 계산 비용이 낮아 대규모의 데이터셋에서도 비교적 빠른 연산이 가능
- 수치형/ 범주형 변수를 모두 사용 가능

f. 의사결정나무 단점
- 분류 기준값의 경계선 부군의 자료값에 대해서는 오차가 큼 (비연속성)
- 로지스틱회귀와 같이 각 예측변수의 효과를 파악하기 어려움
- 새로운 자료에 대한 예측이 불안정
5. 앙상블 모형
a. 앙상블 모형이란?
- 여러 개의 분류모형에 의한 결과를 종합하여 분류의 정확도를 높이는 방법

b. 배깅(bagging)
- bootstrap appregationg의 준말
- 원 데이터 집합으로부터 크기가 같은 표본을 여러 번 단순 윔의 복원추출하여,
- 각 표본(붓스트랩 표본)에 대해 분류기(classifiers)를 생성 후 그 결과를 앙상블하는 방법
- 반복추출을 하기 때문에 데이터가 한 표본에 여러 번 추출될 수도 있고, 어떤 데이터는 추출되지 않을 수 있다.
- train data를 모집단으로 생각하고 평균예측모델을 구하기 때문에 분산을 줄이고 예측력을 향상시킬 수 있다.
- 일반적으로 과적합 모델에 사용하면 좋다.

c. 부스팅(boosting)
- 배깅의 과정과 유사하나 붓스트랩 표본을 구성하는 표본추출 과정에서 각 자료에 동일한 확률을 부여하는 것이 아니라,
- 분류가 잘못된 데이터에 더 큰 가중을 주어 표본을 추출한다.
- 잘못된 데이터에 가중치를 주는 것 외에는 배깅과 동일하다.
- 가장 많이 사용되는 알고리즘은 Adaboostiong

d. 랜덤포리스트(random forest)
- 배깅에 랜덤 과정을 추가한 것이다.
- 각 노드마다 모든 예측변수 안에서 최적의 분할을 택하는 대신 예측 변수들을 임의로 추출하고, 
- 추출된 변수 내에서 최적의 분할을 만들어가는 방법을 사용
- 랜덤포리스트는 두 가지 방법을 사용해 의사결정나무를 만든다.
§ 데이터의 일부를 복원추출로 꺼내고 해당 데이터에 대해서만 만드는 방식
§ 노드 내 데이터를 자식노드로 나누는 기준을 정할 때 전체 변수가 아니라 일부 변수만 대상으로 하여 가지를 나눌 기준을 찾는 방법
6. 서포트 벡터 머신(SVM, Support Vector Machine)
a. 서포트 벡터 머신이란?
- 서로 다른 분류에 속한 데이터 간의 간격이 최대가 되는 선을 찾아 이를 기준으로 데이터를 분류하는 모델
- 서로 유사한 그룹끼리 칸막이를 쳐서 나누는 것이다. 이 칸막이를 초평면(Hyperplane)이라고 부른다.
- 분류 및 수치 예측 등 거의 모든 학습 문제에 잘 대처할 수 있는데, 특히 패턴 인식 분야에 활용됨
- 패키지는 Kerlab, e1071이 있음

b. SVM의 장점
- 에러율이 낮음
- 결과를 해석하기 용이

c. SVM의 단점
- 튜닝 파라미터 및 커널 선택에 민감
- 이진분류(Binary Classification)에만 다룰 수 있음
7. 나이브 베이즈 분류모형(naïve Bayes classification)
a. 나이브 베이즈 분류 모형이란?
- 사후확률(일종의 조건부 결합확률)의 계산 시 조건부 독립을 가정하여 계산을 단순화한 방법으로,
- 사후확률이 큰 집단으로 새로운 데이터를 분류하게 된다.
- 베이즈정리에 기반한 방법

b. 나이브 베이즈 분류의 장점
- 지도학습 환경에서 매우 효율적으로 훈련가능
- 분류에 필요한 파라미터 추정을 위한 training data가 매우 적어도 사용 가능
- 분류가 multi-class에서 쉽고 빠르게 예측이 가능

c. 나이브 베이즈 분류의 단점
- training data에는 없고, test data에 있는 범주에서는 확률이 0으로 나타나 정상적인 예측이 불가능한 zero frequency가 됨
- 서로 확률적으로 독립이라는 가정이 위반되는 경우 오류 발생
8. 모형 평가
a. 모형 평가의 목적
- 가장 적합한 모형을 선택하기 위해 성과를 평가
- 모형의 평가를 위해 전체 자료에서 모형 구축을 위한 훈련용 데이터(training data)와 검증용 자료(test data)를 추출한다.
- 이는 주어진 데이터에서만 높은 성과를 보이는 과적합화 문제를 해결하기 위함

b. 홀드아웃(hold-out) 방법
- 주어진 원천 데이터를 랜덤하게 두 분류로 분리하여 교차검정을 실시하는 방법
- 하나는 훈련용 자료로, 하나는 성과 평가를 위한 검증용 자료로 사용
- 전체 데이터의 70%는 훈련용 자료로 사용하고, 나머지를 검증용 자료로 사용
- 검증용 자료는 분류분석 모형에는 영향을 미치지 않고 성과 측정만을 위해 사용

c. 교차검증(Cross Validation)
- 주어진 데이터를 갖고 반복적으로 성과를 측정하여 그 결과를 평균한 것으로 분류분석 모형을 평가하는 방법
- k-fold 교차검증
§ 전체 데이터를 크기가 동일한 k개의 하부집합으로 나눈다.
§ k번째 하부집합을 검증용 자료로, 나머지 k-1개의 하부집합을 훈련용 자료로 사용
§ 이를 k번 반복 측정하고 각각의 반복 측정 결과를 평균 낸 값을 최종 평가로 사용
§ 일반적으로 10-fold 교차검증이 사용

d. 붓스트랩
- 평가를 반복한다는 점에서 교차검증과 유사하나 훈련용 자료를 반복 재선정한다는 차이점이 있음.
- 즉 관측치를 한 번 이상 훈련용 자료로 사용하는 복원추출법에 기반.
- 전체 데이터의 양이 크지 않은 경우의 모형평가에 가장 적합
- 오분류표(confusion matrix)

§ TP : 실제값과 예측치 모두 True인 빈도
§ TN : 실제값과 예측치 모두 False인 빈도
§ FP : 실제값은 False 이나 True로 예측한 빈도
§ FN : 실제값은 True 이나 False로 예측한 빈도

- 오분류표를 활용한 평가 지표
매트릭
계산식
의미
Precision
정확도
TP / (TP + FP)
Y 예측된 실제로도 Y 비율
Accuracy
정분류율
TP + TN / (TP + FP + FN + TN)
전체 예측에서 옳은 예측의 비율
Recall(Sensitivity)
재현율(민감도)
TP/ (TP + FN)
실제로 Y 것들 예측이 Y 경우의 비율
Specificity
특이도
TN / (FP + TN)
실제로 N 것들 예측이 N으로 경우의 비율
FP Rate
FP / (FP + TN)
Y 아닌데 Y 예측된 비율
= 1 - Specificity
F1
2 × Precision × Recall /
(Precision + Recall)
Precision Recall 조화평균.
시스템의 성능을 하나의 수치로 표현하는 점수
0 ~ 1 사이의 값을 가짐
Kappa
Accuracy - P(e) / (1 - P(e))
평가자의 평가가 얼마나 일치하는지 평가하는
0 ~ 1 사이의 값을 가짐
- ROC 그래프(Receiver Operating Characteristic)
§ x축에는 FP Ratio(1-특이도), y축에는 민감도를 나타냄
§ 그래프의 아래 부분 면적이 넓을 수록 좋은 모형

e. 이익도표와 향상도
- 이익(gain)은 목표 범주에 속하는 개체들이 각 등급에 얼마나 분포하고 있는지를 나타내는 값.
- 해당 등급에 따라 계산된 이익값을 누적으로 연결한 도표가 이익도표
- 즉, 분류분석 모형을 사용하여 분류된 관측치가 각 등급별로 얼마나 포함되는지를 나타내는 도표
- 향상도 곡선(lift curve)는 랜덤모델과 비교하여 해당 모델의 성과가 얼마나 향상 되었는지를 각 등급별로 파악하는 그래프
§ 상위 등급에서 향상도가 매우 크고
§ 하위 등급으로 갈 수록 향상도가 감소
§ 일반적으로 이러한 모형을 예측력이 적절함을 의미하지만, 등급에 관계없이 향상도 차이가 없으면 모형의 예측력이 좋지 않음을 의미

댓글 없음:

댓글 쓰기

18회 ADsP 합격 후기

ADP도 아니고, 겨우 ADsP인데 무척 힘들게 공부했는데ㅜㅜ 결과적으로는 좋은 결과가 나와서 행복하네요! 꽤나 아슬아슬하게 합격해서 창피하긴합니다만ㅋ 합격하면 된거지 뭐 라고 생각하려구요! 언제가 될지는 모르겠습니다만, ADP도 ...