[DataMining] 바이오빅데이터와데이터마이닝 1. Classification(분류) 모델
Undergraduate lectures

[DataMining] 바이오빅데이터와데이터마이닝 1. Classification(분류) 모델

본 글은 필자가 2021년도 2학기에 변정현 교수님의 바이오빅데이터와데이터마이닝 수업을 듣고 내용 복기차 작성한 정리글입니다. 데이터 마이닝에 쓰이는 여러가지 모델들 중 대표적인 Classification, Clustering 모델을 배웠습니다. 본 글은 Classification 부분에 해당되는 모델을 모아놓았습니다.

1. Rule-based Classifier

칙: (Condition A) → y

ex. (Give Birth=no) & (Can Fly = yes) → Bird

- Coverage of a rule Coverage(r) = |A| / |D|

- Accuracy of a rule Accuracy(r) = |Ay| /|A|

1) 규칙 집합의 특성 및 장점

- 각 레코드에 오직 하나의 규칙만 적용된다.

- 모든 레코드가 최소 하나 이상의 규칙을 만족시킨다. (규칙을 하나도 만족시키지 못하는 레코드는 없다.)

 

- Pros: Highly expressive/easy to interpret, generate / can classify new instance rapidly/Performance comparable to decision tree

[순서화된 규칙 집합] 의사결정리스트

: 규칙은 우선 순위에 따라 순위가 지정 → 최상위 순위 규칙의 클래스 레이블 할당, 적용되는 규칙이 없으면 레코드에는 기본 클래스가 할당

2) 분류 규칙의 생성 방법

- 직접적 방법: 데이터로부터 직접 규칙을 생성하는 기법

- 간접적 방법: 예측모델을 먼저 생성한 후, 이 모델로부터 규칙 집합을 생성 ex. Decision Tree, Neural Network

[직접적 방법] Sequential Covering

: (순차적 커버링) 특정 클래스 영역을 커버하는 규칙들을 하나씩 순차적으로 생성하는 기법

1. 빈 규칙에서 시작

2. Learn-One-Rule 기법을 사용하여 완성 규칙 만들기

: 규칙의 정확도를 높일 수 있도록 조건을 하나씩 추가하는 방식 → 정확도가 100%에 도달하면 규칙을 완성하고 집합에 추가하는 방식

3. 규칙이 적용되는 훈련 레코드 제거

4. 정지 기준이 충족될 때까지 단계 2와 3을 반복

 

- Issue: Instance elimination based on Reduced Error Pruning(: 규칙에서 결합요소 중 하나를 제거, Pruning 전후의 오류율 비교-오류가 개선되면 그 결합을 제거)

2. Nearest Neighbor Classifier(K-NN)

- K-nearest neighbors of a record x are data points that have the k smallest distance to x

Input: 저장된 레코드 세트, 레코드 간 거리를 계산하는 Distance Metric, k값(검색할 가장 가까운 이웃의 수)

1. 다른 훈련 레코드까지의 거리 계산

2. k개의 최근접 이웃 식별

3. 가장 가까운 이웃의 클래스 레이블을 사용하여 새로운 레코드의 클래스 레이블을 결정 (가장 많은 클래스로 분류)

 

- k-NN은 반응변수가 범주형인 경우에는 분류의 목적으로, 반응변수가 연속형인 경우에는 회귀의 목적으로 사용된다.

-  [instance-based learning, Lazy learning] 중 하나  - 훈련 레코드를 사용하여 새로운 사례의 클래스 레이블 예측 (Rote-learner, Nearest Neighbor)

1) 3 Issues

- Distance metric: Compute distance between two points that determine the class from nearest neighbor list

- k값 선택: 작으면(노이즈 포인트에 민감) vs. 크면 (다른 클래스의 포인트가 포함될 수 있다.)

- Scaling issues: 거리 측정이 속성 중 하나에 의해 지배되는 것을 방지하기 위해 속성을 확장

 

 

3. Bayesian Classifier

