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)는 랜덤모델과 비교하여 해당 모델의 성과가 얼마나 향상 되었는지를 각 등급별로 파악하는 그래프
§ 상위 등급에서 향상도가 매우 크고
§ 하위 등급으로 갈 수록 향상도가 감소
§ 일반적으로 이러한 모형을 예측력이 적절함을 의미하지만, 등급에 관계없이 향상도 차이가 없으면 모형의 예측력이 좋지 않음을 의미

댓글 10개:

  1. 유익한 글 감사합니다 앞으로도 좋은 정보 받고 싶어서 구독 신청드려요. 자주 들를게요!

    답글삭제
  2. 작성자가 댓글을 삭제했습니다.

    답글삭제
  3. 작성자가 댓글을 삭제했습니다.

    답글삭제
  4. 작성자가 댓글을 삭제했습니다.

    답글삭제
  5. 작성자가 댓글을 삭제했습니다.

    답글삭제
  6. 작성자가 댓글을 삭제했습니다.

    답글삭제
  7. 작성자가 댓글을 삭제했습니다.

    답글삭제
  8. 작성자가 댓글을 삭제했습니다.

    답글삭제
  9. 정성스러운 글 덕분에 따뜻한 시간이었어요 자주 와서 좋은 글 또 읽고 싶네요. 응원할게요!

    답글삭제
  10. 정말 정성스러운 글이네요 다음 글이 벌써 기대돼서 구독 누르고 갑니다. 응원할게요!

    답글삭제

18회 ADsP 합격 후기

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