머신러닝 - 분류모델 개요

Sylen·2024년 5월 29일

Dive to Machine Learning

목록 보기
4/12
post-thumbnail

분류모델의 Loss Function

  • Regression Loss Function은 Error의 크기를 측정할 수 있으나
    Classification Loss Function은 Yes or No 두가지 밖에 없다.
    단, 클래스가 2개 이상일 순 있다.

Classification Measuring Impurity for Split

  • 순도(Homogeneity)를 최대로 증가시키는 방향
  • 불순도(Impurity)혹은 불확실성(Uncertainty)을 최소로 감소시키는 방향
  • Measuring Impurity 1 : Gini Index(Max 0.5, 0일 때 가장 잘 나누어진 것

P = proportion of cases in rectangle A that belong to class k

  • Measuring Impurity 2 : Entropy(0일 때 가장 잘 나누어진 것

i: node index, k: class index, 𝑝𝑖𝑘: probability of class k in node i

  • Measuring Impurity 3 : Misclassification Error (잘 사용하지 않음)

Binary Cross Entropy

Classification Loss Function

  • 기본적으로 Classification Model을 학습할 때 사용하는 Binary Cross Entropy

Decision Tree

개요

  • 데이터를 분석하여 이들 사이에 존재하는 패턴을 예측가능한 규칙들의 조합으로 나타냄
  • 모양이 나무와 같다고 해서 의사결정나무라고 불림
  • 질문을 던져서 대상을 좁혀나가는 스무고개 놀이와 비슷한 개념

node를 통해 모델의 Complexity를 극한으로 높일 수 있음(overfitting risk 주의)
Root node 뿌리마디
Intermediate node 중간마디
Terminal node 끝마디

Information Gain : 데이터를 Split 전 후로 불순도가 얼마나 감소했는지를 나타내는 양으로, 가장 큰 information Gain을 가지는 곳을 먼저 Split한다.

원리

Decision Tree의 Split

  • First Step은 불순도가 가장 낮은 Feature와 포인트를 찾음 -> 이 포인트가 Root Node가 됨
  • 그 후 Information Gain이 가장 큰 포인트를 찾아서 Split을 진행함
  • 무한히 Partitioning(Split)을 하게 되면 100% Purity, 0% Impurity가 됨 -> Overfitting 발생

Decision Tree Pruning

-100% Purity, 0% Impurity인 상태를 Full Tree

  • 적절한 수준에서 Terminal Node를 가지치기 해주어야함
  • Rule Extraction : 가장 중요하고 강력한 해석력을 가짐
  • Simple하지만 직관력이 있음
  • Model이 복잡해 질 수 록 해석력은 현저히 떨어지게 됨

CONFUSION MATRIX

KORPREDICT VALUEREALVALUE
TPTRUE POSITIVE참 양성POSITIVEPOSITIVE
FNFALSE NEGATIVE거짓 음성NEGATIVEPOSITIVE
FPFALSE POSITIVE거짓 양성POSITIVENEGATIVE
TNTRUE NEGATIVE참 음성NEGATIVENEGATIVE

  • ACCURACCY(정분류율) : 정확도는 직관적으로 모델 예측 성능을 나타내는 지표
  • PRECISION(정밀도) : 예측 POSITIVE중 실제도 POSITIVE를 찾아낸 비율

    미처 잡아내지 못한 개수가 많더라도 더 정확한 예측이 필요한 경우

  • RECALL(재현율) : 실제 POSITIVE중 올바르게 POSITIVE를 예측해 낸 비율

    잘못 걸러내는 비율이 높더라도 참값을 놓치는 일이 없도록 (의학, 불량)

  • SPECIFICITY(특이도) : 실제 NEGATIVE 중 올바르게 NEGATIVE를 찾아낸 비율

ENSEMBLE(앙상블)

어떤 데이터를 학습할 때, 여러 개의 모델을 조화롭게 학습 시켜 그 모델들의 예측 결과들을 이용하여 더 정확한 예측 값을 구할 수 있음

BAGGING : Reduce the Variance

  • 데이터 셋에 랜덤성 및 독립성을 부여하여 나눔

Bootstrap Aggregating

- Bootstrap : 표본에서 추가적으로 표본을 복원추출하고 각 표본에 대한 통계량을 다시 계산

  • N개의 Data가 있으면 N개를 Randomly하게 뽑아내서 새로운 Data Set을 구성함
  • Bootstrap을 진행하면 확률 상 뽑히지 못한 데이터는 36.8%가 됨

Aggregating

  • Model Result Aggregating Method 1 : Majority voting
    정답이 많이 나온걸 결론으로 도출

  • Model Result Aggregating Method 2 : Weighted voting 1
    Training Accuracy에 대한 확률에 가중치를 부여하여 결론을 도출

  • Model Result Aggregating Method 2 : Weighted voting 2
    Test Instance에 대한 확률에 가중치를 부여하여 결론을 도출

STACKING : Use another models

  • Bagging은 데이터자체가 달라지지만, Stacking은 동일한 데이터에 대해서 모델에 변화를 준 다음 Voting을 통해 결론을 도출

BOOSTING : Reduce the Bias

  • 처음 데이터에 대해 모델을 학습
  • 못 맞춘 데이터에 대해 더 잘맞출 수 있도록 데이터를 조정
  • 재학습
  • 다시 데이터의 분포를 조정하고 에러를 학습해서 더 맞출 수 있도록 학습

Decision Tree 모델의 해석

  1. 왼쪽은 True 오른쪽은 False
  2. event<=901이 False인 CASE에서 : 즉 event값이 901보다 클 때, 샘플 199개중 193이 'DEAD' 대부분 사망
  3. event<=901이 True인 Case에서, r<=0.5이 False이고, cd496<=161.5가 True일 때 48개의 samples 모두가 indicator(검열됨)
  • 즉 event<=901 | r>0.5 | cd496<=161.5 인 case는 indicator 된다고 할 수 있음
profile
AI가 재밌는 걸

0개의 댓글