- Pros: 고립된 노이즈 포인트/관련없는 속성에 견고

- 사후확률이 큰 집단으로 새로운 데이터를 분류, 조건부 독립의 가정이 비현실적인 측면이 있으나 계산이 간편하여 널리 이용

- Objective

각 속성 및 클래스 레이블을 랜덤 변수로 간주, 

속성 (A1, A2, ... , An)이 있는 레코드가 주어지면 

목표는 클래스 C를 예측하는 것 → 구체적으로, P(C | A1, A2, ... , An)를 최대화하는 C를 찾는 것

 

- Approach:

1. Bayes 정리를 사용하여 모든 C 값에 대한 사후확률 P(C | A1, A2, ... , An)를 계산,

P(C | A1, A2, ... , An)=P( A1, A2, ... , An |C)P(C)P(A1, A2, ... , An)

2. Choose value of C that maximizes P(C | A1, A2, ... , An) 

⇒  Equivalent to choosing value of C that maximizes P(A1, A2, ... , An | C)P(C)

결론: P(A1, A2, ... , An | C)P(C) 구하기

1) Approach: Naive Bayes Classifier

: 순수 베이즈 분류 모형은 베이즈 정리에 기반한 방법으로, 사후확률 계산시 조건부 독립을 가정하여 계산을 단순화한 방법

: 앞의 사후확률 계산을 좀 더 편하게 할 수 있도록, 클래스가 주어질 때 속성 Ai사이의 독립을 가정,

P(A1, A2, ... , An | C)

= P(A1|C)P(A2|C)..P(An|C)

= P(Cj)P(Ai|Cj)

가 최대일 경우, 새로운 점은 Cj로 분류

 

4. Support Vector Machines (SVM)

: 고차원 또는 무한 차원의 공간에서 초평면을 찾아 이를 이용하여 분류와 회귀를 수행한다.

⇒  데이터를 분리할 선형 초평면(Hyperplane) 찾기

→ 가장 가까운 훈련자료까지의 거리(margin)이 가장 큰 경우

→ Find Hyperplane that maximizes the margin

*초평면: 어떤 공간이 있을 때, 이 공간의 한 점을 통과하는 해집합 (기하학에서 초평면은 차원이 주변공간보다 하나 작은 부분 공간)

 

5. Ensemble Methods

: 여러 개의 분류모형에 의한 결과를 종합하여 분류의 정확도를 높이는 방법 (여러 개의 훈련용 데이터 집합을 만들고, 각각의 데이터 집합에서 하나의 분류기를 만들어 앙상블하는 방법) 

→ 여러 분류기에서 나온 예측을 집계(가중 투표)하여 새 레코드의 클래스 레이블을 예측

- 장점: 평균을 취함으로써 bias를 제거해준다. / 분산을 감소시킨다. / 과적합의 가능성을 줄여준다.

1) Bagging(: Bootstrap aggregating)

- 원 데이터 집합으로부터 샘플을 여러번 단순 임의 추출 → 각 bootstrap sample에 대해 분류기 생성 → 결과 앙상블

2) Boosting

- 배깅의 과정과 유사하나 bootstrap samples를 구성하는 재표본 과정에서 각 자료에 동일한 확률을 부여하는 게 아니라, 분류가 잘못된 데이터에 큰 가중(weight)을 주어 샘플을 추출

- 잘못 분류된 레코드는 가중치가 증가

- 올바르게 분류된 레코드는 가중치가 감소

3) Random Forest

: 랜덤 포레스트는 bagging에 random 과정을 추가한 방법

- 원 자료로부터 bootstrap sample을 추출하고, 각 bootstrap sample에 대해 트리를 형성해 나가는 과정은 bagging과 유사하나, 각 노드마다 모든 예측변수 안에서 최적의 분할을 선택하는 방법 대신 예측변수들을 임의로 추출하고, 추출된 변수 내에서 최적의 분할을 만들어 나가는 방법을 사용